Fair 2.0 release! What’s new

# 版本更新

# 2.6.0

更新时间:2022.07.05

# 1.Fair 支持加载手机磁盘路径上的 bundle 文件;

FairWidget(
  path: '手机磁盘路径/xxx.fair.json',
)
1
2
3

# 2.适配 Flutter SDK 2.10.0、2.10.1、2.10.2、2.10.3 版本;

# 3.Dart2JS 支持解析 static 方法;

# 4.运行时,页面错误信息提示优化;

当 Fair 在运行期间,出现错误时,会有如下提示:

点击错误图标,可以显示错误日志:

# 5.语法糖支持解析 Model 数据。

使用方式:

Step1:定义模型数据:

import 'package:fair/src/render/base_model.dart';

class Person implements BaseModel{}

1
2
3
4

需要实现 toJson,添加一个 from 方法

Step2:注册模型

  • 定义一个 GeneratedModule
class TestGeneratedModule implements GeneratedModule
1
  • 在其中注册模型

  • 把定义的 GeneratedModule 传入到 FairApp 初始化的 generated:参数

Step3:模型使用,以 Sugar.mapEach 为例:

  • Sugar.mapEach([Person(name: "kk",age: 18, wei: 99)], (index, Person item) {}

  • 需要指定 item 的类型才能用 item.name 来使用其模型数据

  • 支持直接调用或者将其在字符串中 Text(item.name),Text("${item.age}"),

# 2.5.0

更新时间:2022.05.31

# 版本特性

# Fair

  • 适配 Flutter SDK 2.8.0、2.8.1
  • Dart2JS 支持解析单例
  • 新增语法糖Sugar.switchCase、Sugar.colorsWithOpacity、Sugar.convertToString等

# example

全面优化example结构,升级example体验,更适合新手入门。
在源码中,新增 example 工程,用于提供 Fair API 的标准用法。

example 工程位置:fair/example

# 贡献者


xiangwc

💻

WangYk

💻

gongpengyang

💻

qixu

💻

yangyang

💻

陈有余

💻

# 2.4.1

更新时间:2022.05.12

# 特性

# Fair

  • 修复 FairLogger 文件导包问题
  • 升级 analyzer 到 2.3.0

# 贡献者


陈有余

💻

yangyang

💻

# 2.4.0

更新时间:2022.04.26

# 特性

# Fair

  • FlatBuffers 支持在 null safe 环境下生成 bin 文件

# 贡献者


陈有余

💻

# 2.3.0

更新时间:2022.04.22

# 特性

# Fair

  • 支持空安全 null-safe
  • 适配Flutter SDK 2.5.0、2.5.1、2.5.2、2.5.3等版本

# demo

  • 升级 sample 工程里过时的demo
  • 补充 sample 工程里 iOS 的运行环境

# 贡献者


gongpengyang

💻

qixu

💻

陈有余

💻

yangyang

💻

# 2.2.0

  1. Fair 2.2.0 版本新增了对 Flutter 2.5.0 版本的支持;
  2. 修复了部分 bug。

# 2.0.0

Fair 2.0版本新增对逻辑动态化和对Flutter 2.0的版本的支持,其中逻辑动态化支持包括了Fair Compiler工具对Dart2JS的支持、第三方插件(网络、权限、图片选择)自定义扩展接口支持。

# Fair Compiler 完整开源

本次完整开源了Fair Compiler工具,Fair工具包括生成布局DSL的Dart2DSL和生成逻辑JS的Dart2JS部分。 由于compiler 在flutter build命令处理入口,但是在命令运行时下无法Debug,所以拆出了dsrt2dsl和dsrt2js核心转化处理模块,这2个模块都可以进行Debug调试,输入为文件路径。

fair
├── dsrt2dsl // dart转dsl的工具部分,生成布局元数据DSL文件
├── dsrt2js // dart转dsl的工具部分,生成逻辑JS文件
└──  compiler  // flutter build 自动动态化产物生成入口
1
2
3
4

# 更友好的命名

目录名从fair_version变更为flutter_version,内部为动态时创建的Flutter组件。

fair
└── flutter_version  // flutter 版本兼容组件
1
2

# 新增动态逻辑处理能力

Fair 2.0 通过Fair Compiler工具,提取Widget中的逻辑部分并转化成JS文件,送给JSCore处理。Android使用了V8引擎,iOS使用的内置的JSCore。 Fair 2.0 除了JSCore处理逻辑之外,我们还在JS域增加了Fair语法糖和布局方法调用栈处理能力。

# 第三方插件扩展标准化

Fair 2.0 定义了IFairPlugin标准接口,定义了第三方插件接入的标准流程,同时在example中给出了网络、权限和图片选择的Demo。

fair
└── fair  // fair引擎模块
    └── example
        └── lib/src/page
                └── plugins 
                    ├── net     // 网络插件
                    ├── permission // 权限插件
                    └── pick-image // 图片选择
1
2
3
4
5
6
7
8
上次更新: 2022/7/5 17:29:57
Copyright © 2020 58.com | Powered by The Fair Authors