日更(二十五)-Flutter

2019-01-25  本文已影响0人  Jlanglang

瞎扯

今天学了下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迭代.开发维护.咨询业务,付费快速解决问题.

上一篇下一篇

猜你喜欢

热点阅读