鞋子4:鞋子的下一个版本
鞋子是跨平台(Mac,Windows和Linux)GUI编程的小型DSL。感觉就像是真正的红宝石,而不仅仅是另一个C ++库包装器。对于某些样品,手册和免费书籍,请访问鞋子网站。
想看看哪种鞋子是什么样的?好吧,你去!给定脚本:
Shoes . app width : 300 , height : 200 do
background lime .. blue
stack do
para "Welcome to the world of Shoes!"
button "Click me" do alert "Nice click!" end
image "http://shoesrb.com/img/shoes-icon.png" ,
margin_top : 20 , margin_left : 10
end
end这将导致以下应用程序:
由于鞋子4使用本机小部件,因此您的操作系统外观和感觉会有所不同。
回到一天的路上,有一个叫_为什么的家伙。他创建了一个名为Hackety Hack的项目,向所有人教授编程。为了到达地球的所有角落,_为什么决定在Windows,Mac OS X和Linux上使Hackety Hack工作。这是很多工作,所以_为什么决定与世界分享他的工具包。因此,鞋子诞生了。
嗨,谢谢您的检查!鞋子4处于预览阶段。目前,它几乎支持DSL的几乎所有鞋子,但仍然存在一些不受支持的斑点和已知问题。现在,我们定期将更新的预览版本发布到RubyGems,以便于安装。如果您还不太冒险,您仍然可以使用旧鞋!
有两种方法可以让您使用鞋子4-预览宝石释放并直接从Github安装。对于两者,您都需要当前的Jruby安装。
我们建议使用Jruby 9.x+,而目前的大部分测试则与9.1相比。 Jruby 1.7.x可能工作,但自4.0.0.pre6以来就未经测试。
因此,您的第一步是安装JDK(鞋子还可以与OpenJDK一起使用)和Jruby。确保为您的操作系统获取适当的Jruby版本。在Linux/Mac上,您还可以使用Ruby安装工具来安装Jruby。例如RVM:
$ rvm install jruby
JDK版本注意: Jruby版本9需要JDK版本7或8 -JDK 9尚未与Jruby一起使用,因此不适合鞋子。同样,在JDK专业版本中,请确保安装了最新更新,我们进行了更新版本可以解决错误的情况。
SWT要求:请注意,鞋子4在SWT上建造以供默认后端。这通常不关心(除了上述jruby/jdk的需求之外),因为您不必自己安装SWT。但是,这意味着我们具有SWT相同的基本系统要求。对于Linux,这意味着您需要GTK+> = 2.10或> = 3.0。此外,到目前为止,还没有手臂支撑(因为Raspberry Pi需要)。
$ gem install shoes --pre
C:tmp> jruby -S gem install shoes --pre
如果您想处于出血边缘或想贡献代码,则需要从GitHub存储库中直接安装它。
叉子存储库,克隆叉子,或
$ git clone git://github.com/shoes/shoes4.git
建立您的当地环境
$ cd shoes4
$ gem install bundler && bundle install
注意:如果您有RVM,RBENV或已安装的类似内容,则可能会抱怨您应该使用Jruby版本XX。那是因为我们将.ruby-version文件保持最新。您应该能够使用jruby版本> = 9.0.0.0运行它,但我们建议使用最新版本。
叉子存储库,克隆叉子,或
C:tmp> git clone git://github.com/shoes/shoes4.git
建立您的当地环境
C:tmp>cd shoes4
C:tmpshoes4>jruby -S gem install bundler
C:tmpshoes4>jruby -S bundle install
你准备好了!
鞋子4带有命令行应用程序跑步者。只需将其传递给鞋子应用程序的文件名即可。
$ bin/shoes samples/simple_sound.rb
注意:对于Windows, C:tmpshoes4>binshoes samplessimple_sound.rb如果您安装了鞋子4作为宝石,只需做C:tmp> shoes pathtofile.rb
使用SWT后端时,还有一个简单的Ruby启动脚本,您可能会使用以下内容:
$ bin/shoes-swt samples/simple_sound.rb
由于Jruby(JVM)需要一些其他参数,因此这在Mac上尚不正常。在这里,您可以执行以下操作(基本上是bin/shoes所做的):
$ jruby -J-XstartOnFirstThread bin/shoes-swt samples/simple_sound.rb
另一种选择是将require 'shoes'放在应用程序的顶部,然后您可以简单地做
$ jruby path/to/file.rb
在OS X上,您仍然需要向Jruby提供其他参数
$ jruby -J-XstartOnFirstThread path/to/file.rb
您可以运行rake samples ,我们相信我们正在使用的随机样品将运行,直到您使用CTR + C辞职。其中一些非常简单,而其他则更为复杂甚至游戏!如果您注意到这些样品的任何问题,请告诉我们!
通过将SHOES_USE_INSTALLED环境变量设置为真,您也可以使用已安装的鞋子( shoes命令)来运行样品而不是本地bin/shoes 。
包装只是一个婴儿,所以要温柔。
为了打包应用程序,您需要在环境中安装鞋子宝石。如果您不进行GEM安装,则可以随时生成一颗宝石并从当前来源安装它:
$ rake install:all
现在,您可以打包应用程序。但是首先,在这里看:
.gemspec或Gemfile ,则包装器可能无法正常工作。它使用莺,它总是在寻找这些文件。如果运行规格,您可能会注意到这样的警告:警告:当前不支持Bundler``路径''组件。 “鞋子4.0.0.pre1”组件没有捆绑。您的应用程序可能无法启动!
那是莺说话。实际上,无论如何,我们都偷偷摸摸地溜走了鞋子,但不知道。
好的,现在是真实的。最简单的是,将您的脚本本身放入目录中,然后将其放在目录中:
$ bin/shoes package --mac path/to/directory-of/your-shoes-app.rb
这将产生一个Mac应用程序,然后您可以在path/to/directory-of/pkg/your-shoes-app.app 。
您还可以将鞋子应用程序包装在一个罐子中:
$ bin/shoes package --jar path/to/directory-of/your-shoes-app.rb
您可以在与上面相同的目录中找到罐子,即路径/to/to/pkg/your-shoes-app.jar
如果您想要更多的控件(就像想在“鞋子应用”之外命名应用程序,或者您不想包含我们之前谈论过的所有文件),请制作一个app.yaml文件。有关更多详细信息,请参见示例。
注意:如果您使用app.yaml ,则必须自定义或评论每个选项。该示例只是一个示例;)
当您在脚本旁边有一个app.yaml文件时,您有三个选择:
$ bin/shoes package --mac path/to/directory-of/your-shoes-app.rb
$ bin/shoes package --mac path/to/directory-of/app.yaml
$ bin/shoes package --mac path/to/directory-of
包装器将使用任何这些命令找到您的说明。同样,您将在项目目录内的pkg目录中找到您的应用程序。在bin/shoes --help上了解更多信息。
哦,您也可以使用bin/shoes运行鞋子应用程序。
太棒了,谢谢!
您可以尝试解决我们的问题之一。我们已经引入了一个新的标签“新人友好”标签,以解决我们认为适合开始搭配鞋子的问题。这些问题要么相对容易完成,要么不依赖许多其他鞋子代码(例如,全新功能),因此开始更容易。请随时解决任何问题 - 如果需要,我们将为您提供帮助。标签只是一个建议! =)
另外,还有一系列已经在样本/读数中使用的样本以及所有其他样品。您可以尝试获取一个新的样本进行运行。为此,您可以运行rake non_samples来运行我们认为不起作用的随机样本。如果您只想列出非工作样本,则还可以运行rake list_non_samples 。
在您所做的所有事情中,请确保编写规格,因为鞋子4开发了TDD风格(请参见下面的运行规格部分)。因此,请确保您不会打破任何测试:-)
如果您不确定测试或实施,只需打开问题或拉动请求即可。不需要拉动请求 - 它们是很棒的讨论开始!我们很乐意帮助您准备合并的贡献,以帮助建造鞋子4!
实际上,我们非常感谢早期拉的请求来查看代码并帮助您找到鞋子4的方法! =)
如果您有疑问,也可以随意在FreeNode IRC上的#Shoes频道上浏览。人们可能不会立即做出回应,但是一段时间后有人会回应:-)
有时,这也是重构一些代码或编写一些规格以熟悉项目的好方法。如果您想尝试这种方法,则可以查看我们的代码环境,以查找用于重构的候选者,或者在本地运行规格后,将峰值达到覆盖范围目录和Open Index.html。看到未涵盖的东西,也许您可以为此编写规格?
有关如何运行规格的信息,请参阅以下部分,以前已提到:-)
鞋子4使用RSPEC以TDD样式开发。您应该编写和运行规格:)
最简单的方法是使用耙任务。
$ bundle exec rake
(尝试rake --tasks以获取完整列表)
如果您想了解其他模式的更多详细信息,以进行规格,有关如何和测试的理念,请查看Wiki中的测试鞋条目。
回到一天的路上,有一个叫_为什么的家伙。他创建了一个名为Hackety Hack的项目,向所有人教授编程。为了到达地球的所有角落,_为什么决定在Windows,Mac OS X和Linux上使Hackety Hack工作。这是很多工作,所以_为什么决定与世界分享他的工具包。因此,鞋子诞生了。
鞋子天生是为了向地球各个角落的所有人教授编程。让新的程序员或英语不好的程序员感到不好,这并不酷,因为他们的编写ruby /英语不太好。显然,针对某人的宗教,种族,种族,性别认同或任何个人事物的任何其他反社会评论都不会在矮胖的巴肯土地上容忍!如果社区成员觉得您的评论在任何项目领域(代码,问题,聊天室,邮件列表)中都不合时宜,他们会让您知道如何根据我们的行为守则改进。
底线是:与鞋子玩得开心!
如果您想了解鞋子的最新情况,可以在各个地方找到我们:
想与鞋子社区取得联系吗?那太棒了!您可以在这里取得联系:
但是,我们试图在此存储库/它的问题中进行大多数讨论,以便每个人都可以看到它们并查找它们。