一个Flutter跨4端开发的案例

哈喽,我是老刘

老刘做Flutter开发6年多了,在手机端的案例见到很多,PC端的确实比较少。

Flutter也的确不是PC端开发的首选。

不过前段时间无意见发现一个Flutter跨Windows、Mac、Android和iOS四个端的典型例子,百度输入法。

事情是这样的,春节前一段时间,搜狗输入法上线了一个AI助手,我觉得挺烦人的还很难彻底关掉,就决定换一个输入法,于是下载了百度输入法。

万万没想到,这个浓眉大眼的家伙也有AI助手。

可是装都装了,想着先试试能不能把AI助手禁用。

就在进程管理器里面看到了Flutter

但是只是名字可能是巧合,所以还需要确认一下是否真的使用了Flutter进行开发。

如何判断一个PC端应用采用了Flutter

看有没有相关文件

打开百度输入法的安装目录,可以很容易找到Flutter相关的文件


这回Flutter的基础文件都有了,如果不放心还可以看看flutter_windows.dll的内容

到这里基本上可以判断百度输入法的这个AI助手是Flutter开发的了。

但是我又产生了一个疑惑:为啥要选择Flutter?

因为在pc端我们有太多的选择了,而对于AI助手这类以聊天界面为主的UI,其实一个基于Web技术的开发框架是很不错的选择。

既然如此,那选择Flutter一定就是为了跨平台考虑。

于是我去百度输入法官网看了下,确实是一个跨平台的App:

又去下载了一个Android端的安装包,在里面确实也找到了Flutter的相关文件。

因此我推测百度输入法本身应该是在各个平台采用原生技术开发的,但是新增的这个AI助手,采用了Flutter作为主要的开发框架。

Flutter的典型应用场景

其实前面那些动作大多出于一个Flutter开发者的好奇心,但是仔细想想,这确实是Flutter的典型应用场景。

单纯看PC端,我觉得开发一个AI助手用Web框架是不错的选择。

但是考虑百度输入法的场景,需要同时开发手机和PC两种共四个平台。

另外这不是一个全新的App,还需要和原有的输入法一定程度进行结合。

因此开发框架的选择就需要满足以下三个条件:

  1. 足够好的跨平台能力。要能提供非常高的多端一致性体验。

  2. 足够好的性能。出于AI助手的定位,未来很有可能需要增加文档分析、画布甚至生成图片的能力。在PC端可能问题不大,但是考虑到手机端,就需要开发框架能提供非常高的性能支撑。

  3. 和原生App的无缝融合。如果后续这个AI助手做大做强很有可能会和输入法本身进一部融合,这时开发框架和原生无缝衔接的能力就会显得无比重要了。

基于上面三个条件要求,特别是多端一致性和手机端性能的要求,相信留给开发者的选择已经不多了。

而Flutter恰恰是能比较理想的满足这三个条件的开发框架。

考虑到未来这个App可能的变化,即使后续这个AI助手需要部署端侧的轻量级模型,Flutter的原生融合能力和性能也能提供有效的支撑。

所以我说这是一个典型的Flutter跨四端开发的应用场景。

总结

无意中发现这样一个Flutter的典型应用场景,相信对一些选择困难症的朋友有帮助。

另外对于希望在AI应用上做一些尝试的开发者,这也是一个很好的案例。

不管是在已有的应用中增加AI相关的功能还是开发全新的应用,都可以考虑Flutter作为核心开发框架。

另外说一下百度输入法的使用体验:

输入便利性上略微比搜狗差一点,但是差距不大,总体比微软拼音好用不少。

从性能上,微软拼音最好,百度和搜狗差不多。偶尔百度输入法会有卡顿的场景个人分析可能是后台在更新。

如果看到这里的同学对客户端开发或者Flutter开发感兴趣,欢迎联系老刘,我们互相学习。

点击免费领老刘整理的《Flutter开发手册》,覆盖90%应用开发场景。

可以作为Flutter学习的知识地图。
覆盖90%开发场景的《Flutter开发手册》

相关推荐
火炎焱燚-4 小时前
Flutter - StatefulWidget (有状态的 Widget) 和 生命周期
flutter
l软件定制开发工作室4 小时前
Flutter系列教程之(2)——Dart语言快速入门
flutter
Python私教4 小时前
Flutter屏幕适配终极方案:flutter_screenutil深度解析
flutter
小蜜蜂嗡嗡4 小时前
flutter Column嵌套ListView高度自适应问题
flutter
江上清风山间明月4 小时前
一周掌握Flutter开发--2、状态管理
flutter·getx·riverpod·inheritedwidget·valuenotifier
l软件定制开发工作室4 小时前
Flutter系列教程之(1)——环境配置、创建项目及打包apk
flutter
ShawnRacine4 小时前
Flutter-Android编译报错与解决方案汇总
android·flutter
恋猫de小郭4 小时前
Flutter 上的 Platform 和 UI 线程合并是怎么回事?它会带来什么?
flutter·ui
鹏多多.4 小时前
flutter-渐变色边框和渐变色文字和渐变色背景
flutter
GeniuswongAir4 小时前
Flutter使用permission_handler请求通知权限不会弹出权限弹窗
flutter