欢迎来到uni-app x的零基础入门课程
什么是uni-app x
根据官方的定义,uni-app x 是下一代的uniapp(也就是上一代技术的升级版),它是一个跨平台的应用开发引擎。要注意的是,它不是一门新的语言,而是一整套用于跨平台开发的解决方案。
什么是跨平台应用开发?
简单来说就是:我们只需要开发一套代码,就可以生成包括以下平台的应用程序:
- iOS
- 安卓
- web端的H5页面
- 微信小程序
- 华为纯血版鸿蒙NEXT
为什么需要推出uni-app x?
既然上一代uniapp已经相对完善,为什么还要推出新的x版呢? 理由其实很简单——为了更快。
上一代uniapp的跨平台原理
在上一代uniapp中,是通过为不同平台开发不同的“外壳”实现跨平台的:
- 利用原生应用对webview的支持
- 可以简单理解为“不同平台打包了一个浏览器”,我们开发的代码在这个浏览器壳里运行。
这是一个非常天才的想法,极大降低了国人在移动互联网时代的开发成本,但也存在天生的缺陷:代码和操作系统之间需要通过“壳”交互,导致运行速度比原生开发的应用慢一些。
uni-app x如何解决运行慢的问题?
uni-app x的核心改进在于:根据不同平台生成对应的原生代码,而非依赖webview外壳。具体来说:
- 在iOS中运行的是Swift代码
- 在安卓中运行的是Kotlin代码
- 在鸿蒙中运行的是ArkTS代码
- 在H5和小程序中运行的是JS代码
实现原理:编译器的核心作用
要实现“一套代码生成多平台原生代码”,关键在于编译器——它是uni-app x引擎的核心:
- 我们编写的uni-app x代码经过编译器加工后,会直接转换为各平台的原生代码
- 整个过程无需人工干预
- 这个编译器被集成在HBuilderX工具中,今后的开发工作也将在该工具中完成
下一节,我们就来学习这个强大的HBuilderX工具。