0 基础学习 ios 开发,选 Swift 还是 Objective-C?

2018-12-30 18:18:16 +08:00
 aliehuhu

只求学习简单快速入门,不求精通变高手。

5333 次点击
所在节点    程序员
26 条回复
SeanYan
2018-12-31 12:53:12 +08:00
哈哈 学 H5 就过分了啊
everwanna
2018-12-31 13:33:59 +08:00
学 swift,现代语言的优势巨大,缺点就是还不够稳定。不是程序不稳定,是运行时,就是楼上说到过的旧版本跑不了,明年 swift5 推出后就基本稳定了。
oc 不需要仔细学,实在需要的时候能够大致看懂语法就够了,乐观预计 2020 年基本可以不用看 oc 了
stephenliubp
2018-12-31 15:02:56 +08:00
目前几乎大厂都是 OC,新人学习的话可以先学学 Swift 开始做项目,让你有成就感、满足感可以看到自己作出东西。蛮多东西东西、三方库都是用 OC 写的,但是可以桥接实现调用。然后蛮多东西 RunLoop、Runtime 都是有 OC 源代码,中高级进阶就需要读读源代码。
另外一个大方向就是「无线端」,多端融合、快速修复、热更新等能力。几个关键词 Hybird、React Native、Flutter 等可以去研究。
然后大前端走路要远的话可能需要“了解下” Web 前端开发。说不定某个功能模块就是 H5 写的,Native 提供一个 Webview 容器,但是 JS 需要访问硬件能力,这时候就需要 Native 配合,你甚至需要调试 H5 在 Webview 上的表现,或者 JS 注入... 。等你对前端也有一定的掌握,也就是大前端专家了。
sangmong
2018-12-31 15:16:53 +08:00
JavaScript
bestkayle
2018-12-31 15:52:08 +08:00
做着玩玩当然是 flutter
vincentxue
2018-12-31 20:09:47 +08:00
我做很多年 iOS 了,我给你分析一下。

OC:
1. 简单。语法层面 OC 比 Swift 简单太多了。如果有类 C 语言的基础,很快就能上手。有本黄皮书叫 Objective-C 编程,这本书对 OC 讲的非常好,基本上囊括了所有特性(不知道有没有数组字典字面量,nullable 等特性,很多年前的书了)。你一天就能学完。
2. 没有兼容性问题,网上教程上的代码拿来就能运行。
3. 由于提供了非常丰富的运行时 API,你可以控制的东西非常多,有很强的代码控制力,这点在 Swift 上要弱化不少。

Swift:
1. 语法特性非常多,非常现代的语言。学习周期会比 OC 长。有时候还能遇到编译器 bug,有时候代码自动提示会失效等等,新手能把你折腾半死。
2. 有兼容性问题,ABI 还没达到稳定。每个版本更新都会带来语法变化,虽然变化越来越少了,但以前有很多是 Swift 写的,最新的 Xcode 已经不支持,你运行起来会有困难。但现在最新的教程基本上都是 Swift 写的,你学 OC 看着也可能有点吃力。
3. 服务端可以干爆 OC,由于 Swift 开源、跨平台等特性的存在,自然就出现了 Server Side Swift,你可以用 Swift 开发服务端程序,并且性能很好,这一点在 OC 上很难得到应用和发展。

总的来说,你要掌握的是 iOS 的 API,语言语法层面只是小问题。你不可能只学一个,早晚都要学另一个。只要你掌握了 API 之后,学另一个跟玩儿似的。所以你直接挑一个你喜欢的学就好了。但是记住要用代码构建 UI,少用或不用 Story Board,Xib。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/522574

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX