vase 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
vase 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
vase 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
vase 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
vase 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 AFL-3.0
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发GUI开发框架
开源组织
地区 国产
投 递 者 chunquedong
适用人群 未知
收录时间 2021-10-09

软件简介

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(地图,支付等)也能更容易集成。
  • 动态插件化等机制也不会有影响。

运行原理

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/08/09 10:26

CSU-ACM2018暑假集训比赛5 题解

POJ1157 LITTLE SHOP OF FLOWERS(dp) Description You want to arrange the window of your flower shop in a most pleasant way. You have F bunches of flowers, each being of a different kind, and at least as many vases ordered in a row. The vases are glued onto the shelf and are numbered consecutively 1 through V, where V is the number of vases, from left to right so that the vase 1 is the leftmost,...

0
0
2017/09/15 08:30

whistle 使用实践

whistle 是一款用 Node 实现的跨平台的 Web 调试代理工具,支持查看修改 http(s)、Websocket 连接的请求和响应内容。简而言之就是 Node 版的 Fiddler、Charles,不过这个工具能远比后两者更加适合 Web 开发者、使用更简单、功能也更加实用,而笔者使用了 1 个月后发现完全可以代替 Fiddler、Charles。 安装&运行 whistle 运行时会监听一个端口,把 Chrome(或其他程序)转发到该端口的数据处理后再返回,而在 Chrome 里则通过一...

0
0
发表了博客
2019/04/10 23:52

(6)How language shapes the way we think

https://www.ted.com/talks/lera_boroditsky_how_language_shapes_the_way_we_think/transcript 00:12 So, I'll be speaking to you using language ... because I can. This is one these magical abilities that we humans have. We can transmit really complicated thoughts to one another. So what I'm doing right now is, I'm making sounds with my mouth as I'm exhaling['eksheɪlɪŋ]呼气. I'm making tones and ...

0
0
发表了博客
2020/04/26 19:22

centos7本地yum配置和使用

1. 挂载系统光盘 2. 挂载光盘 使光盘内的rpm包可用 创建光盘挂载点目录 [root@localhost ~]# mkdir /mount 挂载光盘 [root@localhost ~]# mount /dev/cdrom /mount mount: /dev/sr0 is write-protected, mounting read-only 挂载完毕后 就可以看到光盘内的rpm包 rpm包在挂载路径下的Packages目录 [root@localhost ~]# ls /mount/Packages/ ··· ··· zip-3.0-11.el7.x86_64.rpm zlib-1.2.7-18.el7.x86_64.rpm zlib-devel-...

0
0
发表了博客
2019/12/20 02:06

ArchLinux基本安装后安装i3wm基本环境

链接wifi : 输入wifi-menu然后看着连自己的wifi,输入wifi密码,就好了 验证是否联网使用:ping www.baidu.com 联网后开始如下操作 1 安装常用工具 输入 pacman -S zsh git unrar zip unzip openssh glances htop iftop screenfetch tree vlc wget net-tools 2 安装yaourt 输入 vim /etc/pacman.conf 文件末尾加入 [archlinuxcn] SigLevel = Optional TrustAll Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch 保存退出...

0
0
发表了博客
2016/12/05 22:59

Django urls 配置 ,模版url调用

urls.py 配置方法 1、先配置全局工程下的 url 分发,通过不同的url 匹配规则,分发到不同的app (app可理解为不同的站点) 一般设置全局工程的 url.py 分发到 ----------->不同站点(app)下的 urls.py from django.conf.urls import url,include #include 要新增 from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), #系统默认 url(r'^android/',include('android.ur...

0
0
发表了博客
2015/02/13 16:40

编程语言的唯一性

  C++   C++这个词在中国大陆的程序员圈子中通常被读做“C加加”,而西方的程序员通常读做“C plus plus”,“CPP”。 它是一种使用非常广泛的计算机编程语言。C++是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。   JAVA   Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部