1.uni-app是基于Vue的前端框架,开发者遵循Vue语法规范,编写一套代码,可同时编译发行到小程序、H5等多个平台;相比其他框架,优势在于直接发行,开发者无需在编译后代码上做二次开发或补充,可直接上传发布到服务端,这“可能”是社区里支持小程序、H5跨端最彻底的框架。背景
2.随着微信小程序的火爆及百度、头条小程序的持续推进,跨端开发的需求愈发迫切,业界随之出现了一系列的跨端框架,但对于H5平台跨端支持的都不太彻底:Vue技术栈的小程序框架:对于H5平台支持普遍较弱部分React技术栈的小程序框架:虽支持生成可在H5端运行的代码,但仅仅是代码可运行,离项目直接发行上线的目标还存在一定差距。
3.鉴于客观需求及现状,DCloud前端团队响应开发者彻底跨端的呼声,经过连续奋战,uni-app1.2版本支持发行到H5平台,完整模拟小程序生命周期、事件处理、组件规范等,真正实现“一套代码、多端发行”的目标。
4.本文主要分享,我们在实现uni-app发行到H5平台时,在引擎实现、差异抹平、性能优化方面都做了哪些工作。完整模拟小程序引擎
5.uni-app设计的开发标准是:Vue.js的语法+小程序的API+条件编译扩展平台个性化能力。其中:Vue.js的语法在微信小程序端,uni-app是在mpvue的基础上增强实现的,在H5端则默认支持;而小程序的API,其实包括三个部分:框架+组件(UI)+接口(API),这三部分在微信小程序端是内置支持的,而uni-app若要发布到H5平台,则需完整模拟实现小程序运行时环境。
6.如下是一