立即领取|华润集团、宁德核电、东风岚图等 20+ 标杆企业数字化人才培养实践案例 了解详情
写点什么

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

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

关注

评论

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

web前端培训-数组扁平化实现方式

@零度

前端开发 ES6

大数据培训-程序员坚持不断的学习能成大神吗

@零度

大数据开发

有了这款工具,定位线上问题事半功倍|云效工程师指北

阿里云云效

云计算 阿里云 程序员 云原生 开发

我国将筹建工业元宇宙服务平台

CECBC

浅谈电商网站开发中用户会话管理机制的设计和实现原理

汪子熙

JavaScript 电商 用户管理 电商系统 4月月更

Flink on K8s 在京东的持续优化实践

Apache Flink

大数据 flink 编程 流计算 实时计算

java培训-不干程序员了还能干什么

@零度

JAVA开发

OceanBase 在江西人社养老统筹系统的实践分享

OceanBase 数据库

oceanbase 江西人社

Ali266首次商用落地,助力优酷码率最高节省40%

阿里云视频云

阿里云 音视频 优酷 编码器 视频云

uni-app技术分享| uni-app转小程序_实时音视频

anyRTC开发者

小程序 音视频 WebRTC uniapp 实时通讯

Element Plus for Vue 3 入门教程

蒋川

Element Element Plus Element UI

【架构学习 07】——王者荣耀商城异地多活架构设计

tiger

架构实战营

建木持续集成平台v2.2.5发布

Jianmu

开源 持续集成 开发运维 建木CI

高性能云桌面服务提供商酷栈科技加入龙蜥社区,共建开源新生态

OpenAnolis小助手

开源 云桌面 龙蜥社区 CLA 酷栈科技

带码农《手写Mybatis》进度3:实现映射器的注册和使用

小傅哥

小傅哥 mybatis 手写Mybatis

云效·Insight(效能洞察)一款面向企业研发管理层的研发效能数字化度量服务

阿里云云效

阿里云 云原生 研发管理 研发效能 效能洞察

Flink 在 B 站的多元化探索与实践

Apache Flink

大数据 flink 编程 流计算 实时计算

【课程汇总】OpenHarmony成长计划知识赋能第三期系列课程(附链接)

OpenHarmony开发者

OpenHarmony ETS Openharmony啃论文俱乐部

Apache ShardingSphere 企业行|走进怪兽充电

SphereEx

开源 ShardingSphere SphereEx apache 社区 怪兽充电

分享回顾|木兰技术开放日,建木团队与你一同畅聊「云原生」

Jianmu

ci 开源 云原生 开发运维

Zadig 构建缓存如何配置才好用?

Zadig

云原生 CI/CD 软件交付 Zadig

主流跨端开发技术方案对比

Speedoooo

跨端开发 跨端 降本增效 小程序容器 轻应用

面试突击37:线程安全问题的解决方案有哪些?

王磊

Java java面试

最全讲解:GPU技术架构知识

Finovy Cloud

人工智能 GPU服务器 GPU算力

直播回顾| Apache Pulsar 2.10.0 新特性概览

Apache Pulsar

开源 架构 云原生 Apache Pulsar Apache Pulsar 社区

KubeEdge-Sedna边云协同终身学习:迈向次时代AI范式

华为云原生团队

人工智能 开源 AI 边缘计算 边缘技术

Element Plus 和 Ant Design Vue 对比测评,哪个更好?

蒋川

Vue antd vue Element Plus Element UI Ant Design

jackson学习之二:jackson-core

程序员欣宸

4月月更

深入剖析 RocketMQ 源码 - 负载均衡机制

vivo互联网技术

负载均衡 分布式 java

Linux驱动开发-编写FT5X06触摸屏驱动

DS小龙哥

4月月更

虚拟货币网络犯罪愈演愈烈 安全防护更要“多管齐下”

CECBC

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