mac(os x)开发应该有着什么样的学习曲线?

想学习mac开发(开发mac应用程序,非ios开发,也非用mac电脑开发其它平台应用),该如何入手? 本人安卓程序员,无obj-c/ios开发基础
关注者
125
被浏览
46,810

3 个回答

本人对Mac桌面应用(非游戏类)经验较少,这里给出几条建议:


1.开发Mac桌面应用有不少路径:除了使用苹果官方的Cocoa(Objective-C或者Swift)框架外,据我所知,还有QT(使用C++语言编写,跨平台)、NWjs(利用node-webkit) nwjs.io .(当然还有很多,Corana刚刚推出支持桌面的版本,使用lua语言开发,PyQt也是跨平台桌面开发,使用Python结合QT,atom编辑器就是用另一种web框架写的),对了,Java也是可以写跨平台桌面程序的。

2.上面只是提供几种思路,如果你打算使用Apple官方的SDK开发的话,你得学习Objective-C或者Swift(建议学Swift,毕竟你是初学者,而且Swift是趋势,不过有时间也要看看Objective-C),在Xcode这款强大的IDE上开发,不过JetBrains也推出了开发iOS/Mac OS的工具AppCode。

由于国内的书籍、视频等各种媒介的教材基本上是谈及iOS设备开发的,很少有Mac OS方面的教程,所以只好求助于英文教材,虽然Apple文档比较有参考价值,但是初学者最好刚开始了解一款Mac OS应用的开发过程,然后再去查阅文档。

这里推荐几个国外网站哈:

it-ebooks.info 免费的电子书下载网站,当初我就是看上面的电子书入门的


safaribooksonline.com/ 强大的电子书网站,内容超新

当然,还有其它的网站啊,博客啊,这个用度妹、谷哥即可。


谈一下桌面应用的构造:

1.GUI涉及的内容比较多:研究下一个桌面程序就知道了,菜单栏、工具栏、工作区等。Xcode中可以直接拖拽控件,或者直接Coding。这部分布局很重要,可以参考Java的Swing或者AWT。

2.逻辑代码:按钮点击响应代码,网络,线程都是要设计到的知识。


学习的方法根据自己实际情况,刚开始可能会不适应,慢慢就好。可以到Github、Sourceforge、Google code上下几个工程源码看看。祝你学习愉快,早日踏上Mac OS开发队伍上来。

简单来说

选择IDE:Xcode

选择语言:Swift(基本上手就好,不要研究过深);

选择原生框架:AppKit,从UI 开始写起比较直观;


新的框架 SwiftUI 值得进一步学习,但也需要使用到 AppKit;


纯新手适合找一个视频看,更好熟悉编译器、开发思维等;书籍适合补充概念,深入细节,一上来就读书容易放弃。


更多资料可查看:



Mac 开发目前还是个小众领域;

跨平台等技术方案很多,易用性、兼容性、社区活跃环境都存在问题;

内容、步骤从简,比较容易做到。

为什么?