1. 这是什么?
这是macruby的一个Gem,用来快速开发mac GUI应用。
2. 安装
首先安装macruby,我装的是0.11版本。然后运行sudo macgem install hotcocoa
,这个package默认是没有安装的。
3. 运行命令hotcocoa w3
,具体参考官方的指南。这里会产生一个和Rails类似的目录。
4.build。 直接编译的话会有问题:Undefined symbols for architecture i386
,产生的代码都不能用,很无语。修改gem,在这里/Library/Frameworks/MacRuby.framework/Versions/0.11/usr/lib/ruby/Gems/1.9.2/gems/hotcocoa-0.5.1/lib/hotcocoa/application_builder.rb
里面的 archs = RUBY_ARCH.include?('ppc') ? '-arch ppc' : '-arch x86_64'
,把-arch i386
去掉,现在的macruby都已经只有64bit的了。
5. 编译没问题的话就可以看到界面了。不过还没完,试试ruby的closure语法,不然妄走一趟。
02 |
application :name => "W3" do |app|
|
04 |
window :frame => [ 100 , 100 , 500 , 500 ], :title => "W3" do |win|
|
05 |
title = label( :text => "Hello from HotCocoa." , :layout => { :start => false })
|
07 |
name = text_field( :text => 'you name please' )
|
09 |
win << button( :title => 'go' ) do |b|
|
11 |
title.text = "hi," + name.stringValue
|
14 |
win.will_close { exit }
|
可以看到,比起objective-c来直观多了,想想看objective-c是怎么操作array的,痛苦。而且这里用closure的方法比用Interface Builder来建立button的事件响应要直观、简单的多,不过就要自己手工组织layout了。能否用HTML中的event bind呢?比如这样dojo.connect(‘buttonId’, “onclick”, function(){…}
这里如果把name.stringValue写成name.text,运行时会有异常:in `’: undefined method `value’ for you name please:NSTextField (NoMethodError),可以看到这里是直接访问cocoa的foundation的。macruby是基于cocoa的运行库的,比如NSString,但是当运行macrake时有个build的过程,时间有点长,难道macruby直接把ruby代码编译成二进制?打开打包好的app文件(这里为W3.app),
可以看到这里即有二进制,也有rb的源代码。可能这里的二进制文件是编译出来的,所以需要一段时间,二进制文件大概作为程序运行的入口,比如运行ruby加载rb文件,这个和有些exe结尾的可执行java程序相像。只是这样打包后coding-build-test的周期就长了,还是“刷新浏览器”的方式爽啊,当然有firebug这种工具就更爽了。
分享到:
相关推荐
轻松上手openGauss系列课程概览 本资源摘要信息将围绕轻松上手openGauss系列课程的标题、描述、标签和部分内容进行详细的知识点输出。 课程简介 轻松上手openGauss系列课程旨在帮助学习者快速掌握openGauss数据库...
[电脑局域网全面上手].电脑局域网全面上手
[电脑局域网全面上手].电脑局域网全面上手.docx
"STM32嵌入式微控制器快速上手" 是一本旨在帮助初学者快速掌握STM32开发的教程,它通过深入浅出的方式,引导读者理解和应用STM32的相关技术。 首先,STM32微控制器的特点在于其强大的处理能力、丰富的外设接口和低...
《Unity3D平台AR与VR开发快速上手》针对没有编程经验的初学者,通过详细的讲解,《Unity3D平台AR与VR开发快速上手》将Unity3D开发增强现实和虚拟现实的方法介绍给读者,《Unity3D平台AR与VR开发快速上手》使读者能够...
[电脑局域网全面上手].电脑局域网全面上手
《Python游戏编程快速上手》是一本面向初学者的编程教程,主要讲解如何利用Python语言进行游戏开发。这本书结合了理论知识与实践项目,旨在帮助读者迅速掌握Python的基础语法,并进一步提升到能够独立编写游戏的水平...
React快速上手开发 作 者 :(保)斯托扬·斯特凡诺夫(Stoyan Stefanov) 出版发行 : 北京:人民邮电出版社 , 2017.02 ISBN号 :978-7-115-44773-9 页 数 : 188 丛书名 : 图灵程序设计丛书 原书定价 : 49.00 主题...
本文档主要讲述了蜂鸟 E203 快速上手说明,有助于新手快速入门
《Python编程快速上手—让繁琐工作自动化》是一本针对初学者编写的Python教程,旨在帮助读者迅速掌握Python编程技能并运用到日常工作中,实现自动化处理任务。这本书以易懂的语言和实例驱动的教学方式,引领读者踏入...
方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 Elasticsearch ORM 框架.zip方便上手的 ...
"Python编程快速上手-让繁琐的工作自动化"是一份旨在帮助学习者掌握Python自动化技能的项目练习资料。这个项目将引导你通过一系列实践教程,提升你在日常工作中利用Python进行自动化处理的能力。 首先,了解Python...
二维码技术在现代移动设备中应用广泛,特别是在安卓平台上。它是一种快速传递信息的方式,包括网址、文本、联系人信息、电子名片、Wi-Fi配置等。本教程将带你深入理解二维码在安卓开发中的应用,以及如何轻松实现...
企业区块链上手指南
hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~...
Spring+MVC快速上手教程
[电脑局域网全面上手].电脑局域网全面上手.pdf
本文介绍了使用 EB tresos Studio 23.0.0(以下如有用到均简称为“EB” )和 MCAL 软件...及配置代码的生成等内容, 旨在帮助未使用过 EB 工具的工程师快速上手使用 EB 工具。本文档是基于NXP(恩智浦)的MCAL来讲解的。