Android学习记录

Flutter简介、入门学习以及分组件架构思路

2020-09-26  本文已影响0人  旺仔_100

一、Flutter简介
首先聊一下我自己的Flutter历程。跟大家一样在18年flutter刚开始出来的时候,我就有所关注。但是我并没有马上进入学习,因为我知道热点过后可能是一地鸡毛,先做好该做的。在19年的时候公司想要flutter来统一两个端来减少人力。于是有过为期两周,一边做项目一边写写flutter的日子。后面项目安排比较紧就再也没有弄过。直到前一个多月,目前的公司又开始了flutter开发。

目前大前端最流行的框架RN和Flutter,RN应用比较多,总体趋势直降不升。Flutter热度依旧,总体趋势稳步上升。Flutter的性能和原生几乎一致,甚至更好。对于移动端开发,尤其是学过kotlin的,上手十分容易。dart语言和kotlin语言相似性高达80%(纯属个人感觉)。

对那些是该选择kotllin还是flutter的朋友们给出个人观点:两个都要学习。为什么这么说呢,Flutter只不过是一个UI框架,对于一些原生的功能,例如调相机之类的还是需要flutter调原生。也就是说后面的项目大多都是flutter+kotlin/java。当然对于大型项目有很多人开发的,可能会有分工,一部分人专门做flutter界面,一部分人做原生功能的提供。但是对于小一些的项目可能就需要一个人既做flutter又做原生。学习是需要反复实践的,如果你的项目没有用到fllutter或kotlin,想办法用上。对于初学者既不会kotlin又不会flutter,新项目用什么就集中精力学什么,深入一种语言之后,再学习另一种语言是十分轻松的。

二、Flutter的入门学习
首先百分之八十的人学习flutter都是从flutter中文网开始的,这个确实是入门级最好的资料了。附上链接https://flutterchina.club/ 这个上面从搭建环境,到helloword,到一些简单的界面等。
在它的首页还有flutter实战的入口。对于初级flutter学习者来说几乎能涉及到项目中所有的知识点。附上链接https://book.flutterchina.club/
知道这两个链接入门已经足够,但是这个过程你还是会遇到各种问题,去google或者百度,网上关于flutter的资料已经很齐全了。

我们公司的开发是直接基于咸鱼的flutter_redux开始的。flutter_redux的官方使用资料似乎不太多,可以看看fish_redux的github。附上链接 https://github.com/alibaba/fish-redux 实际上有一篇我觉得写的比较好的文章关于fish-redux上手的,附上链接 https://juejin.im/post/6860029460524040199

作为一个用过fish-redux的人,讲一下,为什么会用redux。状态管理主要是分离界面和逻辑处理。mvp和mvvm想达到的效果也是界面和逻辑分离,自动更新数据。从个人角度来讲,我觉得redux这种前端用到比较多的状态管理 分离更加彻底。fish-redux的widget(view)是真正意义上的数据驱动的界面。这种Widget(view)的复用性要远远强于mvp和mvvm架构的view。而且fish-redux只需要发消息就可以自动更新Widget,是真正意义上逻辑与界面解耦。

Futter最常用的十几个Widget就能写百分之八十的界面,但是项目中的另外百分之二十还得我们学习更多的控件,那么我附上一个几乎涵盖所有控件的使用链接http://laomengit.com/flutter/widgets/widgets_structure.html

三、Flutter分组件开发架构思路
首先说一下,这个思路并不是我本人尝试出来的,是我项目中的架构思路,目前已经验证可行。思路应该是有价值的,绝对的干货。
如果不是新写的项目,大多是有原生开发代码的,也就是说,我们要在原生中集成Flutter。那么flutter只能是作为moudle依赖到原生项目中了。分组件会有多个moudle,但是原生是没法依赖多个flutter moudle的。这个时候必须用plugin,每个组件写一个plugin,然后把这些plugin依赖到moudle中,moudle再依赖到原生中。思路是可贵的,实践就靠大家自己了。

Hikvision.jpeg
上一篇下一篇

猜你喜欢

热点阅读