2

I'm new to Ember.js and trying to see if it fits me.

I'm building a web app where each user can signup and get into its member area. Then the app uses a Platform via RESTful API to provide user with context-specific features (i.e. create a shared folder, upload files, etc..)

The goal is to scale the app later on and deploy it onto different domains leveraging the power of the Platform.

At this point i'm looking for the framework to supply Ember.js with data and handle persistence (i.e. storing info on new users into database and sending corresponding API call to the Platform). The topics I'm concerned with are:

  1. what's the best way to manage authentication/session via Ember.js+backend?
  2. If i have to store the data in the database anyway, why would I use Ember.js and not just rely on features already provided by MVC frameworks written in Python/PHP?

Thanks in advance for any insights and/or references.

4

2 回答 2

2

哪个框架(任何语言)最适合 Ember.js 的答案基本上是:“任何”。您可能将 Ember 视为具有文档脚本模式(如 Backbone 或普通旧 jQuery)的框架,其中服务器呈现文档,而 javascript 逐渐将其行为增强为不那么静态的东西。最好将 Ember 想象成一个微型 Cocoa / Android,它将浏览器作为运行时环境而不是特定的移动平台。

无论环境如何,客户端应用程序都适用于任何语言和任何服务器应用程序 Web 框架。只要应用程序使用 HTTP 并支持发送数据(不仅仅是渲染页面),你就可以了。您甚至不必一定使用 JSON 作为数据格式,尽管如今大多数人都选择这种格式。

要回答您的其他问题:

  1. 身份验证是 Web 上的服务器问题,因此 Ember 与它没有任何关系。将整个应用程序放在登录页面后面,并使用您想要的任何身份验证机制。如果您的应用程序的某些部分需要在身份验证之前公开,我只需在身份验证之前和之后公开一个完全不同的构建(或具有不同路由器的相同构建)。否则,您会发现isAuthenticated支票在您的路线和模板中乱扔垃圾。

  2. 您会为浏览器编写完整的客户端应用程序,原因与任何人在任何地方构建客户端应用程序的原因相同:状态性和数据传输成本。Web 设计为无状态。您可以通过会话获得基本的无状态,如果您的应用程序可以被视为一系列文档,这就足够了。完全跳过客户端应用程序,将客户端设备视为愚蠢的文档查看器。如果您有更复杂的状态需求,则需要在客户端环境中自行处理。一旦你决定这是必要的,你会发现发送数据比发送页面或页面片段便宜得多。因此,您的服务器应用程序(以您想要的任何设计模式)公开数据,而您的客户端应用程序(以类似 MVC 的模式)使用、显示、并允许通过这些数据进行导航和交互。如果您的客户端是在 iPhone 上运行的 ObjC/Cocoa、Android 上运行的 Java、Roku 上运行的 BrightScript、浏览器中运行的 Ember,甚至是为需要远程数据的 Windows 应用程序提供支持的 C#,那么情况就是如此。

于 2013-02-03T14:23:22.180 回答
0

我没有使用过 Ember.js 但我很好奇看到你的问题,我只是在谷歌上输入了“ember js and”。没有 Python,但第三个选项是 PHP。最多的结果是“ember js 和 rails”。我建议你看看这个选项。我认为这是关于 Ember.js 的最佳和最有文档的选项。

如果我必须在 PHP 和 Python 之间进行选择,我的选择是选择 PHP。它更复杂,更大的社区等等。但我建议你给 RAILS 一个机会。你必须尝试一下。有很多关于 ember.js 和 rails 的教程和文档。

希望我有所帮助。

于 2013-02-02T20:18:47.613 回答