【问题标题】:What is a good back-end to use with AngularJS [closed]与AngularJS一起使用的好的后端是什么[关闭]
【发布时间】:2014-10-18 22:50:28
【问题描述】:

我想知道您对使用 AngularJS 作为前端的良好后端的建议。

为什么您建议的后端很好,易于使用还是易于学习?

【问题讨论】:

  • 这是一个非常广泛的问题,good 不是很特别。在实践中,您的后端从不依赖于您的前端。你的后端应该是独立的(明天你可能会使用你的移动应用),RESTFul,遵循良好的实践。
  • 好的,我只是问这个问题,因为可能有一些后端与 AngularJS 的交互比其他后端更好。所以我猜不是。有什么好的后端建议,或者易于学习的后端?
  • 嗯,这取决于您对要使用的语言和数据库 (SQL/NoSQL) 的熟悉程度。一个好的后端是适合您的问题陈述和您想要实现的目标。但是是的,你可以选择基于 Python(Django/Flask)、基于 JS(NodeJS)
  • 为什么这么好的问题应该被标记为离题,然而时代已经改变,并且出现了新的方法,开发人员可以添加这些方法作为答案,以使这个问题与时俱进并变得更加相关?有时我只是无法理解这些决定背后的理由。

标签: angularjs frontend backend


【解决方案1】:

这个问题对于基于意见的答案存在相当大的风险,因此我建议进行更严格的评估:

Restful 服务器端实现

... 将使使用 Angular 变得更加容易和减少痛苦,并忠实于 HTTP 规范以及所有需要的好东西。在您选择的任何语言中,请确保框架允许您以最少的努力完成此操作。

根据我的经验:

PHP

Vanilla PHP 和 Codeigniter 有能力但在这方面做得很差,我建议避免使用它们。我不能代表 Symfony 和更大的基于 ORM 的框架,但我理解学习曲线是不平凡的。我强烈建议远离 CMS 应用程序,如 wordpress 和 drupal,因为这种事情不是他们的目的。

我了解 Laravel 可能会提供相当低的学习曲线,并且具有 RESTFul interfaces baked in 的理解。

NodeJS

NodeJS 为服务器端提供了大量的框架,其中 Express 及其变体显然是其中许多框架的基础。 Express 提供了创建 RESTful 接口的灵活性,但默认情况下不这样做。对于更多的语法糖,通常需要连接您自己的中间件。

Ruby on Rails 据我了解,RESTful apis with rails 得到了相当大的支持。

数据库支持

PHP Vanilla PHP mysqli 对数据库的支持可以工作,但是太低级了,无法使用。 CodeIgnighter、Symfony、Lavel 和其他框架都为不同程度地使用数据库提供了必要的抽象和安全性。在这方面区分它们在很大程度上是一个品味问题。 PHP 框架可能难以支持 NoSQL 类型的较新数据库。

NodeJS Express 支持所有主要形式的数据库,带有适当的中间件,具有 NPM 存储库中的数千个选项。像往常一样,您必须将它们连接起来以不同程度的难度表达自己。

Ruby on Rails Rails 支持主动记录模式,它提供了开箱即用的安全性和易用性。这支持大多数流行的标准关系数据库。但是,我不能说它与 NoSQL 数据库的集成。

学习曲线

这对于我来说太主观了,除了几个陷阱之外我不能说太多:NodeJS 社区希望入门技能相当高,callback hell 问题足够大,足以成为学习者服务器端的严重障碍发展。

安全

PHP Vanilla PHP 提供的安全性很低,不推荐使用。 Codeigniter、Laravel 和其他框架通过字符串转义和 SQL 注入攻击提供了一些保护。

NodeJS Express 没有提供太多开箱即用的安全功能,但可以使用 helmet 等模块进行强化。这与其说是一个缺陷,不如说是反映了应用程序的无主见本质。

导轨 我了解 Rails 通过 Active Record 和 CSRF 保护以及of the box 之外的其他功能提供基本的 SQL 注入保护。

就我个人而言:我使用 Koa(一个取代 express 的应用程序)为我自己的服务器端开发人员使用 angular。我的遗留项目使用 CodeIgnighter。

【讨论】:

  • 还有 Java,它不是一种脚本语言,但它有 Tomcat 和 GlassFish 并支持所有 DB 类型,它有很多库和用户群。如果你已经用过java,你应该试试
  • Laravel 是后端的最佳选择之一。它易于使用,非常受欢迎(查看谷歌趋势:google.it/trends/…),它提供了许多开箱即用的功能
  • 同意,Lavavel 更好。我不再写 PHP,但回答这是很久以前写的。无论如何,Slant.com 更擅长这类问题。
  • firebase 怎么样?
  • 这是一个很好的答案,但我确实认为它缺少Django,这是比较流行的
【解决方案2】:

(免责声明:我是 Ruby on Rails 开发人员)

我相信 Ruby on Rails 非常适合用作 json 后端。

您可以轻松找到很多关于将其与 Angular 集成的材料和截屏视频,例如:

使用 Rails 构建适当的 JSON api 有助于创建移动应用等,还有关于制作好的 Rails RESTful Api 的非常好的材料,例如:

【讨论】:

  • 谢谢,我会检查一下!
【解决方案3】:

后端由你来选择,所有后端都应该与 Angular JS 交互,更多的是你觉得舒服或更有经验。

您有很多选择:

Python:Flask 和 Django

Javascript:节点 JS

Ruby:Ruby on Rails

PHP

每个人都有自己的学习曲线和陷阱。

【讨论】:

  • 我已经听说过 nodeJS,但还没有真正使用过它。我听说 ExpressJS 也是一个很好的后端。 Ans 它基于 NodeJS。感谢您的提示
【解决方案4】:

我有偏见,我推荐 Go,因为它能够处理大量并发请求并且速度很快(5000 及以上),而不会消耗太多资源。

然而,在两种语言之间切换可能会很痛苦,但最终会让您对编程有更广泛的理解。因此,如果您不想切换语言,请继续使用 express 框架和 node.js,因为这也是所有教程的所在,例如 MEAN 堆栈 (mean.io)

【讨论】:

    猜你喜欢
    • 2011-07-10
    • 2011-06-28
    • 2019-05-02
    • 1970-01-01
    • 2014-02-12
    • 2010-10-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-09
    相关资源
    最近更新 更多