写点什么

解读 2015 之 iOS 篇:惊喜和机遇

  • 2016-01-06
  • 本文字数:2544 字

    阅读完需:约 8 分钟

编者按

2015 年,整个 IT 技术领域发生了许多深刻而又复杂的变化,InfoQ 策划了“解读 2015”年终技术盘点系列文章,希望能够给读者清晰地梳理出技术领域在这一年的发展变化,回顾过去,继续前行。

2015 年过去了,对于 iOS 开发者来说,这是充满惊喜和机遇的一年。Swift 开源让这门语言有了更光明的前途,并且让苹果和开发者之间的联系更紧密了,React Native 给 iOS 开发带来了全新的理念,watchOS 和 tvOS 则给开发者开辟了更广阔的市场。下面就让我们来具体回顾一下。

iOS 9、watchOS 2、tvOS

苹果在 2015 年发布了 iPhone 6/6s、iPad Pro 等新设备,一如既往的高品质,值得信赖,在市场方面,苹果也取得了佳绩,其大中华区的销售业绩和市场份额都有可喜的进步,其地位已经无法被轻易撼动。

不过作为开发者,更关注的还是 WWDC 苹果开发者大会,在本届大会上,库克发布了 iOS 的最新版本 iOS 9 及相应的 SDK,其更新包括 Multitasking、App Slicing、App Linking 等,开放了更多能力和新特性给开发者,而用户对其接受度也更高,发布不到两个月装机率达到 66%,成为主流的系统版本。

除了 iOS 这个已经相对成熟的平台,苹果在可穿戴设备和智能家庭方面也逐渐开始发力,其中的代表就是 watchOS 和 tvOS。watchOS 2 作为第一代产品的软件升级,它稍微放开了一些限制,新系统中 Watch App 的 extension 将不像现在这样存在于 iPhone 中,而是会直接安装到手表里去,Apple Watch 从一个单纯的界面显示器进化为了可执行开发者代码的设备。tvOS 则是苹果在发布新版 Apple TV 时的系统升级,相对于之前的保守,tvOS 引入了应用商店,可以运行第三方应用,这让电视成为一个新的平台,截止到 2015 年早期 Apple TV 销量已经超过 2500 万台,对于开发者来说这已经是不可忽视的市场。

当然,watchOS 和 tvOS 这两个平台仍然处于相当早期的阶段,相应设备的市场也并没有完全打开,苹果对它们的开放很谨慎,开发者目前能做的事情还比较有限,但它们都有可能复制 iOS 的成功,因此它们的潜力不容忽视。

Swift 开源

对于 iOS 开发者来说,2015 年可以说是属于 Swift 的一年,在 WWDC 现场,库克宣布 Swift 开源引起了全场欢呼,在正式开源后更是成为 Github 有史以来关注(star)增长最快的项目。

编程语言是有信仰的,相对于已有数十年历史的 Objective-C 来说,Swift 的语法更加现代,融合了多种语言中的优点,获得了不少拥趸。在 Swift 开源之前,就有人尝试在Android 上运行Swift 编写的应用,还有人开发了 Swift 服务端开发工具包,在 Github 上,基于 Swift 编写的开源项目也呈快速上升趋势。

这次开源对苹果同样也是意义重大,苹果与开发者之间的距离从未这样近过。在以前,苹果虽有 Webkit、LLVM 等开源项目,但领域相对垂直,参与项目难度较大。现在苹果把 Swift 及其相关的项目放到了 Github 上,一般的用户也可以很轻松的关注项目的进展、与开发人员沟通,甚至是给项目做贡献。而从苹果到现在的举措来看,这个项目并不仅是代码托管,而是彻底的社区化运作,开放程度前所未有的大。

与 Swift 相关的项目,苹果也以开源社区的形式运作,如 Swift 的包管理项目,吸收了社区的传奇人物Max Howell、Mattt Thompson 等,而官方也鼓励开源社区翻译Swift 的官方文档,像梁杰组织翻译的中文版文档即被Swift 官网推荐

可以预见,2016 年,开源的Swift 将更加的强大,将于2016 年夏季发布的 3.0 版本的目标规划已经发布在 Github 上,只要你愿意,你就可以参与到 Swift 的未来中。

React Native

2015 年对 iOS 开发影响重大的事情还有一个,那就是 React Native 框架,它分别在 3 月份和 9 月份发布了 iOS 和 Android 的开源版本,每一次都引起大量的关注和讨论。

React Native 最重要的特性是跨平台,即 Facebook 所宣传的“Learn Once, Write Everywhere”,还有由于引入前端开发技术带来的更新和 Hotfix 上的便利,超过以往基于 Lua 的方案,还催生出 AppHub 这样的开发服务。

由于 React Native for iOS 版发布较早,早有人用它进行了实验性开发,但用于正式应用开发的并不多。由于项目还处于早期,不可避免会出现一些坑,相关的第三方库和学习资源也十分匮乏。但对于 React Native 来说,这只是时间的问题。

React Native 并不是孤身作战,它的根源在 React。2015 年同样是 React 的风云之年,这一年 Facebook 接连发布了 React Native、Nuclide、GraphQL、Relay,以及社区各种 Flux 实现,一个完整的 React 生态圈已见雏形,一旦成熟起来,不止是移动开发,未来的大前端开发都将被彻底改变。

