我必须为iOS和Android开发一个移动应用程序。
我还没有决定是使用Apache Cordova的跨平台方法,还是使用Eclipse ADT和Xcode在本机环境中进行开发。原生开发的问题是,我必须构建两个不同的应用程序,为这两个平台做同样的工作。
使用ApacheCordova,我应该构建一个HTML/CSS/Javascript应用程序,但我对这种应用程序开发的效率有很大的怀疑。
该应用程序是一个为医生提供的即时消息系统,可交换多媒体元素。通过TLS之类的加密协议来保护消息交换是很重要的。
具体来说,我必须实现:
-
一种通信的多平台注册和认证系统通过PHP语言和MySQL数据库管理系统与Web服务器;请求和响应格式是用XML文档定义的;
-
通过提供与特定用户;
-
有机会参与的医疗案例研究讨论一个或多个案例;
-
创建带有描述、媒体附件和首字母的医疗案例根据不同的医学专业选择参与者;
-
可以修改输入信息的用户配置文件。
-
推送通知系统(适用于Android的GCM)。单击通知会直接打开聊天;
-
通过HTTPS协议保护客户端-服务器通信包括非对称加密和数据完整性功能检查。
通过聊天,这将是可能的:
- 点击用户的照片显示用户档案
- 报告任何虐待行为
- 通过电子邮件发送对话
- 在Facebook和Twitter上分享对话
我读过关于混合应用程序开发效率低下的文章,因为它依赖于WebView本地组件,这会使应用程序变得更重、更慢。
另一方面,本机开发方法需要更多的时间,但可以确保最佳性能。(如果应用程序写得好)。
根据我列出的特点,你建议采取什么样的方法?
感谢:)
当然,如果您有足够的资源(时间、金钱等),创建本机应用程序总是更好的解决方案。
但如果你需要节省开发时间和应用程序的功能支持,我建议你使用混合方法,但不要使用Cordova或Phonegap。您只需在服务器上创建一些UI和逻辑部分作为独立的HTML5组件,然后将其加载到应用程序的webview中。
简单的例子:您必须实现一个表单,它将允许用户写一篇关于医生的评论。
- 在服务器上创建HTML5表单页面(使用js和css)。您可以使用jquery mobile使其具有响应能力
- 在您的应用程序(IOS和Android)的网络视图上加载此页面
- 验证和提交表单的逻辑也在服务器上(php,js),所以不需要在应用程序中创建它
这种方法允许你只将HTML5用于简单的事情,如表单、弹出窗口等。你还可以灵活地选择如何使用它,并且不受任何外部框架的限制。