最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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:534185
用户头像

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

关注

评论

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

【架构实战营】模块二:知识点总结

wgl

「架构实战营」

分析下微信朋友圈的高性能复杂度

Anlumina

#架构实战营

读《思辨与立场》-06 思维的要素 -02

wood

28天写作 批判性思维 思辨与立场

微信朋友圈高性能复杂度

阿门阿前一颗葡萄树๑

架构实战营 #架构实战营 「架构实战营」

设计模式:责任链模式学习笔记

Changing Lin

12月日更

Java程序中如何正确的释放资源

李子捌

Java 28天写作 12月日更

大神级插件ScriptRunner案例分享

跟YY哥学Jira

Jira automation ScriptRunner

作业:架构实战营模块 2

Poplar89

「架构实战营」

架构实战营模块二作业

Poplar

架构实战营

【docker 总结】第七篇 - nodejs项目部署

Brave

Docker 12月日更

原型模式

卢卡多多

28天写作 12月日更 原型模式

大系统中的线下团队

张老蔫

28天写作

模块二作业——微信朋友圈高性能复杂度分析

木几丶

「架构实战营」

【LeetCode】找到小镇的法官Java题解

Albert

算法 LeetCode 12月日更

架构实战训练营 - 模块 3- 作业

温安适

「架构实战营」

SRE在安全方面可以做点啥

勇往直前的胖子

PoE、PoE+、PoE++ 三款交换机如何选择?一文带你了解!

Ethereal

交换机 运维技术 PoE 弱电工程

架构复杂度分析

tony

「架构实战营」

【架构实战营】模块二:命题作业

wgl

「架构实战营」

腾讯云实时音视频(TRTC)SDK使用体验测评

为自己带盐

dotnet 28天写作 trtc-js-sdk 12月日更

第二模块学习总结

Anlumina

#架构实战营

模块九作业

bob

「架构实战营」

equals方法通用约定

李子捌

Java 28天写作 12月日更

18《重学JAVA》--JAVA异常(二)

杨鹏Geek

Java25周年 28天写作 12月日更

Volatile 初探和 Java 内存模型

悟空聊架构

SpringCloud 28天写作 passjava 悟空聊架构 12月日更

「架构实战营」模块二《如何抓住架构设计的关键点》作业

DaiChen

作业 模块二 「架构实战营」

如何配置 Nessus 漏洞扫描策略?

Ethereal

网络安全 漏洞扫描 网络技术联盟站 Nessus

模块2

Geek_59dec2

架构实战营

CSS之选择器(十一):focus-within

Augus

CSS 12月日更

Dubbo框架学习笔记六

风翱

dubbo 12月日更

全网最牛逼的华为信息中心配置命令,建议收藏!

Ethereal

网络技术 信息中心 厂商设备命令

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