用不用Flutter?

2019-07-12  本文已影响0人  叫我魏大川

1:调研使用flutter的目的?

因为我们APP使用的是原生壳加webview的方式,体验不好,所以考虑使用一种跨平台框架来完善。

2:RN和flutter的比较?

RN:更成熟和完善、稳定,资料较多。但是性能上比较一般,特别是列表方案的不友好。因为RN的UI渲染要依赖多个view的叠加,所以复杂页面不友好。

flutter:UI方面能力出众,因为它自身实现了一套渲染引擎。但是因为尚处在快速发展阶段,各个方面的支持还不够完善:比如各种第三方库的数量还非常少等。

总之,跨平台框架怎么也躲不开原生的使用,更多的只是体现在UI跨平台,如果需要与原生交互的地方很多,而其他地方又有很多网页来实现,那使用flutter或RN的意义不大,毕竟对于iOS和安卓两端的工作量不能减少很多。使用网页的一个方面是因为需求总是变动,想快速的更新UI,但使用flutter依然不能解决热更新的问题。所以比较鸡肋。

3:flutter与原生加载webview的比较?

flutter加载webview需要通过控件实现,一个是官方的webview_flutter,另一个是flutter_webview_plugin,推荐使用webview_flutter,因为他更方便实现webview与flutter的交互。从iOS角度来看,flutter实现与JS的交互与原生wkwebview与JS的交互很相近,还是很方便的。
但是,如果APP主要是用webview实现的,那如果我们要用flutter去装载webview,那将会是噩梦。因为,webview与flutter交互的同时,flutter也要与原生交互。webview与原生之前横插一腿flutter中间商,何苦呢

加载网页效率方面,跟原生差不多,参考:https://www.jianshu.com/p/8deabf509ca3

4:用原生还是flutter?

flutter使用的dart语言具有一定的学习成本,flutter与原生的交互需要一定的工作量,flutter的坑比较多,所以一旦决定使用,开始会有一个比较缓慢的过程,但是后期一旦熟悉,相信会节省一部分工作量。不好预估。
原生比较稳定,可预估,更可控,开发效率也不低。

既然是UI跨平台,其实UI的开发工作在整个APP的开发任务中只能算是一半,另一半是业务逻辑处理、库管理、系统配置等。so,个人觉得,flutter在还不算稳定的情况下,只适合大公司分出一部分精力去做尝试和探索,去做试错,但是对于一般公司来说,还是想办法在精力和时间有限的情况下做出稳定的产品比较合适。

2020 4.29 补充
对于跨平台技术的使用,可参考 https://blog.csdn.net/lpjishu/article/details/78360455

上一篇下一篇

猜你喜欢

热点阅读