angular.js的良好服务器端解决方案

时间:2012-10-26 07:34:35

标签: django rest web-applications frameworks angularjs

我正在为我的项目使用Angular.js。业务逻辑是在Angular中开发的,我只是在寻找两件事:

  1. 我需要一种方便用户身份验证的方法,我不知道如何通过Angular实现它。

  2. 我需要一个服务器端框架,它提供REST Api,一个用于实现关系数据模型的api,以及对Postgres或Mysql等数据库的良好支持。

  3. 现在我正在使用Django框架来完成这两件事,它与数据库完美配合,并为处理数据提供了一个漂亮的api,但我觉得使用Django和angular不是一个好的解决方案,因为我没有太多使用Django提供的功能。我只需要一个简单的REST api和一个好的Data Model api。对我有什么建议吗?

3 个答案:

答案 0 :(得分:4)

我认为这取决于您从Django使用的确切内容。如果API很简单,那么就不要使用很多中间件类,上下文处理器等等。然后你可以放弃它。如果你已经习惯了Python那里有一堆轻量级的WSGI Web框架,例如BottleFlask。它们的表现通常比Django好一点+它们大多是编写的,因此您可以轻松创建REST API。 “缺点”是,如果您需要特定的东西,如SQL ORM或一些缓存处理,您必须单独包含这些电池,不能使用您可能习惯的Django自己的部分。这还包括滚动您自己的身份验证系统。

我认为你必须弄清楚你是否真的想要重写代码。我个人认为,轻微的性能提升往往不值得付出努力和时间。

答案 1 :(得分:1)

关于问题1(身份验证),此博客文章+示例解释了一个很好的解决方案: https://github.com/witoldsz/angular-http-auth

我对Django了解不多,但如果你无法改变它的“渲染模式”,我会感到惊讶。我一直在使用Express(Node.js)来公开REST api。从HTML呈现切换到JSON很容易。

答案 2 :(得分:1)

这可能不适合您的环境(不确定您所使用的平台),但我们当前的项目使用的是AngularJS,它具有使用ASP.NET Web API构建的类似REST的后端。这一切都非常适合。由于Web API构建在ASP.NET之上,因此您可以“免费”获得身份验证,并且不乏用于.NET的关系数据库框架。我们正在使用Entity Framework Code-First,其中有一些Massive。这适用于我们需要的东西,并且非常快速和容易组合,但您也可以使用NHibernate或任何可用于.NET的其他框架。