Applescript的替代方案?

Applescript的替代方案?,applescript,Applescript,在编写Mac的脚本时,是否有其他方法可以替代Applescript?它的API看起来很棒,但从我到目前为止所读到的内容来看,该语言本身似乎更面向非程序员 深入了解这一点将大有裨益 (目前,我正在考虑为Mac编写一个平铺窗口管理器。 是的,我知道存在一些,但这将是开源的。 是的,我知道Xmonad,但它只支持X11 windows。) 谢谢 在编写Mac的脚本时,是否有其他方法可以替代Applescript 这取决于你想做什么。如果要将Apple事件发送到其他应用程序,请选择“是”;对于从OSA感

在编写Mac的脚本时,是否有其他方法可以替代Applescript?它的API看起来很棒,但从我到目前为止所读到的内容来看,该语言本身似乎更面向非程序员

深入了解这一点将大有裨益

(目前,我正在考虑为Mac编写一个平铺窗口管理器。 是的,我知道存在一些,但这将是开源的。 是的,我知道Xmonad,但它只支持X11 windows。)

谢谢

在编写Mac的脚本时,是否有其他方法可以替代Applescript

这取决于你想做什么。如果要将Apple事件发送到其他应用程序,请选择“是”;对于从OSA感知的应用程序(邮件规则、文件夹操作等)运行脚本而言,实际上并非如此

最好的技术选择是(my baby),它适用于10.4+上的Python、Ruby和Objective-C。(还有一个MacRuby版本,但我还没有公开发布。)功能方面的appscript比AppleScript稍好一些,其应用程序兼容性也差不多。第三方项目,所以您需要自己安装它(但只要您有Xcode,这很容易),并且获得MIT许可,以便您可以根据需要重新分发它(例如,包括在您的应用程序包中)。相当不错的文件和文档支持,包括Matt Neuburg的一篇文章,邮件列表支持Python和Ruby版本,直接电子邮件支持其他版本

“官方”的替代方案是苹果的。API看起来很像可可粉,但实际上只是很多,最终使它的功能不如AppleScript,更容易出现应用程序兼容性问题(并且在出现问题时很难排除故障)。工具、文档和社区支持也不是很好(appscript更好;AppleScript更好)。SB的主要优点是它包含在10.5+中,因此不需要额外安装即可使用。由于它的技术缺陷,我不推荐它用于繁重的自动化工作,但对于涉及强制应用程序的适度自动化任务,它可能就足够了

其他网桥确实存在(例如Perl的Mac::Glue、RubyOSA),但它们没有那么强大、流行和/或受到积极支持


综上所述,如果您想编写任何严肃的应用程序脚本,您仍然需要学习AppleScript,因为在那里您可以找到大量的文献、示例脚本和社区专业知识。所有这些都是您需要的,因为绝大多数可编写脚本的应用程序都是众所周知的文档不足。

对于窗口平铺,辅助功能API可能是您最好的选择,可以直接使用,也可以通过AppleScriptable System Events应用程序使用。仔细查找这两方面的信息,例如:老实说,苹果试图开发一种非技术人员都能理解的语言,这使得像我这样的技术人员很难理解。做得好,appscript看起来很酷。遗憾的是,这是由于苹果不赞成使用API造成的。