标签: dart

  • 关于Dart中generic function type aliases衍生的一个问题

    之前Dart里定义一个函数结构可以用

    typedef Widget ItemGenerator<T> ({Key? key, required T model});

    这样的语法,但是到了新版本Dart静态检查会建议使用

    typedef ItemGenerator<T> = Widget Function({Key? key, required T model});

    这就会产生我今天犯下一个隐蔽的bug,引入泛型的时候会不小心写成。

    typedef ItemGenerator = Widget Function<T>({Key? key, required T model});

    能编译通过,但是在实际场景中你无法为你的变量设置正确的泛型,虽然看上去好像是正确的,补充一句,新的写法可以不单单定义回调,还可以定义一个结构,例如:经常用到的JSON格式在Dart中的定义,使其更具语义化!

    typedef JsonMap = Map<String, dynamic>;
  • Flutter真的很棒,Dart真香。

    最早有文本,后来为了表述的结构化,有了标点符号。http的到来升级成了超文本,有了文档对象模型,这大大丰富的对于文本对象的描述,jquery能方便的操作dom感觉酷毙了!后来,react来了,他说,数据驱动一切,只要操作state剩下的他来搞定。那都数据驱动了,剩下dom有何用。所以用oop语言的高级特性来描述界面,没有比这个更棒了。

    是的,flutter来了,彻底的革命性的移动ux/ui框架,包含了全套谷歌的最佳实践,只要你想得到的就能做到。

    使用的dart语言也很棒,现代化语言的标志之一,是将设计模式语义化,有了within可以轻松的使用mixin(装饰器模式),有了factory构造工厂方法愈发简单,有了命名构造函数,静态阶段代码阅读性更好。

    强烈推荐大家尝试使用flutter,即将彻底杀死原生ios和android开发。