原生编译的跨平台App框架,能否成为国产flutter
vase是全新的移动端跨平台UI开发框架,一份代码同时编译运行在Android,iOS,Web浏览器,桌面端。
在“什么语言最适合做 GUI?”的回答中我也介绍过相关工作,现在iOS端开发完成,这次终于做到了全平台支持。
得益于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 |
【原生编译的跨平台App框架,能否成为国产flutter】和Qt等C/C++ UI框架相比,学习成本低,不会有手动管理内存引起的bug。
和flutter相比,不会大幅增加包大小,本地交互也更容易。
多目标编译的优势
在每个平台上都编译为本地语言,这样很容易与各平台原生代码交互和调试。
- 我们可以在桌面端或者浏览器端开发调试,解决手机调试打包慢的问题。
- 支持混合开发的模式,例如只部分页面的部分区域使用vase来构建。
- 当我们只面对一种语言时,xcode和Android Studio也能更容易调试,能够单步执行到内部代码。
- 各平台上的第三方SDK(地图,支付等)也能更容易集成。
- 动态插件化等机制也不会有影响。
推荐阅读
- 热闹中的孤独
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 一个人的旅行,三亚
- 布丽吉特,人生绝对的赢家
- 慢慢的美丽
- 尽力
- 一个小故事,我的思考。
- 家乡的那条小河
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量