写点什么

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

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

关注

评论

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

Java数据库项目之满汉楼

timerring

Java

GitHub笔记疯抢竟崩溃!Redis完整开发实战居然包含大厂同款项目

Java你猿哥

Java redis ssm java面试 Redis 核心技术与实战

volatile 关键字与计算机底层的一些杂谈

Java你猿哥

Java volatile JVM ssm java知识点

Nest.js JWT 验证授权管理

程序员海军

Node JWT nest

PoseiSwap缘何成DEX赛道新宠?POSE价值分析

西柚子

在 Python 中如何使用并发模型编程

江湖十年

Python 并发编程 多线程 协程 多进程

解密 Golang 哈希算法:深入了解 MD5、SHA-1 和 SHA-256

Java你猿哥

Java golang 算法 哈希算法 Go 语言

首个支持RWA交易的订单簿DEX-PoseiSwap,即将开启IEO

西柚子

Makefile基础教程:从零开始学习

小万哥

程序员 面试 后端 C/C++ makefile

如何使用Go语言实现ISP原则

Jack

Nautilus Chain 或成未来最好的链上隐私生态

鳄鱼视界

Java字节码 - ByteBuddy原理与使用(下)

骑牛上青山

Java bytebuddy 字节码

记录一次解决Maven依赖冲突的过程

做梦都在改BUG

Java maven

C语言编程-基本语法

梦笔生花

PoseiSwap缘何成DEX赛道新宠?POSE价值分析

股市老人

面试官:断网了,还能 ping 通 127.0.0.1 吗?

Java你猿哥

Java 架构 ssm ping

GitHub万赞,不愧是腾讯大牛总结的操作系统笔记,面面俱到太全了

Java你猿哥

Java 面试 多线程 ssm 线程与进程

玩转Netty,从“Hello World”开始!

Java你猿哥

Java Netty ssm

百万年薪大佬甩出的SpringBoot趣味实战手册,GitHub标星81.6K

Java你猿哥

redis spring Spring Boot Spring MVC 消息队列对比

23年最新Java岗常见面试题及答案(1000道),90% 的公司都会问到

Java你猿哥

Java MySQL zookeeper JVM java面试

首个支持RWA交易的订单簿DEX-PoseiSwap,即将开启IEO

股市老人

首个支持RWA交易的订单簿DEX-PoseiSwap,即将开启IEO

BlockChain先知

Django笔记二十九之中间件介绍

Hunter熊

Python django 中间件 middleware

AIGC产业研究报告2023——语言生成篇

易观分析

智能 制造

骨灰级技术大牛左耳朵耗子(陈皓)突发心梗离世。

福大大架构师每日一题

福大大

2023-05-15:对于某些非负整数 k ,如果交换 s1 中两个字母的位置恰好 k 次, 能够使结果字符串等于 s2 ,则认为字符串 s1 和 s2 的 相似度为 k。 给你两个字母异位词 s1

福大大架构师每日一题

Go 算法 rust 福大大

MySQL 8.0不再担心被垃圾SQL搞爆内存

GreatSQL

MySQL MySQL 数据库 greatsql greatsql社区

Java字节码 - ByteBuddy原理与使用(上)

骑牛上青山

Java JVM bytebuddy 字节码

古鱼、恐龙和大众,相逢在百度百科的“彩虹桥”

脑极体

百科

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