2010-01-29 60 views
8

當涉及到腳本的Mac,有沒有替代品Applescript?它的API看起來很棒,但從迄今爲止我所閱讀的語言本身來看,似乎更多地針對非程序員。替代Applescript?

對此的見解將大有幫助。

(此刻,我想編寫一個平鋪窗口管理器爲Mac的。 是的,我知道有一些存在的,但是這將是開源的。 是的,我知道Xmonad的,但它只做X11 windows。)

謝謝!

+0

對於窗口平鋪,無障礙API可能是您最好的選擇,無論是直接還是通過AppleScriptable System Events應用程序。挖掘周圍找到兩個信息,例如:http://stackoverflow.com/questions/614185/window-move-and-resize-apis-in-os-x – has 2010-01-29 20:39:09

+0

說實話,蘋果試圖使非語言技術人員可以理解,使得像我這樣的技術人員非常難以理解。 – Michael 2017-04-30 16:44:27

回答

3

如果Ruby是你的事,你可以使用RubyOSA它允許一個使用Ruby與蘋果事件管理器進行交互:

http://rubyosa.rubyforge.org/

+0

請注意,原始的RubyOSA項目不再被主動維護或支持。我認爲github上有第三方fork,它解決了Ruby新版本的兼容性問題;也就是說,有更多的能力和可靠的替代品得到積極支持。 – has 2010-01-29 19:59:44

0

從ruby,objective-c和其他的AppleScript都有一些橋樑。

1

退房MacRuby。 Python還有一些有趣的方法(主要用於編寫插件)和TCL/TK

也許不是你描述的目的,但也有Quartz Composer,一個廣爲人知但有趣的可視化編程環境,具有很大的潛力。

14

當談到Mac的腳本,有沒有替代品的蘋果?

取決於你想要做什麼。如果你想發送Apple事件給其他應用程序,是的;用於從支持OSA的應用程序(郵件規則,文件夾操作等)運行腳本,而不是真的。

最好的技術替代方案是appscript(我的寶貝),它可用於10.4+以上的Python,Ruby和Objective-C。 (還有一個MacRuby版本,但我還沒有公開發布。)功能明智的appscript比AppleScript稍好,它的應用程序兼容性非常好。第三方項目,所以你需要自己安裝(但只要你有Xcode就足夠簡單了)和麻省理工學院許可證,這樣你就可以根據需要重新分發它(例如包含在你的應用程序包中)。相當不錯的tool和文檔支持,包括Matt Neuburg的online book,支持Python和Ruby版本的郵件列表支持以及其他版本的直接電子郵件支持。

'官方'的選擇是蘋果的Scripting Bridge。這個API看起來非常類似於Cocoa,但是這實際上只是很多smoke and mirrors,它最終使它不如AppleScript更強大,並且更容易出現應用程序兼容性問題(並且在出現問題時很難進行故障排除)。工具,文檔和社區支持也不是很好(appscript更好,AppleScript更好)。 SB的主要優勢在於它包含在10.5+中,因此無需額外安裝即可使用。由於技術上的缺陷,我不會推薦它用於重型自動化工作,但對於包含應用程序的適度自動化任務來說,這可能就足夠了。

確實存在其他橋樑(例如Perl的Mac :: Glue,RubyOSA),但它們不具備能力,受歡迎和/或主動支持。所有這一切說,如果你想做任何嚴肅的應用程序腳本,你仍然必須學習AppleScript,因爲那裏可以找到大量的文獻,示例腳本和社區專業知識。所有這些都是您所需要的,因爲絕大多數可編寫腳本的應用程序都被記錄在案。

+0

不錯的作品,appscript看起來很酷。 – 2010-01-29 23:57:54

+2

不幸的是,由於Apple棄用的API,[項目不再維護](http://appscript.sourceforge.net/status.html)。 – 2014-01-04 10:54:37