工厂手持安卓设备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

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Python实现Microsoft Office自动化的几种方式及对比详解

《Python实现MicrosoftOffice自动化的几种方式及对比详解》办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用... 目录一、基于COM接口的自动化(pywin32)二、独立文件操作库1. Word处理(python-d

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Java常用注解扩展对比举例详解

《Java常用注解扩展对比举例详解》:本文主要介绍Java常用注解扩展对比的相关资料,提供了丰富的代码示例,并总结了最佳实践建议,帮助开发者更好地理解和应用这些注解,需要的朋友可以参考下... 目录一、@Controller 与 @RestController 对比二、使用 @Data 与 不使用 @Dat