INAS项目主要业务难点在与音视频播放,word、PDF文件读取,文件上传下载,而这些业务对于Flutter来说都有很成熟的解决方案!解决方案如下图:

视频播放 video_player1.0.1,image.png
音频播放 audioplayers0.17.0image.png
word、PDF等文件的查看 flutter_filereader2.2.0 image.png
文件上传下载(需要支持断点下载、不支持断点上传) flutter_downloader 1.5.2image.png
本地文件的读写 使用PathProvider 插件和Dart的IO库在Flutter中读写文件 image.png
数据库 sqflite 1.3.2+1image.png
分享资源 sharesdk_plugin 1.2.8image.png
获取视频缩略图 video_thumbnail 0.2.5image.png

总结:除了filereader这个插件其余插件都已经很成熟了,因此在开发方面是不会有什么风险的。退一万步说,假如插件有风险,依然可以混编原生

使用Flutter开发的优势

  1. 工作量减半,可以留出更多时间来debug
  2. flutter写起来比原生的顺滑,因为flutter集成了很多常用的Material
  3. Flutter的性能相比原生来说丝毫不差
  4. 从根本上避免了两端一致性的问题

    使用Flutter开发对于本项目的风险

  5. 本公司目前还没有一款完整的Flutter app应用