Android 开发,没有跟上跨平台技术发展是你职业规划最大的可悲
而随着系统版本和 API 的变化,我们还需要处理不同平台的原生控件渲染能力上的差异,修复各类怪异的 Bug,甚至还需要在原生系统上打各类补丁。
这都使 React Native 的跨平台特性被大打折扣:要用好 React Native,除了掌握这个框架外,开发者还必须同时熟悉 iOS 和 Android 系统。这,无疑给开发者提出了更多挑战,也是很多开发者们对 React Native 又爱又恨的原因。在这其中,也有一些团队决定放弃 React Native 回归原生开发,Airbnb 就是一个例子。
下面回到主题,谈谈为什么 Flutter 能用来开发最优秀的移动应用,为什么它是跨平台开发的首选。
1.大公司都在使用 Flutter
国内一线互联网都在选择 flutter 技术做为自己的跨平台开发,像阿里闲鱼、手淘,字节跳动、美团、腾讯等
2. 研发效率就是竞争力
移动互联网进入下半场,出现一些新兴互联网独角兽、小巨头,在没有历史包袱的情况下,更愿意尝试技术上限更高的新技术。从校招和社招的难度上不难发现:客户端的人才相比之前更为稀缺,尤其是 iOS 工程师。而下半场会有更多竞争和更为激烈的赛道,比如教育等方向。Flutter 本身非常适合从零开始的没有历史包袱的应用开发,对于新业务尤其是在团队人力紧缺的情况下,在技术选型上考虑 Flutter,能加快产品在多端落地、快速试错。
3. 集漂亮与流畅集于一身
Flutter “一出生”就以“UI 漂亮、像素级可控、性能流畅、可媲美原生性能”等特点吸引广大开发者的眼球,自渲染引擎甚至具备开发游戏的能力。移动下半场,没有人口红利,竞争更为激烈,如何能更好地满足用户对高品质、高流畅的需求,便是移动端一种强有力的竞争力。跨平台技术想要拥有更高的流畅度,采用自渲染技术的方案便是更优解,也是一个更为彻底的跨平台技术方向。
它完全免费,彻底开源
可以用来更快地创建应用
出色的用户界面(UI)
节省代码量
可接入平台原生功能
最适合 MVP 开发(最小化可行产品)
较老的设备也使用相同 UI 运行应用
减少测试工作量
更丰富的社区支持
较低的维护难度
内置来自 Dart 的包管理器
**那么,F
lutter 到底该怎么学?真的要从头开始么?**
虽然 Flutter 是全新的跨平台技术,但其背后的框架原理和底层设计思想,无论是底层渲染机制与事件处理方式,还是组件化解耦思路,亦或是工程化整体方法等,与原生 Android/iOS 开发并没有本质区别,甚至还从 React Native 那里吸收了不少优秀的设计理念。就连 Flutter 所采用的 Dart 语言,关于信息表达和处理的方式,也有诸多其他优秀编程语言的影子。
因此,从本质上看,Flutter 并没有开创新的概念。这也就意味着,如果我们在学习 Flutter 时,能够深入进去搞懂它的原理、设计思路和通用理念,并与过往的开发经验相结合,建立起属于自己的知识体系抽象层次,而不是仅停留在应用层 API 的使用上,就摆脱了经验与平台的强绑定。
评论