使用使用Javascript开发开发OSX应用程序应用程序
OS X Yosemite为Automation引入了Javascript的支持。这让在原生OS X框架中使用Javascript成为可能。过去一段时间我一
直在探索这个新领域,并收集了一些示例。在这篇文章里我想解释一下基本用法并且搭建一个小的示例应用。
WWDC 2014包含一个Javascript for Automation的 session。这个session讲明了在automate应用里可以用Javascript代替
AppleScript来进行开发。这本身就是一个激 动人心的消息。使用AppleScript来自动化重复性任务已经存在很长时间了。
AppleScript写起来并不是特别舒服,所以能够使用类似的语法 来代替还是很受欢迎的。
在session里演讲者还解释了Objective-C bridge,这让整个事情开始变得特别酷。bridge允许你导入任何Objective-C框架到JS
应用里。比如,如果你想搭建一个使用标准OS X控件的GUI时,你可以导入Cocoa:
ObjC.import("Cocoa");
Foundation框架则和它的名字一样,给OS X应用提供基础构件。它包含大量的类和接口,比如NSArray、NSURL、
NSUserNotification等等。可能你对这些类还不是太熟悉, 但从名字你可以猜出它们代表的意思。由于它是如此重要,你无需
在开发中导入它,因为它已经默认包含在里面了。
从我目前了解的情况看,任何能用Objective-C和Swift开发的程序,你都能用Javascript来开发。
开发一个示例程序
注意:你需要Yosemite Developer Preview 7+来保证示例能够正常运行。
了解Javascript for Automation的最好办法是投入进去,并开始用它来开发一些东西。这里我将演示如何创建一个小程序,能
让你从电脑中选择一张图片并显示。
可以从我的示例程序仓库里下载完整的代码。
我们创建的应用的一张截图
这个程序包括一个窗口,文字标签,文字输入框,以及按钮。对应的类名则是:NSWindow,NSTextField,NSTextField以及
NSButton。
点击Choose an Image按钮将显示一个NSOpenPanel来让你选择文件。我们将设置选择面板限制它只能从.jpg/.png/.gif里挑选
文件。