算法|可以跳过 Objective-C 然后直接学习 Swift 语言吗?

算法|可以跳过 Objective-C 然后直接学习 Swift 语言吗?

文章图片

算法|可以跳过 Objective-C 然后直接学习 Swift 语言吗?

首先看swift的基础语法 , 了解了最基本的控制 , 变量 , 数据体 , 类与结构体 , 继承之后 , 开始可以写一些简单的命令行工具 , 说白了就是终端工具 , 打印log之类的没一点问题 。
可惜 , 我们学习这个东西不是为了开发command line程序的 , 我用shell或者nodejs也挺好比这个上手还快 。 所以紧接着第二天开始直接跳过command line程序编写ios app , 也就是iphone程序 。

如果只是学习Swift的语法和做基本练习的纯计算性的编程 , 不用学习Objective-C , 用Swift的Playground就很好了 。
但没有Objective-C的基础 , 几乎不可能用Swift写出Mac OSX和iOS的GUI实用程序的 , 这些需要cocoa框架 , 而cocoa框架是以Objective-C来编写API的 。 Swift的cocoa API其实只是对Objective-C的API的直接bind 。
这几天用了Swift后感觉其和Objective-C是浑然一体的 , 用Swift调用Objective-C的函数是非常自然的 , 两者之间没有明显的界限 , 就像编写C语言的嵌入式汇编一样 。

如果在swift刚推出来的时候 , 那时候ios和mac开发 , 还主要是用cocoa这个工具上面而文档多数还是obj c和cocoa api的互相调用上 ,
但是我们回头看 , 苹果显然意识到了这一点 , 那就是光有一个语言 , 是不够的如果只有一个语言语法 , 那用户除了对着小黑框在那边输入然后提示输出以外 , 其实用户也做不了什么东西
当然这是软件最原始的样子 , 计算机计算机 , 最开始的目的就是用来充当计算器用的嘛只是随着时间的推移 , 很显然 , 用户对于软件的需求就不仅仅是能够计算 , 而是需要各种多媒体的输出了

学习 iOS 开发 , 大头不在语言 , 共通的部分都学会了 , 补一补一个很简单的面向对象的 OC 还是很大的问题吗 。
而且现在的 Swift 在编译速度上(虽然现在 Xcode 6.3.1 已经比以前强多了) , 增量编译检查 , LLDB 在补全等问题上还没有 OC 做得好 , 新项目使用 Swift 并不具有绝对的优势 。 所以无论先学还是后学 , OC 都是终究要面对的事情 , 不过它不是一个难的事情 。
【算法|可以跳过 Objective-C 然后直接学习 Swift 语言吗?】且不说CocoaPods或者Carthage的学习成本 , 假设我们已经把这些第三方库平安的放到自己的项目里 , 作为一个没有OBJ-C基础的人来说 , 想调用它基本就是不可能的任务 。