工作

从 iOS 到 Web 开发

和很多开发者不同的是,我真正意义开始写项目的平台和语言是 iOS 和 Objective-C,自然而然 Xcode 也是我第一个使用的 IDE。iOS 系统在 Apple 硬件销量的增长下,获得了开发者社区的高度关注和热度。几乎每次 WWDC 都会提到 App Store 应用的增长量和开发者群体的数量。

另外,Apple 各种炫酷的宣传视频,对于我来说,也是很受用的。每逢新的一次 WWDC,对 API 的更新也是充满期待。如果你会熬夜看 WWDC,同样也会感到兴奋和期待。心想「Apple 真的越来越开放了,对开发者真体贴。」。不过,我看了几次之后,发觉其实这些动作最终目的其实是为了给 Apple 的商业计划铺路。我理解像 Apple 这样体量的科技公司的考虑和计划,但对于我来说,It sucks。

iOS 的困境

iOS 的束缚在于 Apple 本身。每次更新 App Store 应用,必须走一次 review 流程。有 App Store 上架经验的开发者一定对飘忽不定的 review 时间心有体会。另外,对于 API 的使用,开发者只能在项目中调用 Apple SDK 官方开放的 API,而「不能」调用更加底层的私有 API,这代表你只能在 Apple 规定的范围内实现功能。当然你也可以无视这些限制,但 review 流程也是你永远过不了的门槛。

Write once,run anywhere 的理念对原生应用开发的冲击。对于一个产品,你必须开发 iOS 和 Android 客户端去迎合不同生态中的用户, 意味着创业公司必须同时雇佣 iOS 和 Android 工程师,其中除了人力成本增加,还有兼容平台差异的成本。所以,从 PhoneGap, Framework7 等移动端 Web 开发框架到 React Native, Weex 等利用 Web 技术开发原声应用的手段打破了这种限制。让 FE 工程师拥有「以一敌百」的能力。

不过,「不是我要的那种 cool」才是我离开 iOS 开发最根本的因素。对于技术,我只是更多地随内心的感觉而选择,不愿意看到产品和技术因为平台限制,导致真正需要的用户不可触及。

Front-end 的活力

开发者、开源项目、conference 的数量是我评价一个技术生态是否活跃的指标。以下是 Stackoverflow 的统计:

可以在这个 Developer Survey Results 2016 中查看更多对围绕技术展开的统计数据。

无论是 FE 开发者数量、FE 开源项目和围绕 FE 的相关 Conf 的数量都遥遥领先其他技术。有很多人可能会说「前端技术门槛比较低,所以开发者多是肯定的」,我承认这个想法有一定道理。但我们不要忘记 Web 是互联网的开端。同时,这个领域的技术更加适合年轻人:没有必须遵守教条,更多是靠大家的自律,快速技术迭代与社区的群策群力。

FE 社区的活力,不断推动着这个领域的发展。Browsers 不支持的特性,没问题,有 Babel, PostCSS 鼓励我们使用更方便和更高级的语言特性,同时,反促进各 browser 对特性的支持和更新速度。JavaScript 没有类型系统影响项目质量?没问题,我们有 TypeScript。JavaScript 只能跑在 browser?

在阿里巴巴的半年

大局观、平台、资源

如何学习与成长

爱好

设计的魅力

一部接一部的电影

对技术的痴迷

日本之旅(京都、大板)

2016 读过的书和文章

2016 看过的视频