如何打造不亚于原生应用的Web扫码App

本文探讨了如何利用WebAssembly提升Web应用性能,尤其是针对扫码功能。介绍了Web扫码的解决方案,强调前端解码的必要性,并推荐了基于WebAssembly的JavaScript Barcode SDK,如ZXing和DBR JS。此外,还分享了一个自适应的Web扫码应用示例及开发资源链接。
摘要由CSDN通过智能技术生成

现在扫码功能特别火,各种各样的App都会自带扫码功能,比如购物,账号登录。除了移动平台,桌面平台也需要扫码功能,比如文档管理系统,阅卷系统。对开发者来说,兼顾性能的跨平台的开发语言和框架是最佳选择,比如React Native,Cordova,Flutter,Xamarin。这个时候微信弄出来一个小程序开发,大大简化了移动应用开发复杂度。本质上和那些开发框架是一样的,只是以微信为容器,实时加载Web资源,并转换成原生界面。那么为什么不直接选择Web开发?Web应用本身就是跨平台的,在任何设备上只要有一个浏览器就可以运行。主要缺陷就是性能不及原生应用。这就是为什么Web开发者需要WebAssembly。

关于WebAssembly

WebAssembly诞生的目的就是让Web应用的性能接近原生应用。开发者可以把C/C++代码编译成可以在浏览器中运行的wasm文件。WebAssembly即将支持多线程编译,在Chrome 70中已经可以体验。WebAssembly还在不断优化中。

Web扫码解决方案

如果用HTML5来打造一个用于浏览器的扫码应用,你可以选择在浏览器端解码,或者把图像传输到服务器端解码。在浏览器中直接解码的好处是没有传输消耗,但是一般的JS条形码库性能太糟糕。如果是在服务器端解码,那么如果网络糟糕就会成为问题。前端解码肯定是首选方案,因此条形码SDK的性能就非常重要。

基于WebAssembly打造的JavaScript Barcode SDK

现在很多C/C++的条形码识别SDK被编译成了wasm。有免费的比如ZXing,也有商用的比如DBR JS。Web开发者可以根据自己对识别质量的需求来选择需要的SDK。

Web扫码应用

这是Dynamsoft发布的自适应Web扫码应用。你可以在桌面或者手机浏览器中打开 https://demo.dynamsoft.com/dbr_wasm/barcode_reader_javascript.html。
web扫码

如果要自己开发,可以参考下面的代码片段:

<!DOCTYPE html>
<html>
<body>
    <div id="divLoadInfo">loading...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值