速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

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

  • 2015-05-11
  • 本文字数:1133 字

    阅读完需:约 4 分钟

近日在广州的一场活动上,创业公司 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 框架的开发团队目前由两人组成,他们也在国内寻找有兴趣的开发者协助框架的开发。今年他们计划在秋季和少数几个团队展开邀请测试,并在年底前开源。


感谢崔康对本文的审校。

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

2015-05-11 06:534301
用户头像

发布了 164 篇内容, 共 108.0 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

知识分享|To B产品的帮助中心页面制作方法

Baklib

限时免费领票|来云栖大会,看OceanBase 4.0最新进展

OceanBase 数据库

对比学习算法在转转的实践

转转技术团队

人工智能 推荐算法 对比学习

Java的一维数组和二维数组

陌上

数据结构 Java、 10月月更

办公无界,看华为云桌面如何助企业上“云”

科技怪授

华为云 桌面云 云桌面

一文带你更了解Java中的方法

陌上

Java、 编程、 10月月更

招聘软件哪个最好用?

优秀

招聘系统

同样是网络加速,企业为何愿意选择华为云CDN?

秃头也爱科技

DevOps | 如何快速提升团队软件开发成熟度,快速提升研发效能?

laofo

DevOps 研发效能 CMMI 敏捷研发 绩效考核

企业如何从0到1搭建BI系统

葡萄城技术团队

BI 仪表盘识别 可视化数据

换行符不一致问题终极处理方案——gitattributes

甜点cc

JavaScript 前端 代码规范 10月月更

深入浅出Python——Python基础语法全解

何极光

Python 基础 10月月更

鸿蒙开发实例|对象关系映射数据库

TiAmo

华为 华为云 10月月更

Student Management System

David

#架构实战营 极客时间架构训练营

助力企业高效率办公,华为云桌面必不可少

科技怪授

华为云 桌面云 云桌面

Baklib产品知识库|为什么说客户体验非常重要?

Baklib

从幻想走向科学:人类操纵大脑的条条大路

脑极体

汽车云服务应用场景系列报告——自动驾驶仿真测试云服务行业图谱

易观分析

云服务 汽车

跨库分页

zarmnosaj

10月月更

【通知】OBCA考试收费调整公告

OceanBase 数据库

AAX增添新网关,满足全球用户需求

股市老人

华为云CDN为用户提供专业全面的加速服务

秃头也爱科技

数据共享:VueX学习

Studying_swz

Vue 10月月更

网络请求:Vue_Axios学习

Studying_swz

Vue 10月月更

C# 关于程序退出问题学习

IC00

C# 学习 程序员 上位机 10月月更

华为云桌面,助力企业扬帆起航

科技怪授

华为云 桌面云 华为云桌面

IoTDB 的架构、安装启动方法与数据模式 | 小白教程文档(二)

Apache IoTDB

数据库 IoTDB Apache IoTDB

华为云桌面,随时随地助力企业轻松办公

科技怪授

华为云 桌面云 云桌面

分布式事务-消息队列实现分布式事务

zarmnosaj

10月月更

Java | static和不可变关键字final

陌上

编程 Java、 10月月更

Python在接口测试中的应用

梦笔生花

学习方法 “程”风破浪的开发者 Python接口测试

AvantX:一个新的跨平台移动开发框架_移动_徐川_InfoQ精选文章