0530-3433334

网站建设 APP开发 小程序

知识

分享你我感悟

您当前位置>首页 >> 知识 >> 软件开发

基本语言和开发规范(Uni-App)的技术架构及应用

发表时间:2023-10-08 13:04:12

文章来源:炫佑科技

浏览次数:133

菏泽炫佑科技

基本语言和开发规范(Uni-App)的技术架构及应用

Uni-App是一家公司()的产品,该公司承诺永远开源、免费。

公司有4个产品:

2. Uni-App的优势

我个人认为核心优势是uni-app适合小公司。 当只有前端开发人员时,很容易调用原生功能,而且还可以同时将应用放到微信小程序和应用商城上,大大降低了应用的成本。 发展门槛加快,业务发展壮大。 在里面写一个自定义的目录标题)

2. Uni-App 技术架构 1. 技术架构

2. 技术栈

html+css++vue+uni-app 自定义标签

uni-app项目需要使用vue格式来组织编码文件格式(语法也和微信小程序很相似,因为都是引用vue格式),但是html标签不再是完全原始的html标签。 例如div->view、span->text等。这意味着如果一个项目是使用uni-app开发的,那么后续就无法转换为VUE项目或者小程序项目。

基本语言和开发规范

uni-app代码编写,基础语言包括js、vue、css。 以及 ts 和 scss 等 css 预编译器。

在应用程序方面,它还支持nvue进行原生渲染,以及可以编译为和swift的uts。

还提供了使用js编写服务器代码的云引擎。 所以只要掌握了js,就可以开发web、iOS、各种小程序、服务器等全栈应用。

为了实现多端兼容并综合考虑编译速度、运行性能等因素,uni-app约定以下开发规范:

uni-app分为编译器和运行时()。 uni-app可以实现一套代码、多终端操作,这是通过这两部分的配合完成的。

编译器编译开发人员的代码,编译后的输出由每个终端解析。 每个平台(Web、App、iOS App、每个小程序)都有自己的平台。

翻译员

编译器支持条件编译,这意味着您可以指定代码的某一部分仅编译到特定的终端平台。 从而将宣传性和个性化融为一体。

运行()

它不是运行在计算机开发环境中基本语言和开发规范(Uni-App)的技术架构及应用,而是运行在真实的终端中。

uni-app在每个平台(Web、App、iOS App、各种小程序)都有自己的版本。 这是一个比较大的工程。

小程序方面,uni-app主要是vue的小程序版本。 页面路由、组件、API等基本都被转义了。

在 Web 端,uni-app 相比普通 Vue 项目多了一套 UI 库、页面路由框架和 uni 对象(即通用 API 封装)。

App端,uni-app比较复杂。 可以简单理解为拥有一套小程序引擎。 在打包应用时,将开发者的代码和小程序打包成apk或ipa。当然,确实有原生应用程序实现小程序的小程序引擎产品。 详细信息请参见

uni-app包括3部分:基础框架、组件、API。

基本框架:

包括语法、数据驱动、全局文件、应用管理、页面管理、js引擎、渲染排版引擎等。

在网页和小程序上,uni-app不需要提供js引擎和排版引擎。 直接使用浏览器和小程序即可。但应用程序需要由uni-app提供

App的js引擎:App-on、uni-app的js引擎是v8、App-iOS是

App的渲染引擎:同时提供2套渲染引擎。 .vue页面文件由.vue渲染,原理与小程序相同; .nvue页面文件由渲染,原理与react相同。 开发者可以根据自己的需求选择渲染引擎。 组件: API:

还提供了插件市场,大多数有用的组件和API已经有现成的插件。

逻辑层和渲染层分离

在Web平台上,逻辑层(js)和渲染层(html、css)都运行在统一的环境中。

但在小程序和App端,逻辑层和渲染层是分离的。

分离的核心原因是性能。 过去,许多开发者抱怨基于它们的应用程序性能不佳。 主要原因是js计算和界面渲染争夺资源造成的滞后。

不管是小程序还是App,逻辑层都是独立的独立的js引擎,渲染层还是一样的(App上也支持纯原生渲染)。

因此,请注意,小程序和应用程序的逻辑层不支持浏览器特定的API、DOM等API。 应用程序只能在渲染层,即dom上进行操作。

请仔细阅读逻辑层与渲染层分离带来的注意事项。

3. 项目搭建与调试 3. 同类型框架对比 4. Uni-App 实际开发 1. 新项目开发 2. 老项目转换 3. 嵌入移动终端

对比H5版本和小程序版本的效果。

H5版

可在PC和手机浏览器中打开,可在App中开发

输出格式 PC浏览器 浏览器 App

H5

Uni小程序版本

连接Uni-app小程序SDK,将前端输出为uni-app小程序,并在App中作为小程序运行。

访问结果:访问成功,可以正常运行。 与H5版本相比,流畅度没有太大区别。 (仅*后验证)

启动时间和应用程序包大小:

输出格式 冷启动时间 包体积(arm64-v8a 调试) 内存使用情况 打开小程序页面耗时

未连接Uni-app小程序sdk

488毫秒

11.6m

52M

不适用

接入Uni-app小程序sdk

670毫秒

23.3m

48M+114M+61M(多进程)

327毫秒

启动时间测量方法:

通过脚本自动启动/关闭Demo App主页,提取时间作为启动时间,采样20次取平均值。

主要命令如下:

    startupcommand = 'adb shell am start -n com.youdao.uni_apptestdemo/.MainActivity'
    obtainLogCommand = 'adb logcat | grep "Displayed" > tmp.txt'
    stopCommand = 'adb shell am force-stop com.youdao.uni_apptestdemo'
    proc=subprocess.Popen(obtainLogCommand,shell=True)
    for i in range(20):
        os.system(startupcommand)
        time.sleep(2)
        os.system(stopCommand)
        time.sleep(10)
    proc.terminate()

演示下载:

阐明:

五、总结 1、总体评价

开发体验不错。 该IDE功能齐全,自动化程度高。 代码提示、代码补全、代码跳转都支持。 代码运行、预览、调试方便。 多平台模拟器和工具连接良好。

App功能配置,丰富的原生功能支持app开发,在IDE中一键集成,非常方便

社区生态比较大,在调研和接入过程中,所有布置的问题都能得到及时解决。

2、注意事项

uni-app有广告接入服务,对接市场上一些主流广告商。 使用uni-app开发的应用程序无法自由访问其他广告平台。 部分应用因接入第三方广告平台而出现问题。 函数无法使用的情况。官方说法如下

炫佑科技专注互联网开发小程序开发-app开发-软件开发-网站制作等

相关案例查看更多