美文网首页Android开发Android开发Android开发经验谈
Flutter 到底能不能成为 Android 开发者“跨平台开

Flutter 到底能不能成为 Android 开发者“跨平台开

作者: 10块钱new一个对象 | 来源:发表于2021-04-26 21:13 被阅读0次

    跨端技术是Android程序员乃至所有移动开发程序员一直在研究的课题。

    3月4日,谷歌正式发布了 Flutter 的 2.0版本。该版本最大的特性就是可以支持五大主流的操作系统:iOS、Android、Linux、Windows 和 MacOS。官方甚至还说丰田将会把 Flutter 带到汽车中。

    也就是说,我们可以用一套 Flutter 代码适配全平台了。

    同时间,开发社区讨论炸开了锅:**Flutter 到底能不能成为“跨平台开发终极之选”?Flutter不是正在被放弃吗? **

    相信很多人心中都有上面这些疑惑,今天我们就来好好掰扯一下这个Flutter。

    Flutter 到底能不能成为“跨平台开发终极之选”?

    很多Android开发不愿学

    通过和大家沟通我发现,其实很多接触 Flutter 的人都是“被迫”的,原因有很多:

    • 老师要求的

    • 领导要求的

    • 老板要求的

    一言辟之:别人喊我学的。因为感兴趣和爱好而去主动钻研的人不算多,这与 Flutter 本身的特性有关:

    • Flutter 是基于前端诞生的,但是对前端开发来说,Flutter 的环境配置很麻烦,需要原生的平台知识,还要担心遇上网络问题。

    • Flutter 本身没有特别多的语法糖。

    • Flutter 最先运用在移动客户端的开发,但是编程模式,语法都偏向前端,声明式的开发方式对客户端原生开发者来说需要额外的学习成本。

    • Flutter 的嵌套让人举觉得很“恶心”。

    综上,Flutter 在很多开发者心中并不是很讨喜,但是,Flutter 对于Android开发者来说确实很值得!为什么呢?

    为什么 Flutter 对 Android 开发来说值得?

    1.Flutter 有很多优点

    (1)国际化方案非常友好

    Flutter官方提供的国际化方案对布局的国际化做的非常友好,文案的国际化在Flutter Intl插件的加持下也非常简单。(或许微不足道,但是真的超级方便)

    (2)执行效率高

    就目前市场的大环境来讲,主流的跨端方案有两种:

    • 将 JavaScriptCore 引擎当作虚拟机的方案,代表框架是 React Native;

    • 使用非 JavaScriptCore 虚拟机的方案,代表框架就是我们今天的主角 Flutter。

    JavaScriptCore, 主要是为了兼容 Web 标准留下的历史包袱,无法专门针对移动端进行性能优化。而 Flutter 一开始就是使用全新的 Dart 语言编写,同时支持 AOT 和 JIT 两种编译方式,而没有采用 HTML/CSS/JavaScript 组合方式开发,在执行效率上明显高于 JavaScriptCore 。

    2.Flutter 是市场的选择

    如下图,这是手机上用 libChecker 统计出来的部分使用 Flutter 的应用:

    图片

    我们可以看到,现在 Flutter 正在被很多大公司采用:

    • 京东的京东读书

    • 阿里的闲鱼

    • 腾讯的微信和 Now 直播

    • 字节跳动的西瓜视频

    • ……

    一个新技术的普及,企业级应用一定会先在头部互联网企业产生,然后逐步优化降低门槛。现在用 Flutter 的大厂是越来越多,相信那个爆发的临界点应该不远了。

    Flutter 现在已经不是曾经的小众框架,这两年里它已经逐步成长为主流的跨平台开发框架之一。

    3.找工作的加分项

    Flutter目前也是Android开发岗位的加分项,下面是Boss上面搜到的一部分招聘信息。

    图片 图片 图片

    通过上图可以看出,很多大厂在高薪招聘这方面的人才,Flutter 确确实实可以成为我们找工作的一个帮助。

    Flutter 也确确实实可以帮助到我们的职业发展。技术是相通的,当我们在学习Flutter时,也能把原有的技术联通、打通,我们可以通过 Flutter 放大自身业务开发能力,参与到更多的平台开发中。

    有一个说法是:对于 Android 原生开发来说,学会 Flutter 等于学会了 70% 以上的 Jetpack Compose 。

    Android开发该如何快速上手Flutter?

    当你快速搭建好环境,简单了解 Flutter 的 API 之后,学习 Flutter 主要有两个核心点:一个是响应式开发,另一个是弄懂 Widget 的背后是什么?

    这两点对于Android开发者来说都有一定的难度。

    所以,在 flutter 技术的学习上面,我们 Android 开发者一定要多下点“功夫”,在技术更迭、风云变幻的IT圈子里,如果不掌握主流的新兴技术,那么等来的只能是淘汰出局;

    为了各位Android开发者更好学习Flutter,我把其中的核心技术点整理成了PDF文档,一共分为了19个章节,每个章节对应着相应的技术知识点,如果需要这份《Flutter技术核心实战笔记》PDF文档的朋友在文末获取;

    《Flutter技术核心实战笔记》

    1、构建一个Flutter应用

    image.png

    2、Flutter App 构建实战

    3、Flutter 构建布局实战

    4、Flutter 编译 Android 项目实战

    因为布局繁琐会影响简书的推荐机制,所以只能以图片的方式展示给大家学习,如需要完整版《Flutter进阶实战PDF》的朋友可以【加入此处直接打包获取】,最后希望拿到pdf的朋友能在“万忙之中”抽时间提升自己,因为这个圈子就是这样,技术的深浅代表你的核心竞争力,程序员这行并没有一项技术用一生的情况,而是需要你有对新兴技术学习的热情。

    相关文章

      网友评论

        本文标题:Flutter 到底能不能成为 Android 开发者“跨平台开

        本文链接:https://www.haomeiwen.com/subject/zftyrltx.html