写点什么

解读 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:564286
用户头像

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

关注

评论

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

Apache APISIX 2.13.0 发布

API7.ai 技术团队

开源 API网关 API Gateway Apache APISIX

【新布局】火绒安全企业产品Linux终端、macOS终端开启公测

火绒安全

macos Linux 服务器 终端安全 Windows Server

知识文档管理系统:帮助企业管理文档

小炮

知识管理 文档管理

java版gRPC实战之一:用proto生成代码

程序员欣宸

Java gRPC

TDengine 助力智慧燃气,支撑数百万智能终端的接入管理

TDengine

为什么要做等保二级,有什么好处?

行云管家

网络安全 等保 等保2.0

实战天翼云云主机系统盘扩容

天翼云开发者社区

云主机

“既要性能,也要安全”,这样的Rust,谁不喜欢!

非凸科技

rust 编程语言 软件开发 招聘

20万字《网易智企技术合辑》重磅发布!

网易云信

人工智能 大数据 大前端 即时通讯IM 音视频技术

芯片变得更复杂的今天,你需要最大限度复用IP资源

龙智—DevSecOps解决方案

芯片行业思考 芯片开发 ip复用 ip资源 芯片行业

教育行业可以用云管平台吗?有案例介绍吗?

行云管家

云计算 企业上云 云管平台 云管理

围绕用户体验持续进化 英特尔Evo平台打造开放、多元创新优势

科技新消息

#JiraHero:Soumen Deb——重塑 Jira Software 中的 Bug 工作流,提高可见性、简化开发流程

龙智—DevSecOps解决方案

Atlassian Jira

龙蜥开发者说:聊一聊我技术生涯的“三次迭代” | 第 3 期

OpenAnolis小助手

技术分享 开发者故事 龙蜥开发者说 突出贡献奖

从0到100:基于微信小程序的羽毛球馆预约系统的开发笔记

CC同学

菜鸟不菜,职场小白大变身

龙智—DevSecOps解决方案

Jira Jira插件 工作流扩展 并行审批 jira并行审批

使用天翼云主机组功能让云主机不放在同一个篮子里

天翼云开发者社区

教你VUE中的filters过滤器2种用法

华为云开发者联盟

Vue 过滤器 filters过滤器 组件过滤器 全局过滤器

2022年中国音频行业产品洞察分析

易观分析

音频体验 在线音频

Microchip推出模拟嵌入式SuperFlash技术解决边缘语音处理难题

极客天地

向工程腐化开炮 | 治理思路全解

阿里巴巴终端技术

Java android 腐化治理 工程腐化

资产动态管理系统解决方案

低代码小观

资产管理 企业管理系统 CRM系统 客户关系管理系统 资产安全

OpenHarmony标准设备应用开发(二)——布局、动画与音乐

OpenHarmony开发者

动画 OpenHarmony 音乐播放

中科柏诚:用数字技术纾困解难,助力中小企业恢复成长活力

联营汇聚

【CI/CD研讨会报名,截止最后一天】全程参会,还有惊喜奖品等你拿!

龙智—DevSecOps解决方案

cicd 持续集成 jenkins CI/CD 持续发布

使用对等连接在天翼云两个用户的云网络之间架起一座天桥

天翼云开发者社区

后端开发—一文详解网络IO模型

Linux服务器开发

reactor 后端开发 Linux服务器开发 网络io 网络模型

汉化版postman

Liam

Jmeter Postman 接口测试 API swagger

Java篇|忘记格式化代码,把女朋友鸽了

Jianmu

Java 自动化 持续集成 建木CI 格式化代码

通过IPv6隧道实现天翼云云主机IPv4和IPv6双栈接入

天翼云开发者社区

网络

大数据培训-Flink面试知识分享

@零度

flink 大数据开发

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