Ionic2 客户端 + Meteor 服务器,哪种方法更好?
Ionic2 client + Meteor server, which approach is better?
我想将 Meteor 作为服务器,将 Ionic2 作为客户端。我目前对身份验证感到头疼。似乎有两种不同的做法:
- 首先是使用带有
ionic-angular
库的 Meteor 服务器和 Meteor 客户端。这里描述的这种方法
https://angular-meteor.com/tutorials/socially/angular2/ionic2
我想这种方法的优点是使用了 Meteor 本机架构,另一方面我想我们正在使用 Ionic2 就像子框架一样,并且可能会从本机 Ionic2 中丢失一些东西。
- 第二种是使用单独的 Meteor 服务器('client' 文件夹完全删除)和本机 Ionic2。这里描述的这种方法
https://angular-meteor.com/tutorials/whatsapp2/ionic/authentication
此选项反之亦然:使用本机 Ionic2,但它必须使用 meteor-client-side
、accounts-base-client-side
、accounts-password-client-side
等库,我不确定这些库是本机的对于流星。
第一种方法看起来更好,因为有一个随时可用的 UI 组件用于身份验证。但是我想知道,当我完成不同类型设备的申请步骤时,我会遇到什么问题。
提前感谢您的帮助。
对于身份验证本身,这些方法本质上是相同的。
您所指出的更多是关于选择什么移动平台来开发和运行移动项目。
在第一种情况下,您使用 Meteor 的 built-in Cordova 平台来 运行 应用程序和 Meteor 的编译器和捆绑插件(例如 TypeScript 包或 Meteor 核心包用于 Babel 和 UglifyJS 等)来开发应用程序。在第二种情况下,您仅在 Ionic 2 CLI 上开发和 运行 应用程序。
但从应用程序逻辑的角度来看,这些方法完全相同:您导入相同的 Ionic 2 组件并使用相同的 Meteor 包,在第二种情况下唯一的区别是这些包现在是 NPM 而不是 Atmosphere 包(本质上,尽管它们包含相同的脚本,因为这些 NPM 是从 Atmosphere 包构建的)。
What'sApp 克隆的构建方式不同于 Socially 的原因在 README 中有简单描述
What'sApp 存储库(参见 https://github.com/Urigo/Ionic2CLI-Meteor-WhatsApp)。如果重复:由于 Ionic 是最好的 Web 框架之一,专门用于构建移动应用程序,因此有理由猜测它在构建移动应用程序方面会(而且很可能)比 Meteor 本身更强大。从这个角度来看,第二种方法似乎更 future-proof,我会说。你甚至可以考虑以某种方式构建你的项目,如果你决定在将来的某个时候使用它,你可以轻松地用另一个框架替换 Meteor。
如果您担心使用第二种情况中提到的那些 NPM(例如,如果构建它们的过程对您来说不透明),您可以尝试这个项目 https://github.com/Urigo/meteor-client-bundler 来捆绑 Atmosphere将你需要的包打包到单独的脚本中,然后使用它们。
我想将 Meteor 作为服务器,将 Ionic2 作为客户端。我目前对身份验证感到头疼。似乎有两种不同的做法:
- 首先是使用带有
ionic-angular
库的 Meteor 服务器和 Meteor 客户端。这里描述的这种方法
https://angular-meteor.com/tutorials/socially/angular2/ionic2
我想这种方法的优点是使用了 Meteor 本机架构,另一方面我想我们正在使用 Ionic2 就像子框架一样,并且可能会从本机 Ionic2 中丢失一些东西。
- 第二种是使用单独的 Meteor 服务器('client' 文件夹完全删除)和本机 Ionic2。这里描述的这种方法
https://angular-meteor.com/tutorials/whatsapp2/ionic/authentication
此选项反之亦然:使用本机 Ionic2,但它必须使用 meteor-client-side
、accounts-base-client-side
、accounts-password-client-side
等库,我不确定这些库是本机的对于流星。
第一种方法看起来更好,因为有一个随时可用的 UI 组件用于身份验证。但是我想知道,当我完成不同类型设备的申请步骤时,我会遇到什么问题。
提前感谢您的帮助。
对于身份验证本身,这些方法本质上是相同的。 您所指出的更多是关于选择什么移动平台来开发和运行移动项目。
在第一种情况下,您使用 Meteor 的 built-in Cordova 平台来 运行 应用程序和 Meteor 的编译器和捆绑插件(例如 TypeScript 包或 Meteor 核心包用于 Babel 和 UglifyJS 等)来开发应用程序。在第二种情况下,您仅在 Ionic 2 CLI 上开发和 运行 应用程序。
但从应用程序逻辑的角度来看,这些方法完全相同:您导入相同的 Ionic 2 组件并使用相同的 Meteor 包,在第二种情况下唯一的区别是这些包现在是 NPM 而不是 Atmosphere 包(本质上,尽管它们包含相同的脚本,因为这些 NPM 是从 Atmosphere 包构建的)。
What'sApp 克隆的构建方式不同于 Socially 的原因在 README 中有简单描述 What'sApp 存储库(参见 https://github.com/Urigo/Ionic2CLI-Meteor-WhatsApp)。如果重复:由于 Ionic 是最好的 Web 框架之一,专门用于构建移动应用程序,因此有理由猜测它在构建移动应用程序方面会(而且很可能)比 Meteor 本身更强大。从这个角度来看,第二种方法似乎更 future-proof,我会说。你甚至可以考虑以某种方式构建你的项目,如果你决定在将来的某个时候使用它,你可以轻松地用另一个框架替换 Meteor。
如果您担心使用第二种情况中提到的那些 NPM(例如,如果构建它们的过程对您来说不透明),您可以尝试这个项目 https://github.com/Urigo/meteor-client-bundler 来捆绑 Atmosphere将你需要的包打包到单独的脚本中,然后使用它们。