Port Angular JS客户端应用程序到Android

时间:2015-04-08 18:00:50

标签: android angularjs google-chrome

上下文 在我们的项目Bahmni(低资源非营利性医疗保健机构的开源EMR)上,我们有一个Angular JS前端。截至目前,Bahmni仅用于内网。现在,它将安装在整个国家(云端),全国各地的Android 4.3手机社区健康工作者将使用它。由于其第三世界国家互联网连接最多是2G连接,这也是一种奢侈品,并且在大多数地方都不会提供。

要求: 即使应用程序部署在云上,我们也希望保持相同的用户体验。由于Internet是一个问题,我们认为在离线模式下启用应用程序将解决该问题。我们真的想坚持使用Angular JS前端,因为对于我们的其他实现有很多积极的开发,并且所有用户的需求都是相同的,所以我们真的不想重复Angular的开发工作JS前端和Android应用程序。当前的Angular-JS代码库足以证明不能迁移到更适合我们用例的东西。 Google-Chrome是唯一可与该应用程序完美配合的浏览器。

当前的思路: 我们正在寻找的是一种我们可以在Angular JS前端上构建包装器Android应用程序的方法,这样它就可以在离线模式下使用,而不需要Chrome的数据存储限制(我们正在考虑存储/缓存大量数据) 。当移动设备具有互联网连接以将捕获的数据同步回后端时,我们正在查看Indexed-DB和Service worker以及与主云的自定义同步机制。

我真的不知道从哪里开始寻找这样的东西。我们在团队中没有任何Android专业知识,但拥有大量的架构专业知识。我现在想到的是构建一个包装器类型的Android应用程序,这将使我能够进行大量的数据存储访问而不受Android设备的限制,并且APK的构建过程集成了Angular JS前端并包含它在APK中。我想到的另一种方法是甚至Angular-JS文件在网络中从互联网中提取一次,然后从Android应用程序本身使用,这将简化构建过程和新构建部署过程,但不是优雅的方法,因为良好的互联网连接确实是一个问题。也许我以完全错误的方式思考这个问题,我可以使用Android的Chrome本身来实现它。但是根据我所读到的有关Chrome存储的内容,除非您将其打造成打包的应用,否则它仅限于网络应用。我不认为这适用于Android手机。

有人可以建议新的解决方案或验证上面给出的解决方案。 我很抱歉,如果我不清楚,可以随意拍摄任何我在提供背景时可能遗漏的问题。

Angular-JS应用程序存储库 - https://github.com/Bhamni/openmrs-module-bahmniapps

1 个答案:

答案 0 :(得分:0)

查看Ionic框架,它建立在针对AngularJS优化的Apache Cordova之上。您将不得不重构模板以使用ionics指令,但Ionic肯定会提供快速跟踪混合应用程序。 http://ionicframework.com/