如何设计系统以在移动应用程序和Web上共享相同的内容?

问题描述

我正在为iOS,Android和Web开发LMS。移动应用程序是使用Flutter开发的,而Web是基于React的,因此我决定将Firebase用于后端和存储。包含的功能类似于常规LMS,列表

  • 用户身份验证
  • OTP发送
  • 视频/图像/文件访问
  • 进度跟踪等

我想知道如何加快开发速度? REST API如何在此开发中使用?如何在两个平台上共享相同的内容用户数据?您还有其他建议吗?

您的建议将有助于农村地区的孩子学习。

解决方法

为加快开发速度,并询问了如何在移动设备和Web上共享类似内容,

您可能会对将移动技术堆栈从Flutter转移到React Native感兴趣,因为这样您就可以共享React Web和React Native mobile的代码库的逻辑方面。由于React Native使用的是移动组件,因此视图可能有所不同。

您可能会考虑使用相同的设计组件(例如Material UI或Bootstrap)在网络和移动设备上搭建相似的外观。如果需要自定义,则自定义也应相同。差异是可以容忍的。

要使用的预制组件的一些示例。

  • 用户身份验证
  • OTP发送视频/图像/文件访问
  • 进度跟踪等

可以使用服务提供商来完成。 Firebase已经具有用户身份验证。可以在Google中研究OTP发送的最佳提供商。

对于视频/图像/文件,Firebase也提供存储服务。还提供进度跟踪和分析。

您可能不希望使用Firebase团队提供的SDK来代替使用纯REST API进行数据获取/发送。

https://firebase.google.com/docs/firestore/client/libraries

如果您认为同时维护移动代码和Web代码库很麻烦,则可以考虑将纯Web切换到移动优先的Web应用程序(例如PWA)。如果您不关心性能,那么用Cordova或Ionic Web视图包装React Web是另一个可行的选择。