vase移动端跨平台 UI 开发框架
vase是全新的移动端跨平台UI开发框架,一份代码同时编译运行在Android,iOS,Web浏览器,桌面端。
得益于fanx多编译目标的设计,我们革命性的开创了一个跨平台开发流派。在Android上编译为java字节码,在iOS上编译为C,在Web上编译为Javascript。
特性
提供下列特性,让开发者能容易地创建原生编译的好看的app。
- 声明式编程。序列化格式是代码语法的子集,UI描述可以用配置文件也可以用代码。
- 丰富的UI控件。
- 简单强大的布局容器。
- 灵活的样式系统。
- 吸引人的微动画。
- 基于async/awit的Http客户端。
和其他框架的比较
vase | flutter | web app | Qt | native | |
运行性能 | 1 | 1 | 0 | 1 | 1 |
开发效率 | 1 | 1 | 1 | 0 | 0 |
本地交互性 | 1 | 0 | 0 | 0 | 1 |
包大小 | 1 | 0 | 1 | 0 | 1 |
和web技术相比,原生编译的性能更好。
和Qt等C/C++ UI框架相比,学习成本低,不会有手动管理内存引起的bug。
和flutter相比,不会大幅增加包大小,本地交互也更容易。
多目标编译的优势
在每个平台上都编译为本地语言,这样很容易与各平台原生代码交互和调试。
- 我们可以在桌面端或者浏览器端开发调试,解决手机调试打包慢的问题。
- 支持混合开发的模式,例如只部分页面的部分区域使用vase来构建。
- 当我们只面对一种语言时,xcode和Android Studio也能更容易调试,能够单步执行到内部代码。
- 各平台上的第三方SDK(地图,支付等)也能更容易集成。
- 动态插件化等机制也不会有影响。
运行原理
评论