uni-app能实现一套代码、多端运行,核心是通过编译器 + 运行时实现的:
编译器:将uni-app统一代码编译生成每个平台支持的特有代码;如在小程序平台,编译器将.vue文件拆分生成wxml、wxss、js等代码。
个人理解,这里说的编译器,和我们平时说的C++或其他的语言编译器,还是有所不同的。语言编译器,是将语言编译成CPU可识别的指令集。而uniapp里的编译器,其实是一种代码转换器。将uniapp规则的代码转换成符合各个平台规则的代码。
运行时:动态处理数据绑定、事件代理,保证Vue和平台宿主数据的一致性;
这里说的运行时,其实就是一些js库(函数),用于支持各个平台的功能。
uni-app项目根据所依赖的Vue版本不同,编译器的实现也不同:
vue2:uni-app编译器基于wepback实现
vue3:uni-app编译器基于Vite实现,编译速度更快,详见:vue3和vite双向加持,uni-app性能再次Ti升(opens new window)
uni-app项目根据创建方式的不同,编译器在使用上也有差异:
cli 方式创建的项目,编译器安装在项目下。编译器不会跟随HBuilderX升级。如需升级编译器,可以使用 @dcloudio/uvm 管理编译器的版本,如 npx @dcloudio/uvm。
HBuilderX可视化界面创建的项目,编译器在HBuilderX的安装目录下的plugin目录,随着HBuilderX的升级会自动升级编译器。
已经使用cli创建的项目,如果想继续在HBuilderX里使用,可以把工程拖到HBuilderX中。注意如果是把整个项目拖入HBuilderX,则编译时走的是项目下的编译器。如果是把src目录拖入到HBuilderX中,则走的是HBuilderX安装目录下plugin目录下的编译器。
uniapp的好处就是抹平了各个平台之间大部分的差异,而且使得开发者可以使用vue的方式快速开发,极大的提供了开发者的效率。
每个平台都有自己的特色功能,这些时uniapp无法提供的。面对这些差异时,开发者往往多有抱怨,因为不得不使用烦人的条件编译。但是,还是要多想想使用uniapp的好处,如果没有uniapp,每个平台的代码都要单独维护,工作量几乎时要翻倍的增长的。
-
微信小程序黑名单功能微信小程序黑名单功能
-
微信小程序隐私协议弹框不弹微信小程序隐私协议弹框不弹
-
担心WordPress REST API暴露用户名?这里有一个简单的屏蔽方法!在深入探讨WordPress REST API的利用与功能时,追格小编虽已分享了多篇相关内容,但我们依然理解,部分用户可能仍对网站用户名暴露的问题心存顾虑,尤其是当他们并不需要使用到如古腾堡编辑器或小程序等特定功能时。针对这一关切,今天小编特地为大家介绍一种有效的屏蔽方法。
-
微信小程序打开任意公众号文章 wx.openOfficialAccountArticlewx.openOfficialAccountArticle是微信小程序通过小程序打开任意公众号文章api,不包括临时链接等异常状态下的公众号文章,必须有点击行为才能调用成功。
-
追格小程序V2.5.0更新发布追格小程序V2.5.0版本的更新,我们没给大家添太多新花样,主要是把“内功”练好了。我们认真检查了上一版里那些组件之间的小摩擦,一点点地调整、优化,搞定了超过40多个小地方。这样一来,小程序跑起来就更顺畅了,大家用起来也会感觉更舒服、更顺手。这次虽然没大张旗鼓,但确实是让产品站得更稳、更可靠了。
-
追格小程序V2.5.8更新发布追格小程序是一款采用积木式理念的微信小程序构建框架,它巧妙融合了uniapp与WordPress技术,打造出一个开源且无加密限制的开发环境。
暂无评论,抢个沙发...