今晚停电,导致没法写代码,聊一聊flutter,早就想聊了,一直没时间。
每个新的框架的出现都会引来大家的讨论,flutter也不例外。
大公司对于新技术会比较慎重的,稳定才是王道。而对于我这种个人开发者来说,尝试新框架机会就多些。
我近3年除了工作需要以为,基本没有用原生来写产品。在人员充足,时间允许的情况下,原生固然是首选,但也能看到即使大厂也在非核心功能中采用了混合开发。
我从一开始就选择用跨平台框架的原因也很简单,减少工作量,因为开发的产品大部分并未涉及底层开发,所以对原生的依赖不强,正好当时react native刚开始展露头脚,就尝试使用。
第一款产品开发周期其实并不比原生开发的周期短多少,虽然UI逻辑代码的开发时间节省了许多,但是我花了大把时间在填坑上,每次rn的升级都会带来一堆问题,三方库的各种问题,以及让我又爱又恨的realm,当我还未找到解决realm升级因国内网络导致下载耗时严重的问题时,有时我甚至需要等待几小时去花在更新上,这很让人恼火。
好在有了第一款产品的趟坑,第二款产品开发时间上大大缩短。这期间我也在观察有没有更适合的框架。
去年在我开发一款代购产品时,我决定尝试使用flutter,使用一周以后我彻底爱上了它。
flutter中万物皆为widget的思想与Java中的万物皆对象如出一辙。
很多人不习惯flutter手写布局的方式,但是这么长时间用下来之后,我觉得效率并不低。
当然它也存在三方库填坑的问题,这个我想所有的跨平台框架应该都逃不过。但是对于api向下兼容来说,已经算不错的了。
ide方面对于有过Android开发经历的人来说,也非常习惯。对于编程语言Dart来说也不用太去纠结,花几个小时大概了解下,其他的大可以在开发者边开发边解决。
性能方面,其实看不出rn与flutter的区别,毕竟速度快与及快,其实体现的并不是那么明显。
还有一点是fluter的ui风格个人非常喜欢,总感觉相同的ui用flutter更漂亮些。
rn和flutter,我都是从零开始自学,明显感觉到flutter填坑时间少很多。
目前除了老项目还在维护rn之外,新项目都使用flutter开发,最近还在做一款老项目的rn移植flutter,不久也会跟大家见面。
我这里其实也不是说rn跟flutter,哪个更好,毕竟没有最好的语言与框架,只要自己用着习惯,效率上去了,哪个对于你来说就是最好的。
对于对flutter持观望态度的,或者纠结该选哪种的,我建议花点时间了解下,写写小项目,当所有的你都用过之后,自然能选出最适合自己的,听别人的观点无异于小马过河。