带有 Node.js 后端的移动应用程序 - 为客户端开发选择啥框架?

Posted

技术标签:

【中文标题】带有 Node.js 后端的移动应用程序 - 为客户端开发选择啥框架?【英文标题】:Mobile app with Node.js backend - What framework to pick for client-side dev?带有 Node.js 后端的移动应用程序 - 为客户端开发选择什么框架? 【发布时间】:2013-04-23 18:31:13 【问题描述】:

我正计划构建一个混合移动应用, 我已经在使用 Express 3 和 PAssport 进行身份验证的服务器端取得了很好的进展。 现在我需要决定在客户端使用什么框架或库。

我想知道是否可以得到一些建议,以及使用框架之类的优缺点 Sencha Touch、JQuery Mobile、Phonegap.... 如果还有其他您认为值得考虑的,请在此处提及,

感谢您的任何指点或建议

【问题讨论】:

你好,阿米尔。我只是好奇你是如何通过 phonegap 构建一个带有 nodejs 后端的移动应用程序的?您是否有任何可以通过 phonegap 构建的带有简单前端的简单 nodejs 应用程序示例?我找不到任何东西。非常感谢。 您可以尝试这个库,它是一个综合样板,在移动应用程序的客户端和后端节点上使用 Ionic(角度)。希望能帮助到你。 github.com/kumartarun/Ionic-passport-Angular 【参考方案1】:

JQuery Mobile 和 Sencha Touch 是 javascript 库,可让您创建看起来像本机应用程序的 html5 应用程序。 Cordova/Phonegap 允许您将 HTML5 应用程序封装在本机代码中,并提供一个通用 JavaScript API,使您可以访问本机功能,例如用相机拍照或获取用户联系人。使用 Cordova 的另一个好处是它使用相同的 HTML5 应用程序为您创建本机应用程序,因此您可以将这些文件发布到应用程序商店并增加您的分发。使用仅限 JQuery/Sencha Touch 的应用程序,您不能在应用程序商店中分发,因为您的混合应用程序只是一个网站(所以,我猜它只是一个移动应用程序。)

有数百篇博客文章比较了不同的 JavaScript 框架,例如 Sencha、jQuery 和 Dojo,所以你应该去阅读一些内容。我个人会推荐 Dojo,因为我认为它是最强大的企业级框架,但它可能有一个陡峭的学习曲线。我喜欢 Dojo 的一件事是构建系统,您可以选择所需的模块,这样您就不必最终包含像 JQuery 这样的巨大 .js 文件。我不知道 jQuery 是否可以做到这一点,但我看到的许多使用 Cordova 和 JQuery 的用户应用程序最终都包括所有 jQuery 和 jQuery mobile。

如果您想要访问本机设备功能和/或将 Web 应用程序打包为本机应用程序并将其分发到商店,您应该将其中一个 JavaScript 框架与 Cordova 结合使用。 (Cordova 是 PhoneGap 的新名称。)Phonegap/Cordova 并不是真正用于构建移动 Web 应用程序,而是用于扩展移动 Web 应用程序的功能,并允许它们以完全跨平台的方式访问本机设备功能。

【讨论】:

非常感谢比劳先生, 自 2.0 以来,Sencha Touch 拥有自己的打包程序,用于创建“原生”应用程序以放入商店。您仍然需要使用 Cordova 来访问相机、文件系统等。 谢谢@bjudson 我不知道。【参考方案2】:

Ionic 是一个新的框架,可用于制作我目前非常喜欢的混合应用程序。该框架是在 PhoneGap 之上使用 Sass 和 AngularJS 构建的。 Ionic 只处理前端,因此您仍然可以使用 PhoneGap 构建您的应用程序。我发现,由于它使用 AngularJS,你的 javascript 代码最终会变得更干净,并且与使用 jQuery 编写的应用程序相比,你将节省开发时间,使你的应用程序更加流畅。它还有一些漂亮的 UI 元素。 ionic 团队对该框架进行了大量速度优化,因此您的应用程序将比纯粹使用 PhoneGap 构建的典型混合应用程序感觉更加原生。该框架仍处于 alpha 阶段,但我对它印象深刻。

【讨论】:

以上是关于带有 Node.js 后端的移动应用程序 - 为客户端开发选择啥框架?的主要内容,如果未能解决你的问题,请参考以下文章

简析 Node.js 特点与应用场景(让你更了解它)

来自连接到 Node.js API 的移动客户端的社交身份验证

带有 .NET 后端的 Azure 移动服务 - 数据库中已经存在一个对象

node.js内存泄露问题记录

以 node.js 作为后端的 HTML 中的 jQuery

Flutter-node.js 对的最佳聊天框架?