专业的品牌信息化整合营销服务机构

互联网信息化咨询/技术开发/整合营销

请通过以下方式免费咨询

为什么我们应该使用 Flutter—易龙天

Flutter 是 Google 提供的新一代跨平台方案,随着 Google 在 IO19 宣布 Flutter 支持 Web 平台,就标志着 Flutter 已经全面持所有平台,它提供了非常友好的文档来帮助各端的同学迅速地进入到 Flutter 的海洋中。同时它的完全开源也让其有了更快的迭代,更好的生态。

Flutter 提供了符合 Android 风格的 Material 和符合 iOS 风格的 Cupertino,同时对不同平台也做了不同的兼容,更好地保留了平台的特性,如 ScrollView,在 iOS 平台中,滑动的时候就拥有回弹的效果,在 Android 平台中,表现出来的就是阻尼的效果。当然,有的时候 Flutter 的 Framework 提供的 UI 格并不能满足我们的需求,我们还可以去自定义控件。

Flutter Platform Channel

Flutter 定义了三种不同类型的 Channel,它们分别是:

BasicMessageChannel:传递字符串或半结构化信息;MethodChannel:传递方法调用(method invocation);EventChannel:数据流(event streams)通讯。三种类型的 Channel 都定义在 platform_channel.dart 中,从源码中可以看到三种 Channel 都用到了以下三个属性。

name:String 类型,表示 channel 的名字,全局唯一;codec:MessageCodec 或 MethodCodec 类型,消息的编码解码器;binaryMessenger:BinaryMessenger 类型,用于发送数据。name:

Flutter 中可能存在多个 Channel,Channel 之所以使用 name 来区分,当从 Flutter 端发送到 Platform 端时,需要传 channel name,之后通过 name 找到对应的 handle 来处理。

codec:

Flutter 定义了两种 Codec —— MessageCodec 和 MethodCodec,从而用来快速地编码和解码。

Flutter 作为新兴的混合开发解决方案,已经被广泛关注和使用,这不光是因为它有 Google 的支持,更因为它提供了更完善的文档和更高效的运行方式,开发者不必再把大量精力放到不同平台的展示上,更好的完成自己的业务,从企业管理者角度看,也大大降低了开发成本。