Follow by Email

網頁

2014年5月27日 星期二

抓圖寫程式,SIKULI將改變世界

原文引用自抓圖寫程式,SIKULI將改變世界最近這幾週可謂新聞不斷歹戲拖棚?,Google沸沸揚揚地嚷著說他們要退出中國了,而另一邊蘋果也不懷好意地說他們要推出平板電腦,每一家的新聞都相當精彩。但就在這麼多商業新聞包圍之中,有一個不起眼的小新聞,是關於一個聽都沒聽過的「SIKULI」程式語言在YouTube上的示範短片。
這個短片,是由麻省理工學院MIT NEWS報導,然後在全球的程式設計師之間迅速燃燒起來,各個電腦工程師的噗浪以及Email一時之間幾乎人手一封,在極短的時間之內繞了地球好幾圈。事實上,對於許多軟體工程師來說,這段短片所帶來的震撼性,遠要比什麼平板電腦還是某某大廠進進出出中國來得重要太多了。
YouTube Preview Image
▲就是這段神奇的短片,讓許多軟體工程師驚奇不已。

前所未聞的Graphical Scripting Language

對於沒寫過程式的朋友來說,可能不明白「SIKULI」的重要性。其實小編也有十年沒有碰過程式語言了,還記得當年小編學程式語言的時候,學校流行還是像VISUAL BASIC、DELPHI這一類視覺+物件導向的程式語言工具,當時就已經覺得將軟體介面以圖形元件的方式來設計,再用物件導向語法來控制的方式算是相當神奇了。但與現在「SIKULI」這個被稱為「Graphical Scripting Language」的控制方法比起來,又是差了一大截。
在「SIKULI」中,你不用背各種複雜的物件名稱,也不用去理會母物件與子物件的從屬關係。你所需要的就是簡單的擷圖工具,把要控制的物件擷圖下來,直接放在語法編輯區中,就可以開始設計你要進行的動作了。
或許你會問,這有什麼神奇的?之前不是有很多自動化的桌面工具,可以幫我們指定要執行哪些動作,或是Photoshop中也有批次影像處理的功能,很容易就能做出很多自動化、批次的動作?
的確,如果從自動化工具的觀點來看,「SIKULI」能夠做到的事情並沒有那麼獨特,但它的獨特之處就是它用的方法。 我們知道程式語言已經是一種相當成熟的技術工具,從物件導向語言問世至今,所有程式設計師也都習慣了「程式語言就是這麼難用」,或是已經將自己催眠了說出諸如「.NET越來越好用了耶!」、「哇!DELPHI又新增了超好用的Windows API元件」這一類的對話。
在「SIKULI」出現以前,從來沒有人想過要徹底顛覆掉過去的觀念,想出一個全新有創意的程式語言撰寫方式。 了不起的就是,「SIKULI」真的做到了「創新」這一點,用擷圖取代了物件,你不需要知道Windows的API函式庫,也能控制視窗中的元件。雖然它的概念還沒發展到真的可以撰寫獨立的應用程式,目前能做的也僅僅只能當個桌面自動化工具,但它的確指出了一條路,告訴全球的程式設計師,「程式設計可以這樣走」。

絕對會大放光芒的台灣之光

最意想不到的,是後來發現「SIKULI」的發明者,是一位不折不扣的台灣人,在部落格上以VGOD為名發表過許多與程式相關的文章,目前正在MIT就學,而「SIKULI」也就是他在MIT的一個研究論文。而過去VGOD就曾經發表過幾篇「追求神乎其技的程式設計之道」,寫出了他對於程式設計的看法,也是目前少見關於程式設計方面相當誠懇的文章,讓人不由得想到「態度決定高度」這句話。
在程式設計這個領域,以往總是由國外來引導出一些方向,遊戲規則總是由別人來主導。現在,我們終於在「SIKULI」上看到由自己同胞所創造出的一個新的高度,這真是值得我們大力讚揚的啊! 最後,我們就簡單的示範一下,就算是程式白癡,也能夠用「SIKULI」在五分鐘之內完成一個應用。不懂語法?沒關係,從頭到尾你只要輸入CLICK()就好。
首先當然你必須先下載「SIKULI」,並且要在電腦安裝Java Runtime Environment (JRE)環境。之後,就可以依照下列的方法,輕鬆自訂你要進行的操作囉!

suku01 copy
▲首先在編輯區輸入”CLICK(”,然後就點選左上角的相機按鈕開始擷圖。

suku02 copy
▲大約兩秒鐘之後,你可以擷取螢幕上的任何畫面,範例後我們擷取了一個ICON。


SUKU03 copy
▲擷取完之後回到程式介面,你會在剛剛輸入”CLICK(”的右邊,出現剛剛我們擷取的按鈕畫面。在這個按鈕右邊加上”)”,這樣就輸入完一句指令。
(小編由於寫這篇教學時頭昏眼花,上一個步驟抓圖完之後,所撰寫的程式碼後來又完全改掉了,所以你會發現在這個步驟”CLICK()”中的擷圖畫面與前一張圖不同…..


SUKU04 copy
▲依照這個方法,我們實驗在Firefox中,將按下「feedy」RSS閱讀器按鈕之後進入閱覽頁面,到點選特定頻道瀏覽特定資訊的過程,拆成四個步驟,一一錄下來。

SUKU05 copy
▲最後,按下PLAY按鈕,就會自動到桌面上去執行這些動作了。

沒有留言:

張貼留言