开发者社区> 问答> 正文

最佳实践:选择哪个PHP或Python框架作为Ember.js的后端(请参阅所需条件)?

我是Ember.js的新手,正在尝试查看它是否适合我。

我正在构建一个Web应用程序,每个用户都可以注册并进入其会员区。然后,该应用程序通过RESTful API使用平台来为用户提供特定于上下文的功能(即,创建共享文件夹,上传文件等)。

目标是在以后扩展应用程序,并利用平台的功能将其部署到不同的域中。

在这一点上,我正在寻找为Ember.js提供数据并处理持久性的框架(即,将有关新用户的信息存储到数据库中,并将相应的API调用发送到平台)。我关注的主题是:

通过Ember.js +后端管理身份验证/会话的最佳方法是什么? 如果无论如何我都必须将数据存储在数据库中,为什么我要使用Ember.js而不是仅仅依靠Python / PHP编写的MVC框架已经提供的功能? 在此先感谢您的见解和/或参考。

展开
收起
祖安文状元 2020-02-23 16:08:01 935 0
1 条回答
写回答
取消 提交回答
  • 哪种框架(以任何语言)最适合Ember.js的答案基本上是:“任何”。您可能将Ember视为具有文档脚本模式的框架(例如Backbone或普通的旧jQuery),其中服务器呈现文档,而javascript逐渐将其行为增强为静态的内容。最好将Ember视为微型Cocoa / Android,将浏览器定位为运行时环境,而不是特定的移动平台。

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

    要回答您的其他问题:

    身份验证是网络上的服务器问题,因此Ember与它无关。将整个应用程序放在登录页面后面,然后使用所需的任何身份验证机制。如果需要在身份验证之前公开应用程序的某些部分,我只需要在身份验证之前和之后公开一个完全不同的版本(或具有不同路由器的相同版本)。否则,您将发现isAuthenticated乱堆的检查路线和模板。

    您可能会为浏览器编写一个完整的客户端应用程序,其原因是任何人都可以在任何地方构建客户端应用程序的原因:有状态性和数据传输成本。Web设计无状态。您可以通过会话获得基本的状态信息,如果您的应用程序可以看作一系列文档,那就足够了。只需完全跳过具有客户端应用程序的步骤,然后将客户端设备视为愚蠢的文档查看器即可。如果您有更复杂的状态需求,则需要在客户端环境本身中进行处理。一旦确定这是必要的,您就会发现发送数据比发送页面或页面片段便宜得多。因此,您的服务器应用程序(以您想要的任何设计模式)都将公开数据,而客户端应用程序(以MVC的模式)将消耗,显示,并允许浏览和与这些数据进行交互。如果您的客户端位于在iPhone上运行的ObjC / Cocoa,在Android上运行的Java,在Roku上运行的BrightScript,在浏览器中运行的Ember或什至为需要远程数据的Windows应用程序供电的C#中,这都是正确的。

    2020-02-23 16:08:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Improving Python and Spark Per 立即下载
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载