什么是与AngularJS一起使用的好后端

时间:2014-10-18 22:50:29

标签: angularjs frontend backend

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

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

4 个答案:

答案 0 :(得分:41)

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

宁静的服务器端实现

...使用角度变得更容易,更少痛苦,并且对所有需要的好东西都忠实于HTTP规范。在您选择的任何语言中,确保框架允许尽可能少地执行此操作。

根据我的经验:

PHP

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

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

NodeJS

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

Ruby on Rails 据我所知,RESTful apis with rails有相当大的支持。

数据库支持

<强> PHP Vanilla PHP mysqli支持数据库工作,但使用太低。 CodeIgnighter,Symphony,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保护提供基本的SQL注入保护,以及其他功能of the box

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

答案 1 :(得分:11)

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

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

您可以轻松找到很多关于将其与角度整合的材料和截屏视频,例如:

使用Rails构建适当的JSON api可以帮助创建移动应用程序等,还有很好的材料来制作好的Rails RESTful Api,例如:

答案 2 :(得分:5)

后端由您自行选择,所有后端都应该与Angular JS进行相同的交互,更多的是关于您感觉舒适或更有经验的内容。

您有很多选择:

Python:Flask和Django

Javascript:Node JS

Ruby:Ruby on Rails

PHP

每个人都会有他们的学习曲线和陷阱。

答案 3 :(得分:5)

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

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