共计 741 个字符,预计需要花费 2 分钟才能阅读完成。
绝大多数的国际化 APP 是通过 api 申请返回不同的语言来实现的。所谓“内容”指的并不是 APP 的 UI 界面,而是 APP 所承载的内容信息。
我在这里提供了一个不同的思路,核心思想就是把本来在云端 API 多语言查问的局部利用 Sqlite 嵌入到 App 外部去实现。起因有三:
第一、针对特定内容,信息有边界的数据,把数据从云端嵌入到本地会失去更快的响应速度。
第二、多语言 APP 的用户是各个国家地区的人员,网络状况简单,把数据从云端嵌入到本地不受网络影响能够离线应用。
第三、我没有云端的服务器 😂
技术选型
整体 APP 采纳 Flutter 来进行开发,可同时实现 iOS 和 Android 两个版本的 APP。在 Flutter 框架层面抉择了 GetX 框架,这个框架上手十分的简略,并且是一个高度整合的框架。基本上罕用的性能如路由、状态机、依赖、主题、国际化 等等都曾经内置进去了,能够说对老手是十分的敌对。
对 Sqlite 数据的操作抉择了 Flutter 库中的 Floor,我十分喜爱他的定义 Entity 这个个性,在后续的开发中做数据的提取绑定十分的敌对。当然目前这个库还不能反对全套的 Sqlite 个性,比如说不能用 ”count(*)” 来统计数据,但能够用 Sqlite 中的视图个性来做躲避。
在内容治理方面,这里抉择了 Strapi,应用 Sqlite 数据库并启用多语言反对。这样咱们会失去一个 Sqlite 的数据库。通过定制 Strapi 的配置文件能完满的和 Flutter 我的项目集成到一起。
举荐一些十分不便的工具,DBeaver 这个用来查看治理 Strapi 我的项目生成的 Sqlite 数据库理论的数据结构。还有一个网站“remove bg”我切实是太喜爱这个网站了,在开发 APP 时它能完满的帮你移除图片素材中的背景,使得你的 APP 能增色不少!