近日在广州的一场活动上,创业公司PeachApp的CTO段岩(Rocky Duan)公开了他们研发的跨平台移动开发框架:AvantX。它的官方网站上公布了一些特性和设计思想。InfoQ记者联系段岩获得了此框架的进一步信息。
AvantX采用了MVVM架构,并且在ViewModel和View层之间添加视图抽象层,将XML编写的UI组件映射到对应平台的原生UI组件。在跨平台上,它需要首先编写Java代码,然后通过J2OBJC将代码转换为iOS平台的代码,另外开发团队还计划通过Sharpen、GWT支持Windows Phone和Mobile Web平台。
AvantX框架的特性:
- 视图抽象层提倡UI组件和业务逻辑的分离,大大促进了UI组件的可重用性;开发者可拓展抽象层,加入深度定制的Ui组件
- 开发模式下可实时预览UI界面的更新,达成与HTML5媲美的敏捷开发体验
- 可动态加载XML文件,实现远程更新UI界面和部分业务逻辑
- 采用各平台原生的内存管理,对开发者可见,所翻译代码易读,方便调试。
- 通过J2OBJC直接调用iOS原生API。
- 可动态调控的事件记录功能,后台可实时获取在线用户当前页面、历史操作
- 支持可动态更新的A/B测试,调整页面模板即可实现。
- 通过定义页面URI获得方便的页面跳转、深度链接、推送消息跳转能力。
你可以在这个视频Demo观看它的一些特性。视频中还展示了live coding能力,无需重新编译即可查看用户界面的修改结果。
和HTML5、React Native、Xamarin等移动跨平台开发解决方案相比,AvantX在内存管理、原生API调用、调试等方面都有着自己的优势。因为AvantX在本质上只共享Model, ViewModel和视图抽象层的代码,对于iOS平台,通过J2OBJC将所有代码都翻译到Objective-C原生代码,而视图抽象层也映射到各平台的原生UI组件,因此能完美地与原生移动开发环境和工具链相配合使用。
至于为何开发这个框架,段岩对记者表示:“作为有Web前端背景的移动开发者,我们深深感到移动端工具链和Web前端工具链的差距。Web前端的敏捷开发特性是不少移动开发者青睐HTML5的根本原因,但是,HTML5相比起Native开发在用户体验和性能上仍有不小的鸿沟,使得想开发精品应用的开发者望而却步。而一些跨平台解决方案,如Qt,React Native,Xamarin等等,要么用户体验非原生,要么开发体验不透明。这是我们决定自己着手写一套框架的原因。”
AvantX框架的开发团队目前由两人组成,他们也在国内寻找有兴趣的开发者协助框架的开发。今年他们计划在秋季和少数几个团队展开邀请测试,并在年底前开源。