AvantX:一个新的跨平台移动开发框架

  • 徐川

2015 年 5 月 11 日

话题:移动架构AndroidiOS语言 & 开发

近日在广州的一场活动上,创业公司 PeachApp 的 CTO 段岩 (Rocky Duan) 公开了他们研发的跨平台移动开发框架:AvantX。它的官方网站上公布了一些特性和设计思想。InfoQ 记者联系段岩获得了此框架的进一步信息。

AvantX 采用了 MVVM 架构,并且在 ViewModel 和 View 层之间添加视图抽象层,将 XML 编写的 UI 组件映射到对应平台的原生 UI 组件。在跨平台上,它需要首先编写 Java 代码,然后通过J2OBJC将代码转换为 iOS 平台的代码,另外开发团队还计划通过SharpenGWT支持 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 框架的开发团队目前由两人组成,他们也在国内寻找有兴趣的开发者协助框架的开发。今年他们计划在秋季和少数几个团队展开邀请测试,并在年底前开源。


感谢崔康对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者)。

移动架构AndroidiOS语言 & 开发