【问题标题】:Ionic2 client + Meteor server, which approach is better?Ionic2 客户端 + Meteor 服务器,哪种方法更好?
【发布时间】:2017-06-08 01:40:54
【问题描述】:

我希望 Meteor 作为服务器,Ionic2 作为客户端。我目前对身份验证感到头疼。似乎有两种不同的方法:

  1. 首先是使用 ionic-angular 库的 Meteor 服务器和 Meteor 客户端。这里描述的这种方法

https://angular-meteor.com/tutorials/socially/angular2/ionic2

我猜这种方法的优点是使用 Meteor 原生架构,另一方面我猜我们使用 Ionic2 就像一个子框架一样,可能会丢失原生 Ionic2 的一些东西。

  1. 第二个是使用单独的 Meteor 服务器(“客户端”文件夹完全删除)和本机 Ionic2。这里描述的这种方法

https://angular-meteor.com/tutorials/whatsapp2/ionic/authentication

此选项反之亦然:使用原生 Ionic2,但它必须使用 meteor-client-sideaccounts-base-client-sideaccounts-password-client-side 等库,我不确定这些库是否适用于 Meteor。

第一种方法看起来更好,因为有一个现成的 UI 组件用于身份验证。但我想知道,当我来到为不同类型的设备完成申请的步骤时,我会遇到什么问题。

提前感谢您的帮助。

【问题讨论】:

    标签: authentication meteor ionic2 meteor-accounts


    【解决方案1】:

    这些方法对于身份验证本身基本相同。 您所指出的更多是关于选择什么移动平台来开发和运行移动项目。

    在第一种情况下,您使用 Meteor 的内置 Cordova 平台来运行应用程序和 Meteor 的编译器和捆绑程序插件(如 TypeScript 包或 Babel 和 UglifyJS 的 Meteor 核心包等)来开发应用程序。在第二种情况下,您仅在 Ionic 2 CLI 上开发和运行应用程序。

    但是从应用程序逻辑的角度来看,这些方法是完全相同的:您导入相同的 Ionic 2 组件并使用相同的 Meteor 包,第二种情况的唯一区别是这些包现在是 NPM 而不是 Atmosphere 包(本质上尽管它们包含相同的脚本,因为这些 NPM 是由 Atmosphere 包构建的)。

    What'sApp 克隆以不同于 Socially 的方式构建的原因在 README 中进行了简单描述 WhatsApp 存储库(请参阅 https://github.com/Urigo/Ionic2CLI-Meteor-WhatsApp)。再说一遍:由于 Ionic 是专门用于构建移动应用程序的最佳 Web 框架之一,因此可以合理地猜测,它在构建它们方面会(并且很可能)比 Meteor 本身强大得多。从这个角度来看,第二种方法似乎更具前瞻性,我想说。您甚至可以考虑以某种方式构建您的项目,如果您决定在未来的某个时间点使用 Meteor,您可以轻松地将其替换为其他框架。

    如果您担心使用第二种情况中提到的那些 NPM(例如,如果构建它们的过程对您来说看起来不透明),您可以尝试这个项目 https://github.com/Urigo/meteor-client-bundler 将您需要的 Atmosphere 包捆绑到单独的脚本并在之后使用它们。

    【讨论】:

    • 谢谢你的回答,很有帮助!我会尝试这两种方法。如果我开始使用 Apollo,我认为第二种方式更为常见,因为这种情况下的服务器-客户端关系会变得更短。谢谢你的链接捆绑器,我自己找不到。
    猜你喜欢
    • 2020-11-01
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-03
    • 2016-01-26
    相关资源
    最近更新 更多