鞋子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 /英語不太好。顯然,針對某人的宗教,種族,種族,性別認同或任何個人事物的任何其他反社會評論都不會在矮胖的巴肯土地上容忍!如果社區成員覺得您的評論在任何項目領域(代碼,問題,聊天室,郵件列表)中都不合時宜,他們會讓您知道如何根據我們的行為守則改進。
底線是:與鞋子玩得開心!
如果您想了解鞋子的最新情況,可以在各個地方找到我們:
想與鞋子社區取得聯繫嗎?那太棒了!您可以在這裡取得聯繫:
但是,我們試圖在此存儲庫/它的問題中進行大多數討論,以便每個人都可以看到它們並查找它們。