因为前一段时间在准备考试,所以从5月份始至今9月底除了正常的上班工作时间,其余的时间和精力都用于备考中了。以至于没有时间学习移动端的新技术,虽然心里也有点慌,但是事情也要一件一件的解决。昨天考试已经结束了,事情就告一段落了。接下来的时间就投入到新技术Flutter的学习,毕竟工作也是很重要的,最起码现在我还要指望它吃饭呢。
Flutter在2019年表现的很是火热啊,公司的移动端开发组最开始是分享学习Flutter,后来是调研方案的可行性,到现在的开始在新工程中小范围使用。如果一切顺利相信最后会公司内部大面积普及;所以Android程序员在学,IOS程序员也在学,好像不学你就落伍了一样。为了打消内心的焦虑我也加入到学习Flutter的大军中了。(虽然我并没有在公司的flutter的项目中,但是还是要学习的,否则跟不上潮流,就等着被社会淘汰吧!)
优点
-
跨平台
现在flutter至少可以跨5种平台,常见的平台:MacOS,Windows ,Linux ,Android ,iOS ,到目前为止,Flutter算是支持平台最多的框架了。良好的跨平台性,大大减少了开发成本 (这个很重要)。 -
丝滑般的体验
使用Flutter内置的Material Design(android风格)和Cupertino(ios风格)风格组件,以及丰富的motion API,平滑而自然的滑动效果和平台感知,为用户带来全新的体验。 -
响应式框架
使用一系列基础组件和响应式框架,可以轻松构建用户界面。使用功能强大且灵活的API可以实现复杂的界面效果。 -
支持插件
使用插件可以访问平台本地API,如相机,蓝牙,WIFI等等。借助现有的Java,swift ,object c , c++代码实现对原生系统的调用。 -
60fps超高性能
Flutter编写的应用可以达到60fps(每秒传输帧数)。Flutter采用GPU渲染技术,所以性能很好。完全可以胜任游戏开发。
缺点
-
假装跨平台,躲不开原生代码
这是最大的问题!
Flutter目前的跨平台,说白了还只是UI的跨平台,最后还是在原生平台运行。本来两个平台就有天壤之别,一套代码就想吃掉iOS和Android在实际应用之中其实根本就现实不了。
Flutter具有与原生代码互相调用的能力固然非常科学,但是问题反而显得更加明显——我一个前端工程师上哪里去知道什么是UIViewController,什么是Activity呢?我要是双端都熟悉,学习Flutter就显得很没有必要。这是一个很矛盾的点,特别是在团队里。如果只有几个前端突然想学Flutter,是绝对做不来大项目的。
我个人认为:目前大多数公司使用Flutter除了因为性能好之外;另一个重要因素就是,如果未来移动端iOS和Android都能熟练使用Flutter,那么可以大大的节约成本。不过要实现降本的前提是要拿着项目去当小白鼠,给项目带来了未知的风险和维护的成本提高,最起码目前是这个样子的。
说了这么多,分析了优缺点。该学还是要学的,如果你不会将来出去找工作投简历的时候。面试官是不管这些的,你不会,别人会。就是你能力不行!
欢迎大家留言、关注我,我会定期分享关于我学习Flutter的心得和相关资料与大家共勉!
网友评论