日更(二十五)-Flutter
瞎扯
今天学了下flutter.
趁热,来一发.
Flutter的特点
先说说flutter的特点
个人的感受.
1.其实非常像react
这点对于前端来说,其实是很友好的.理解起来应该没什么压力.
android
学这个,还需要额外理解state的概念.以及render这样初始化的概念,
不过前端学这个.对于强引用类型(当然,也有动态类型,不过还是不太一样)
new,构造参数之类的应该也不习惯.
2.对只会java的人来说,其实不友好
new BottomNavigationBarItem(
icon: Icon(Icons.shop),
title: Text('test'),
)
这种变量名:变量值
的写法.
就和es6一样.还是前端比较好接受.
比如es6中可以这样声明对象:
const data = {
var1: 1,
var2: 2,
};
但是java还没有,哈哈.
这一点要看习惯;
上面的flutter代码如果翻译成java的话就是:
BottomNavigationBarItem b = new BottomNavigationBarItem(
new Icon(Icons.shop),
new Text('test'),
)
class BottomNavigationBarItem{
BottomNavigationBarItem(Icon icon,Text test){}
}
大致就是这意思.
把:
号看成=
号就好
3.Widget的概念.
flutter其实强调的一个就是万物皆Widget
挺好的.毕竟是UI框架.
好比写安卓的时候,展示出来的都是view与viewGroup
本质上是一样的.组合模式
的思想.
组件化,模块化.
总结一个字,就是拆
.
在React中.也是一样.会的应该一眼就看出来了.
Component
react
里面也是这种设计.我严重怀疑谷歌搞这个出来就是为了搞react的.哈哈
Flutter的优点
总结起来一句话: 定制度很高,写起来比较简单.
图片加载,路由跳转.异步框架.几乎都自带了.使用也很简单.看着文档基本能写
Flutter的几个缺点
说说目前觉得不好的地方
1.没有反射
没有反射意味没有class的概念,
不能反射创建对象.
虽然安全,但是麻烦.
不能动态创建对象(目前我了解的是这样的)
2.没有深拷贝
不过这个还是通过json,序列化解决,也不算什么问题.只不过不像java那样而已
3.层层嵌套
宽高要套一层.效果背景可能还要套一层.还是只用于其中一个控件的.
而且这种通过构造方法,创建新对象来装饰写法很麻烦
交流群:493180098,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.