登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

查看: 166|回复: 6

iOS开发者知识普及,Swift 挑战 Objective-C,谁会笑到最后?

[复制链接]

5

主题

97

帖子

4115

金钱

码皇

Rank: 8Rank: 8

发表于 2019-4-13 15:12:04 | 显示全部楼层 |阅读模式
前言:
目前全球共有超过 7 亿台 iPhone 处于活跃状态,全球约有2000万名 iOS 开发者,这造就了 iOS 作为全球第二大移动设备平台的状态。
虽然安卓系统的全球市场占有率超过 iOS 系统,但在诸如美国、法国和英国的区域性市场中 iOS 系统仍然占据主导地位。因此许多公司专注于 iOS 平台进行软件开发,因为他们将 iOS 平台视作关键投资机会。
如果你的公司也正计划跟随 iOS 软件开发,那么你需要作出一个至关重要的决定。你需要为你的产品选择合适的技术组合。你的目标是什么?如果是原生应用开发而不是跨平台软件,你会选用哪种编程语言?久经考验的 Objective-C 还是 Swift?
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。
使用 Swift 语言开发 iOS 软件 — Swift 语言的优点
易读性 — 易维护性:Swift 代码与人们日常使用的英语非常相似,这得益于借鉴自 C#、Python 和 Ruby 的句法,这三种的编程语言以优雅句法而著称。相比之下,Objective-C 的句法与 C 的令人恐惧的句法非常接近。
因此,具备简化的句法和语法的 Swift 语言更为直白易懂,其表达方式也更加灵活。实际上,Apple 对 Swift 语言的简单非常有信心,甚至通过 Swift Playgrounds 这个 iPad 应用程序中的游戏鼓励小朋友们学习开发应用程序。

Swift 言简意赅:Swift 的目标之一是编程语言的简练性。单就字符串内插这一项而言,使用 Swift 语言最多可将使用 Objective-C 编写的移动应用的代码量减少 70%。更少的代码意味着开发和测试更为快速—因此可以降低维护成本、减少资源耗费。
易于扩展:直观明了的代码可加快开发速度。除此之外,你的产品还是面向未来的,你可以为它添加新特性。亦即你的产品具备易扩展性。进一步说,出于长期的投资规划,你需要意识到相对于 Objective-C 而言,Apple 更可能支持 Swift。
与 Objective-C 的互操作性
虽然这方面不是 Swift 的绝对优势,这个特性必然是有价值的。Buffer 公司(译者注:这是国外一家社交媒体管理平台)的一名 iOS 开发者 Jordan Morgan 在他的博客中写道:
“ 毫无疑问 — Swift 是一种标志着未来的新工具。Objective-C 已经开始老去,而且终将丧失它的流行度。但是就现阶段而言,他们俩需要能和平共处……Objective-C 建立在一个逐渐过时的编程语言之上,只是为现代技术重新改造了而已。”
正如 Morgan 所说,Swift 并未完全取代 Objective-C,因为 Objective-C 目前是并将持续作为许多移动应用的组成部分,也将需要持续的维护。Swift 能完全与它的前辈互通,因此两者可以在同一个程序、文件或者一行代码中共存。
跨设备支持:Swift 不仅支持 iPad 和 iPhone,还支持包括 Apple Watch、Apple TV 和 Mac 在内的全套设备。
用于全栈开发的潜力
IBM 将 Swift 应用于云服务开发的努力目前非常成功。Swift 在服务器端可与最流行的后端技术对接。与全栈 Javascript 开发一样,在应用程序的前端和后端同时使用 Swift 能带来广泛的代码共享和重用性 — 提高开发速度的同时减少开发投入。
自动内存管理:在博客 Security Innovation (安全性创新)中, Kevin Poniatowski 于 2014 年发表的博文中成功预测:
"我坚信 Swift 自动管理内存的特色将得到 Objective-C 开发者的欢迎。这个特性能够消除一些非常严重的代码缺陷,例如非常烦人且有很大潜在危害的 ‘释放后使用’ 这类编码错误"
旨在防止内存泄漏、优化程序性能,Swift 的所有 API 都采用了自动引用计数。简而言之,它自主管理内存使得程序以最高效地利用资源。不需要开发者手动设置内存,Swift 的惯用工具可以在开发者为适应此变化改写代码时提供支持和指导。
来自 IBM 和 Apple 的企业支持:Apple 与 IBM 协作投入 Swift 的发展和利用。Swift 因此获得了最活跃的开源群体。事实上,Swift 是 Github 上最受关注的编程语言之一。
Swift 有很多优点,尤其是和它的前辈 Objective-C 相比,尽管如此它也受到一些短板的牵制。
使用 Swift 语言开发 iOS 软件 — Swift 语言的缺点
缺乏与旧版本语言的兼容性 (部分解决)
由于新版本的发布会引入巨大变动,Swift 通常被视作不稳定的。许多开发者抱怨 Xcode 对更新 Swift 代码版本的帮助并不能修复所有问题,所以将项目迁移至新 Swift 版本非常费时且成本较高。
速度问题
这个语言的早期版本有很多速度问题,不过,如上所述,速度问题随着新版本的推出有了很大改进。
一个新语言
Swift 的开发目前仍属于起步阶段,它需要很长时间才能发展成熟、发现并修复它的问题区域。“原生” 的库和工具在数量上仍然非常有限。而且因为它的新颖程度,使用 Swift 的开发者也数量有限。尽管如此,Swift 的开发者群体正迅速壮大,对 Swift 开发者的需求也在增加。
Swift 语言会标志着 iOS 开发的发展方向吗?
虽然处于发展初期,Swift 已经创造了很多成功案例。实际上,Swift 的每一次更新,都带来了极大改进: 更好的版本兼容性减少了向 Swift版本 过程中的摩擦,Swift 包管理器的改进、API 优化以及其它新增特色。
使用 Swift 的大公司有领英、Coursera、Pandora、推特、Fitbit 以及 Vimeo 等大牌公司,Facebook 和优步对这个语言也重新萌生了兴趣。因此伴随采用率的提升,Swift 有望最终取代 Objective-C 成为 iOS 开发的首选语言,
作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:638302184,不管你是小白还是大牛欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!希望帮助开发者少走弯路。

15

主题

7206

帖子

2220

金钱

手工艺人

发表于 2019-4-13 15:12:30 | 显示全部楼层
好好 学习了 确实不错

312

主题

687

帖子

2438

金钱

手工艺人

发表于 2019-4-13 15:12:50 | 显示全部楼层
内容很好,棒棒哒

170

主题

527

帖子

960

金钱

手工艺人

发表于 2019-4-13 15:13:00 | 显示全部楼层
不错不错,楼主辛苦了。。。

225

主题

582

帖子

1178

金钱

手工艺人

发表于 2019-4-13 15:13:14 | 显示全部楼层
mark,收藏了

253

主题

652

帖子

2297

金钱

手工艺人

发表于 2019-4-13 15:13:26 | 显示全部楼层
好好 学习了 确实不错

21

主题

7263

帖子

3093

金钱

手工艺人

发表于 2019-4-13 15:13:28 | 显示全部楼层
膜拜大神~
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

关闭

每日头条

通过邮件订阅最新 Code4App 信息
上一条 /4 下一条

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表