目前,能够验证 React Native 能力的正式应用很少,相信到 2016 年,基于 React Native 的典型应用和开发方案将会出现,将这个移动开发解决方案推到一个新的高潮。

社区与开源

2015 年 iOS 开发社区也在蓬勃发展,特别是国人在这方面取得了非常大的进步,不但贡献了优秀的开源项目,还第一次由社区主办了 Swift 开发者大会,获得了社区的积极响应。

至于开源,则几乎成为 iOS 开发者展示技术能力、学习和交流的身份标识,除了 Swift 和 React Native 之外,笔者挑选了一些 2015 年值得关注的开源项目如下:

  • RxSwift ReactiveCocoa :2015 年函数响应式编程火遍了移动开发领域,ReactiveCocoa 相对老资格一些,在 2015 年发布的 3.0 版本支持了 Swift 接口,RxSwift 则是 ReactiveX 的 Swift 版本,功能更加强大,有后来居上的趋势。
  • JSPatch :由国人开发的 iOS 应用 Hotfix 库,由于它小巧灵活、功能强大,现在已被各种商业应用所广泛使用,大大方便了 iOS 应用紧急问题的修复。
  • YYKit :同样是国人开发的开源库,包括一系列的工具库,极其强大,同时其源码也是学习的好资源,唐巧对它的作者进行了专访,了解了它背后的故事。

2015 年涌现的优秀 iOS 开源项目当然不止这些,由于篇幅所限这里就不一一列举了。希望这些开源项目能激励更多的国人 iOS 开发者参与到开源中来。

小结

iOS 9 带来了新特性、watchOS 和 tvOS 带来了新市场,Swift 刚刚开源,无论是直接参与贡献,还是基于 Swift 做工具、分享知识都非常必要,React Native 也缺乏成功案例和成熟的技术方案,需要社区去完善和实现。面对这种种机遇,需要善于学习、勇于开拓创新的开发者去努力抓住,相信 2016 年对于 iOS 开发来说,将是更加精彩纷呈的一年。

2016-01-06 04:564396
用户头像

发布了 164 篇内容, 共 117.6 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

反向代理、负载均衡实战,【深度思考

Java 程序员 后端

使用 Spring Boot 进行单元测试

码界行者

Java Spring Boot Unit Test

15分钟的字节跳动视频面试,34岁Android程序员裸辞

android 程序员 移动开发

10年阿里开发架构师经验分享:享学课堂架构师vip百度云

android 程序员 移动开发

声纹识别帮你守住钱袋子,聊一聊证券行业里的人工智能

Zilliz

AI 向量检索 Milvus 向量

卧薪尝胆70天内推入职阿里,2021Java春招

Java 程序员 后端

厉害了!java使用教程视频,我的Java春季历程

Java 程序员 后端

厉害了!尚硅谷mysql中employees表,腾讯T2手把手教你

Java 程序员 后端

只需一篇文章吃透Java多线程技术,内容非常全面

Java 程序员 后端

只需一篇文章吃透Java多线程技术,那些BAT大厂的Java面试官到底在想些什么

Java 程序员 后端

DevOps 时代的高效测试之路

CODING DevOps

DevOps 团队 自动化测试 持续交付

河北联通全光智慧专线,构筑更智运营新体验

华为财经2021春招面试,尚硅谷springboot笔记,最全Java知识总结

Java 程序员 后端

人力资源管理系统和oa的区别?

优秀

低代码

1307页阿里Android面试全套真题解析在互联网火了,附赠复习资料

android 移动开发

QCon复盘之《58 集团反爬系统建设之路》

IT蜗壳-Tango

Qcon 10月月更

大数据Flink作业

Clarke

12道Android高级面试题:android开发视频百度网盘

android 程序员 移动开发

我有一台服务器,能干啥?

程序员鱼皮

程序员 IT 代码 计算机 java

【免费报名】与阿里云一同探索视频云的新技术与新场景

阿里云CloudImagine

阿里云 音视频 视频编码 视频编解码 视频云

100%好评,扔物线学堂

android 程序员 移动开发

只用了几百行代码写的百度搜索引擎,程序员Javaweb源码

Java 程序员 后端

10天用Flutter撸了个高仿携程App,2021年Android面试心得

android 程序员 移动开发

2019-2021历年华为跳动Android面试真题解析,面经解析

android 程序员 移动开发

2020-2021华为Android面试真题,凭借这份Android面试题集

android 程序员 移动开发

厉害了,java入门电子书百度网盘下载,Java中高级面试

Java 程序员 后端

原来SqlSession只是个甩手掌柜,Redis有几种数据类型

Java 程序员 后端

史上最全的Java面试题集锦,高级Java工程师面试技术

Java 程序员 后端

1-3年Android开发工程师面试经验分享,真的太香了

android 程序员 移动开发

12道Android高级面试题:android项目开发实战入门百度网盘

android 程序员 移动开发

1个月学会Android开发!动脑学院vip

android 程序员 移动开发

解读2015之iOS篇:惊喜和机遇_移动_徐川_InfoQ精选文章