哈喽,我是老刘
前段时间有个朋友加我微信找我帮忙做一个项目
他是在校学生,一个网络安全方面的课题,需要做一个系统
其中包括Android、iOS端、Web端和服务端
他研究了一下现在的各种技术栈,发现Flutter是一个比较合适的选择
于是找到我们帮他实现这个系统
整个系统整体来说相对比较简单,其中有两点我觉得对很多学习Flutter开发的同学比较有启发
一个是这种需求的场景,使用Flutter同时实现Android、iOS、Web三个端是不是最优选择
二是其中有一个页面需要实现在同一个摄像头预览窗口内完成OCR和二维码识别
其中第一个问题我后续会单独写一篇文章来讨论
今天主要集中讨论第二个问题
为什么在一个预览界面中同时实现OCR和二维码识别这个看起来不复杂的问题值得拿出来讨论呢?
我觉得这里面涉及到了几个刚开始学习Flutter的同学都会涉及到的问题
1、Flutter如何调用系统功能
很多朋友在选择Flutter时担心碰到调用系统原生功能会比较麻烦
比如定位、电池信息、相机等
首先,从技术上来说
这些功能的实现必须要调用到系统的API
而这些API只有系统原生的SDK才提供
所以对Flutter这样的跨平台开发框架来说确实是没办法直接调用这些功能的
但是Flutter生态发展到今天
基本上大多数App能用到的系统原生功能,都已经有第三方库帮你实现好了
也就是说你现在开发一个纯Flutter的App,大概率不需要自己写代码调用这些原生功能了
其次,即使你真的碰到了低概率事件
比如你要的功能没有人实现过
或者已有的三方库没办法满足你的需求
那么通过Flutter提供的MethodChannel调用原生代码也是非常简单的
就拿这次要实现的OCR和二维码识别来举例,我们看看能不能找到可以直接使用的三方库
OCR
在pub上直接搜OCR

最低0.47元/天 解锁文章
2948





