uni-app 多端编译原理

  • uni-app 分 编译器和运行时(runtime),实现一套代码,多端运行主要是这两部分配合完成的, 编译器将开发者的代码进行编译,编译的输出物由每个平台各自的runtime进行解析。每个平台(Web、Android App、iOS App、各家小程序)都有各自的runtime。

编译器

  1. 编译器运行在电脑开发环境。一般是内置在HBuilderX工具中,也可以使用独立的cli版。
  2. 开发者按uni-app规范编写代码,由编译器将开发者的代码编译生成每个平台支持的特有代码
    1. 在web平台,将.vue文件编译为js代码。与普通的vue cli项目类似
    2. 在微信小程序平台,编译器将.vue文件拆分生成wxml、wxss、js等代码
    3. 在app平台,将.vue文件编译为js代码。进一步,如果涉及uts代码:
      1. 在Android平台,将.uts文件编译为kotlin代码
      2. 在iOS平台,将.uts文件编译为swift代码
  3. 编译器分vue2版和vue3版
    1. vue2版:基于webpack实现
    2. vue3版:基于Vite实现,性能更快
  • 编译器支持条件编译,即可以指定某部分代码只编译到特定的终端平台。从而将公用和个性化融合在一个工程中。

运行时(runtime)

runtime不是运行在电脑开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值