即时消息应用程序的 Apache cordova 或本机开发?

Posted

技术标签:

【中文标题】即时消息应用程序的 Apache cordova 或本机开发?【英文标题】:Apache cordova or native development for an instant messaging app? 【发布时间】:2015-02-15 11:46:35 【问题描述】:

我必须为 iosandroid 开发一个移动应用程序。

我不确定是使用 Apache Cordova 的跨平台方法还是使用 Eclipse ADT 和 Xcode 在本机环境中进行开发。 原生开发的问题是我必须构建两个不同的应用程序,为这两个平台做同样的工作。

我应该使用 Apache Cordova 构建单个 html/CSS/javascript 应用程序,但我对此类应用程序开发的效率存在严重怀疑。

该应用程序是用于医生的即时通讯系统,具有多媒体元素的交换功能。通过 TLS 等加密协议保护消息交换非常重要。

具体来说,我必须实现:

一个多平台注册和认证系统通信 通过 php 语言和 mysql DBMS 使用 Web 服务器; 请求和响应格式用 XML 文档定义;

通过提供机会与 特定用户;

研究医疗案例,提供参与的机会 讨论一个或多个案例;

创建带有描述、媒体附件和首字母的医疗案例 根据不同的医学专业选择参与者;

可以修改输入信息的用户配置文件。

推送通知系统(Android 版 GCM)。点击 通知会直接打开聊天;

通过 HTTPS 协议保护客户端-服务器通信,这 包括非对称加密和数据完整性功能 检查。

通过聊天可以:

通过点击照片显示用户个人资料; 报告任何滥用行为; 通过电子邮件发送对话 在 Facebook 和 Twitter 上分享对话。

我了解到混合应用程序开发效率低下,因为它依赖于 WebView 原生组件,这使得应用程序变得更重且更慢。

另一方面,原生开发方法需要更多时间,但可以确保最佳性能。 (如果应用程序写得很好)。

根据我列出的特征,您建议采用哪种方法?

谢谢:)

【问题讨论】:

Node js 和 socket io 最适合聊天 【参考方案1】:

当然,如果您有足够的资源(时间、金钱等),创建原生应用程序总是更好的解决方案。

但是如果您需要节省开发时间和应用程序的功能支持,我建议您使用混合方法,但不要使用 Cordova 或 Phonegap。您可以在服务器上创建 UI 和逻辑的某些部分作为独立的 HTML5 组件,然后将其加载到应用程序的 webview 中。

简单示例:您必须实现允许用户撰写关于医生的评论的表单。

    在您的服务器上创建 HTML5 表单页面(使用 js 和 css)。您可以使用 jquery mobile 使其响应。 在您的应用(IOS 和 Android)的 webview 上加载此页面。 验证和提交表单的逻辑也在服务器(php、js)上,所以不需要在应用程序内部创建。

这种方法允许您仅将 HTML5 用于简单的事情,例如表单、弹出窗口等。您还可以随时灵活地选择要如何使用它,并且不受任何外部框架的限制。

【讨论】:

以上是关于即时消息应用程序的 Apache cordova 或本机开发?的主要内容,如果未能解决你的问题,请参考以下文章

cordova 消息推送,告别,消息推送服务器,和 苹果推送证书

ionic/cordova即时通讯解决方案(上)

Apache Cordova:“加载资源失败:服务器响应状态为 404(未找到)”

使用 Firebase 和 cordova-plugin-firebase 在 Apache Cordova Android 应用程序上构建问题

如何在 apache cordova 上安排活动?

Apache Cordova介绍