作者:Android渣
链接:https://zhuanlan.zhihu.com/p/389048963
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最近在有些社区看见了有一些迷惑的说法:
Flutter 还有人在用呢?
Flutter 不能用了吗?Flutter 是被放弃了吗?
答:没有。
而且 Flutter 目前基本上跨平台方案的首选,社区活跃度高,官方更新频率快,目标很远大,如今已经很难想到第二个有潜力的方案了。
今天在这里就和大家分析一波。另外,现在还没有上手flutter的移动开发朋友可以考虑上手试试了(附学习资源)。
移动端的跨平台之路
随着移动终端的多样性发展,一套代码适配多个平台已经成为移动开发者的终极梦想,跨平台技术也一直在发展中。
目前为止,我们移动端的跨平台开发技术经历了三个阶段,如下图,这三个阶段的代表框架分别是:Cordova、React Native 、Flutter 。
其中,Cordova虽然实用方便,但是受制于 WebView 的性能瓶颈。
React Native 利用 JS 引擎实现了跨平台能力,将 JS 控件,对应解析为平台原生控件进行渲染,虽然极大程度上实现了性能的优化与提升,但也同样存在性能等限制。
而Flutter 另辟蹊径,只要求平台提供一个 Surface 和一个 Canvas就可以了。
在跨平台技术追求的 性能、复用、高效 这三个终极目标上,flutter占据了至高点。
Flutter 的引入和发展
2017年,闲鱼引入了 Flutter。2019年,闲鱼开始推进 Flutter 在闲鱼的应用,进行大规模的落地。
在这三年的实践中,闲鱼不断修正 Bug 提高 Flutter 的稳定性并同步给 Google,甚至琢磨出了一套自己的混合技术方案,开源了 Flutter Boost 引擎。
到现在,闲鱼几乎已经完全拥抱flutter,但是质疑的声音从开始到现在一直没有停过。甚至有传言:Flutter 正在被放弃。
身边批判的声音也不少,比如:
Flutter 只是重复造轮子,根本就没啥亮点;
Flutter 用 Dart 语言就是一个致命缺点;
那些用 Flutter 框架的APP真的拉跨;
……
笔者认为,这其实都是对Flutter的不了解造成的,也和国内Flutter中文文档和教程比较少有关系。
Flutter 是市场的选择
无论如何,大家都可以看到,除了闲鱼, Flutter 正在被很多大公司采用:
- 京东的京东读书
- 阿里的闲鱼
- 腾讯的微信和 Now 直播
- 字节跳动的西瓜视频
- ……
一个新技术的普及,企业级应用会先在头部企业产生,然后逐步优化降低门槛慢慢普及。
如今的 Flutter 已经不是曾经的小众框架,它已经逐步成长为主流的跨平台开发框架之一。
Flutter 是工作加分项
现在用 Flutter 框架开发的大厂越来越多,与之对应的, Flutter 的人才需求也越来越大。Flutter已经成为 Android 开发者的闪光点和加分项。
下面是在Boss上面搜到的一部分招聘信息。
通过上图我们可以看出,很多大厂在高薪招聘这方面的人才,Flutter 确确实实可以成为我们找工作的一个帮助。
Flutter 也确确实实可以帮助到我们的职业发展。技术是相通的,当我们在学习Flutter时,也能把原有的技术联通、打通,我们可以通过 Flutter 放大自身业务开发能力,参与到更多的平台开发中。
有一个说法是:对于 Android 原生开发来说,学会 Flutter 等于学会了 70% 以上的 Jetpack Compose 。
快速上手 Flutter 的窍门
当你快速搭建好环境,简单了解 Flutter 的 API 之后,你的 Flutter 学习之路需要面对的主要有两个核心点:一个是响应式开发,另一个是弄懂 Widget 的背后是什么?
这两点对我们Android开发来说都有一定的难度。
现在学习Flutter的人越来越多,只是很多开发者感觉学习时有些吃力。最好有一个系统化的Flutter教程,在帮助大家快速入门的同时也涉及到一些细节和原理,最好也能提供一些学习和研究Flutter的方法。
本来计划整理一份能由浅入深、系统介绍Flutter的学习手册。恰好发现有一个大佬整理过这样一份手册,就是这个《Android进阶学习资料》。大家扫描下方二维码进群即可领取全部相关资料~