我精通C ++,Java和Python,并且在给予足够时间的情况下几乎可以获得任何其他技能(毫不奇怪,我确信99.9%的人阅读此内容具有相同的能力)。
我对Mac OS X的小应用程序有一个想法,我想知道我应该采用什么技术/学习如何使它运行起来。我需要一些最小的OS X集成才能正确完成。
我认为我应该在Cocoa中使用Objective-C,但如果可以使用某些Java库来完成,我宁愿这样做。
我的Mac OS X应用程序将执行以下操作:
您会推荐哪些技术?
答案 0 :(得分:4)
我的Mac OS X应用程序将执行以下操作:
- 无论活动(聚焦)应用程序如何,都能拦截所有键盘和鼠标输入,并选择阻止它(有效禁用输入)或接收某些键盘快捷键。
拥有Mac OS X菜单栏项目(位于电池,网络适配器等旁边的屏幕右上角)
能够有时占据整个屏幕(使用一些OpenGL画布来显示动画,就像屏幕保护程序一样)
任何NSView都可以do this,但对于OpenGL,您需要具体NSOpenGLView。
除了通常的全屏方法之外,您可能更愿意将视图放在window the screen-saver level处。尝试两种方式,看看哪种方式最适合你。
有声音。
答案 1 :(得分:2)
如果您精通基于C语言,Cocoa是一个很好的起点,可能是您描述的任务最简单的。从这里开始可可:http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/Introduction/Introduction.html
Python也有一些很好的支持,你可以在这里找到可能包含你需要的模块:http://docs.python.org/library/mac.html
如果你更喜欢Java,我会在这里开始寻找你需要的功能:http://developer.apple.com/mac/library/documentation/Java/Conceptual/Java14Development/05-CoreJavaAPIs/CoreJavaAPIs.html
我不确定要推荐哪一个,我可以说cocoa可能会对您可能需要的任何集成提供最好的支持。
答案 2 :(得分:1)
这开头是一个评论,但是太大了。
我认为你可以用Java完成大部分工作 - 例如,菜单图标可以通过SystemTray API完成,它将它们放在Windows或OS X上的相关位置。之前的具体答案是:{{3 }}
关键问题是Java是否具有从操作系统中获取“原始”事件的API,或者仅在关注应用程序时才使用。例如,标准KeyListener链接到具有焦点的组件。
但是,考虑到应用程序的性质,我建议使用Cocoa。这也允许您使用Core Animation(比Quartz / OpenGL更高级别的抽象)。