用Ruby进行快速GUI程序开发 (IronRuby + SharpDevelop)

Ruby本身是门强大和灵活的语言,这个自不必多说。Ruby中有许多GUI框架的绑定,比如:QtRuby,wxRuby,FXRuby等等。利 用这些框架,用Ruby来写简单GUI程序是十分方便的。但是如果一旦界面过于复杂,用Ruby来手写GUI的生成代码,那可就是一个辛苦的纯体力活啦。

 

如果有个GUI 设计器(GUI Designer)的话,并且能生成相应的Ruby代码,那就方便多啦。

随着IronRuby1.0的正式发布,赋予了Ruby访问.NET Framework的能力,也就是说我们和C#一样,可以开发基于 WinForms的GUI程序啦。但是也同样面临用手写GUI的生成代码,因为IronRuby并没有提供一个GUI Designer。

还好,我们有SharpDevelop(可以从它的主页下载,我用的是4.0 beta).它提供了对IronRuby和IronPython的 GUI Designer 的支持。这样就可以方便的是用动态语言进行GUI开发啦。省心省力啊!

步骤一:用SharpDevelop 创建一个Ruby工程


步骤二: SharpDevelop 自动会生成相关文件,你可以编辑代码


步骤三: 利用 SharpDevelop 提供的GUI Designer 进行GUI设计(多么熟悉界面啊,工具箱和属性对话框)

 

步骤四: 我们可以把大部分精力放在程序的逻辑上,界面部分就利用GUI Designer方便的处理吧。呵呵

 

好了,这次先介绍到这里。另外有一点需要注意,SharpDevelop生成的Ruby代码,在使用内嵌资源的时候,还需要做一些特殊处理才能正确 运行(不使用内嵌资源的Ruby程序是没问题的)。我们会在下一篇说说这个问题。

ShenmeGUI是一套受Shoes启发而诞生的GUI工具,拥有相似的DSL语法,使用HTML构建界面,并实现了前后端数据的双向绑定,可以便捷地实现一些轻量的GUI应用。安装执行 gem install shenmegui 。示例代码require 'shenmegui' ShenmeGUI.app do   form(title: 'Your Application') do     button('alert').onclick do       alert 'Hello World!'     end     button('open an image').onclick do       path = get_open_file_name       @t.text = path       @i.src = path     end     stack do       label 'image path:'       @t = textarea '', width: '100%'     end     @i = image "http://7jpqbr.com1.z0.glb.clouddn.com/bw-2014-06-19.jpg"     @p = progress(75)     button(' ').onclick { @p.percent  = 5 }     button('-').onclick { @p.percent -= 5 }   end end ShenmeGUI.start!将会产生如图所示的界面:如未自动打开浏览器,可手动打开程序代码同目录的index.html。button定义按钮,并通过onclick绑定上了点击事件。第一个按钮弹出一个对话框,第二个按钮弹出一个打开文件的对话框,将文件路径写到下方定义的textarea里,并改变image的src以显示这个图片。下方的两个按钮演示了进度条的增减。系统需求Ruby版本大于等于2.0.0。因为前后端通讯使用了websocket,所以需要使用支持websocket的浏览器。目前打开文件对话框只实现了windows版本,在Linux等使用会出错,以后会尝试在其他系统实现,除此之外对系统没有要求。 标签:ShenmeGUI  GUI开发框架
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值