写点什么

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

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

关注

评论

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

【Redis 技术探索】「数据迁移实战」手把手教你如何实现在线 + 离线模式进行迁移Redis数据实战指南(离线同步数据)

码界西柚

redis 1月日更 RedisShake Redis-shake

SpringBoot 框架中的 Tomcat 为什么一定要替换掉?

风铃架构日知录

Java spring 程序员 后端 springboot

模块一作业(架构实战训练营)

Justin

架构实战营

《零基础学 Python(2023 版)》学习笔记 Day1

IT蜗壳-Tango

年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化

阿里巴巴云原生

阿里云 Serverless 云原生

流量路由技术解析

阿里巴巴云原生

阿里云 云原生 流量路由

Ikigai: 享受生命的意义

俞凡

思维模型 Ikigai

Spring 响应式编程,真香!!!

老周聊架构

响应式编程

作为QA,我们要如何思考?

QE_LAB

测试思维

2023年玩兔年小游戏《兔兔保卫萝卜战》赢新年祝福「钱兔无量」

非喵鱼

Java swing 小游戏 新年祝福

替换目标中覆盖的文件如何恢复?EasyRecovery软件2023特色

茶色酒

EasyRecovery EasyRecovery15

接口限流算法:漏桶算法&令牌桶算法&redis限流

懒时小窝

应用级容灾

agnostic

DR

架构实战营模块 4 作业

刘博

2023-01-08:小红定义一个仅有r、e、d三种字符的字符串中, 如果仅有一个长度不小于2的回文子串,那么这个字符串定义为“好串“。 给定一个正整数n,输出长度为n的好串有多少个。 结果对10^9

福大大架构师每日一题

算法 rust Solidity 福大大

三年成功实现7次OTA升级!MANA六大闭环成毫末产品迭代强大助力

科技大数据

毫末智行稳健收官2022“三大战役” 火力全开打响2023“四大战役”

科技大数据

一文读懂什么是 Web3 架构

风铃架构日知录

编程 程序员 后端 码农 web3

单体的 TienChin 和微服务的 TienChin 有何异同?

江南一点雨

微服务

airserver2023最新版免费使用教程

茶色酒

AirServer2023

程序员为什么下班后只关显示器从不关电脑

风铃架构日知录

Java 程序员 后端 码农 IT

ImageView(图像视图)

芯动大师

imageView android布局 图像视图

数据湖(十七):Flink与Iceberg整合DataStream API操作

Lansonli

数据湖

流光绘影开年大秀顶级艺术团队×中科极光“真激光”精彩呈现

硬科技星球

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

石臻臻的杂货铺

自动驾驶

模块四作业

Ryan

架构

对话开发者:Serverless 落地的困境与破局

阿里巴巴云原生

阿里云 Serverless 云原生

新同事卷的要死 , 天天加班,动不动就手写spring , 直呼崩溃

程序知音

Java java面试 后端技术 春招 Java面试八股文

13 个前端可能用得上的 CSS技巧

devpoint

CSS ios 前端开发 scss

微博评论的高性能高可用计算架构

闲人Eric

#架构实战营

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