首页 > 代码库 > Swift还是Objective-C,这是个问题
Swift还是Objective-C,这是个问题
苹果在2014WWDC上发布了新编程语言Swift,并宣称其快速、现代、安全、互动,且全面优于Objective-C,将在未来改变我们编写iOS和Mac应用的方式。但面对这门全新的编程语言,新入行者对学习Swift还是有些疑惑和纠结。
Swift用来撰写OS X和iOS应用程序,可与Object-C共同运行于MAC OS和iOS平台,改变了Obejective-C复杂的语法,更加简单易用、有未来,让许多开发者心动不已,Swift明显的特点有:
1、为苹果开发工具带来了Xcode Playgrounds功能,该功能提供强大的互动效果,能让Swift源代码在撰写过程中实时显示出其运行结果;
2、基于C和Objective-C,而却没有C的一些兼容约束;
3、采用了安全的编程模式;
4、界面基于Cocoa和Cocoa Touch框架;
5、保留了Smalltalk的动态特性。
当然,Swift的更多优点在于细节处理上,比如提供类型推导、泛型、集合可变性、字符串比较等等,熟悉Objective-C的开发者都能明显感受到Swift的优胜之处,小编就不在此班门弄斧了。
但关于学习Swift,不少开发者还是有些迷惑,Amit Bijlani给出了自己的见解,供大家参考。
编程新手也可直接学Swift,无需先学Objective-C
Swift是一个全新的语言,与Objective-C或C都没有主从关系,就是说它们都是编程语言并且遵守一些基础概念和范例,但是开发者并不需要在学习其中一个之前先学另一个。编程新手也可以直接学习苹果发布的官方的Swift文档,而无需先学Objective-C。
正在学习Objective-C是否转为学Swift要视情况而定
1、如果你把学习iOS当做一个爱好或者出于好奇心才学,那么转到Swift学习上吧。
2、如果你把从事iOS开发视为职业,那么你要知道外面至少有100万个应用都是用Objective-C编写的,Swift于2014年才刚刚发布,所以你将来的职业的app开发仍然很有可能使用Objective-C。因此你需要学习Objective-C来获得一个工作,直到Swift成为标准,这大概将花费数年时间。
3、同时学习两门语言也将对你有好处。你未来的上司甚至可能会让你来将现存的Objective-C app切换到Swift上。Amit Bijlani对此观点有所保留,他认为一个应用最重要的部分是它的功能而非它使用的语言,因此重写现有app的做法可能不会流行。
学习Swift的好处
1、playground让Swift变得容易学会,一旦你学过了Swift,如果将iOS开发视为职业的话,也更容易理解、学习Objective-C。
2、Swift是一种现代语言,如果你学习Swift,意味着也同时做好了面向未来的准备,因为Swift将是新一代的应用所用的语言(包括Apple Watch上的应用)。
3、世界上还没有5年经验的Swift开发者,但如果你现在开始学习Swift,那么过了5年你就将成为其中一位。
关于这门汲取了Objective-C、Rust、Haskell、Ruby、Python、C#以及CLU等编程语言精华的新语言,现在已经有了许多教程、DEMO等资源,开发者可以通过各种渠道进行学习。
关于是否学习Swift各方观点也都是一家之言、仅供借鉴,苹果官方称:Objective-C不会消失,Swift和Objective-C可同时用于Cocoa和CocoaTouch开发。但苹果似乎鼓励开发者使用Swift进行新的开发,可能在未来的框架和API开发中减少使用Objective-C语言,甚至弃用。总之有备无患、保持领先是没错的,so,从现在开始学习吧。
文章部分内容参考自DevStore
Swift还是Objective-C,这是个问题