iOS开发需要知道Objective-C
当Apple发布了Swift之后,我听见人们都说:“赶快,我现在可以成为一个不用学习Objective-C的iOS开发者了。”在这里我有三个建议想给这些人们。
1.如果你想成为一个iOS开发者,你仍然需要学习Objective-C。
2.Objective-C比Swift更容易学习。
3.一旦你学习了Objective-C,学习Swift就很容易了。
在我继续之前,让我对Swift肯定作为序言,语法是可爱的。Swift编译器会捕捉到很多错误给我们,我可以肯定当大家用Swift编程的时候,APP的可靠性会大大提高。枚举的结构是极好的,Swift是迈向整个iOS和Mac OS X系统的主要的一步,但是。。。
1.如果你想成为一个iOS开发者,你仍然需要学习Objective-C。
你不可以用Swift做任何事情。举个例子,如果你想在你的应用程序中使用一个C++库,你需要告诉Objective-C你使用C++的库。Swift可以调用C函数,但我相信如果你有很多C的函数和类型,你会想用Objective-C编程的。
Objective-C的社区论坛。在StackOverflow和iOS dev 博客中有成千上万的Objective-C的片段。Objective-C在过去的六年中被我们用来描述自己是怎么样去应用Cocoa Touth库工作的。如果你不能读Objective-C,你就不能理解这知识的宝库。
The frameworks 是用Objective-C编写的。当你有一个bug,它经常不露头直到执行到Apple‘s 代码的深处。如果你想理解调试器告诉你什么,你需要了解Objective-C。
Objective-C很稳定且测试良好的。Swift看起来很好,但是这个语言还在不断的发展中,并且编译器是不成熟的。如果今年我做出了一个重大的赌注去开发一个APP,我仍然会使用Objective-C。
C是一种很简单的小语言,Objective-C是非常简单的对于C的小扩展语言。Swift拥有很多Objective-C所没有的规则(我,作为一个导师,我已经尝试着去弄清楚我将如何解释这些可选的变量和如何正确使用。)这些额外的规则意味着编译器关于良好的编程实践将会更加讲究,但是这也同时意味着,这门语言需要更长的时间去学习。
Objective-C要求编程明确。Swift语言让编译器为程序员做了更多的工作。这对程序员是非常好的,对吗?但是,这意味着当你去看一行代码的时候,如果没有对语法有深入的了解是不会看出为什么需要这么写。明确的语言是更容易让初学者理解的。
Swift有一堆结构体而Objective-C是没有的。例如,在Swift中,泛型让类型检查更好。但是它使语言变得更加的复杂。
3.一旦你学习了Objective-C,学习Swift就很容易了。
当Objective-C和Swift进行交互时,Apple 让Swift很像Objective-C。在Objective-C中难理解的像对象,强弱引用和继承等,在Swift中也是很难的。在Swift中只是使用了不用的语法表达。
真的,无论你首先学习哪一种语言,你都需要学习这两种语言。