Flutter学习

Flutter-Native->Dart接口生成引擎Flutti

2019-12-03  本文已影响0人  StevenHu_Sir

定义

Fluttify是一个可以为原生SDK生成Dart接口的一个工具
github地址:
https://github.com/fluttify-project

为啥用Fluttify

原理介绍

antlr提供了很好的抽象层去遍历源文件,解析代码不再是难题。而且antlr提供了非常多的语法文件,这其中包括了javaobjective-c,以及后续Flutter for web和Flutter Desktop需要的语法文件,这为Fluttify的后续发展铺平了道路。

Fluttify最核心的原理就是经过antlr解析之后,产生一个结构化的SDK表示,再根据这个SDK表示生成Flutter插件工程

案例分析

高德地图中,提供了在地图上显示标记的能力,在Android端这个标记叫Marker,在iOS端叫Annotation

在Android端,只需要一步,调用AMap::addMarker(MarkerOption)即可。所有的配置项都在MarkerOption中,并且添加完成后会返回对应的Marker对象供你操作。

在iOS端,需要三步:

常规的开发方式是把功能实现下沉到原生端,然后再在Dart端对封装好的原生方法进行一层薄的抽象。这种开发方式在两端SDK接口设计一致时,碰到的阻力会比较小,比如Google Map的官方插件就是这样开发的。

上一篇 下一篇

猜你喜欢

热点阅读