工厂手持安卓设备APP场景下uniapp和安卓原生开发的对比分析

2024-03-14 16:12

本文主要是介绍工厂手持安卓设备APP场景下uniapp和安卓原生开发的对比分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       去年上半年,我们整合了本市某行业各个工厂手持安卓设备app的功能需求,主要包括红外扫码(条形码和二维码)、标签打印机蓝牙打印、工时填报、流程审批等,特点是工厂内网使用,用户量小但是每天的使用量非常大,且用于车间工人生产包装产品的关键环节,app出问题会造成工厂停工停产的严重后果。

       由于市场竞争激烈,行业内卷造成最终争取到的用于开发的金额不高,导致开发周期很短,对于原生安卓开发来说,没有足够的人/天,无论是时间还是单价。经过慎重考虑,我们决心采用uni-app来开发这一款产品。基于Vue框架的uniapp可以使用Vue.js、HTML、CSS等前端语言进行开发,具备Vue的优秀特性,如数据绑定、组件化、虚拟DOM等,大大提高了开发效率,同时得益于uniapp的流行,它的社区非常活跃,有大量插件可供使用,也有很多问题和解决方案可供参考。,以便我们能够快速向客户交付产品。

        我们的开发人员从开发第一个功能页面扫码录入信息的表单,仅仅用了很短的时间就开发完成,然而交付功能测试后遇到了无法承受的问题。在测试人员用扫描枪测试时发现扫描码中有中文的话到输入框会乱码,这是WebView渲染的问题,只有原生渲染才可以解决这个问题。uniapp端内置了一个基于 weex 改进的原生渲染引擎,提供了原生渲染能力。在 App 端,如果使用 vue 页面,则使用 webview 渲染;如果使用 nvue 页面(native vue 的缩写),则使用原生渲染。也就是说只是一个最开始的需求扫描枪扫码的功能,就导致前面所讲的那些uniapp的相关vue的优点荡然无存了。

nvue 总结:

  • nvue 页面均采用 flex 布局,不支持其他布局方式,需要注意的是 flex 默认为竖向排列,即 flex-direction: column。
  • 目前不支持在 nvue 页面使用 scss、less 等预编译语言。
  • 不能在 style 中引入字体文件,nvue 中字体图标的使用参考:weex 加载自定义字体。
  • nvue 暂不支持运行在模拟器上。

        还有一个问题就是相比于早已经存在了十几年的React Native,nvue (native vue 的缩写)貌似是个很新的东西,用起来非常不灵活,社区里面的帖子也很有限。所以,对于任何的app开发框架来讲,我们还是降低期待,凑合着用吧,都差不多。

       

这篇关于工厂手持安卓设备APP场景下uniapp和安卓原生开发的对比分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/808952

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Springboot中分析SQL性能的两种方式详解

《Springboot中分析SQL性能的两种方式详解》文章介绍了SQL性能分析的两种方式:MyBatis-Plus性能分析插件和p6spy框架,MyBatis-Plus插件配置简单,适用于开发和测试环... 目录SQL性能分析的两种方式:功能介绍实现方式:实现步骤:SQL性能分析的两种方式:功能介绍记录

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

基于Python开发PPTX压缩工具

《基于Python开发PPTX压缩工具》在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,不便于传输和存储,所以本文将使用Python开发一个PPTX压缩工具,需要的可以了解下... 目录引言全部代码环境准备代码结构代码实现运行结果引言在日常办公中,PPT文件往往因为图片过大而导致文件体积过大,

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为