我想知道您对使用 AngularJS 作为前端的良好后端的建议。
为什么您建议的后端很好,它是否易于使用或易于学习?
请您参考如下方法:
此问题基于意见的答案存在相当大的风险,因此我建议进行更严格的评估:
Restful 服务器端实现
...将使 Angular 的使用变得更加容易和减少痛苦,并且忠实于 HTTP 规范及其带来的所有好处。在您选择的任何语言中,请确保框架允许以最少的努力来完成此操作。
根据我的经验:
PHP:
Vanilla PHP 和 Codeigniter 有能力,但不擅长做到这一点,我建议避免使用它们。我不能代表 Symfony 和更大的基于 ORM 的框架,但我知道学习曲线并不简单。我强烈建议远离 CMS 应用程序,如 wordpress 和 drupal,因为这类事情不是他们的目的。
我知道 Laravel 可能提供相当低的学习曲线,并且具有 RESTFul interfaces baked in 的理解.
NodeJS
NodeJS 为服务器端提供了大量框架,其中 Express 及其变体是其中许多框架的明显基础。 Express 提供了创建 RESTful 接口(interface)的灵 active ,但默认情况下不这样做。对于更多语法糖,通常需要连接您自己的中间件。
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 注入(inject)攻击的保护。
NodeJS Express 不提供太多开箱即用的安全功能,但可以使用 helmet 等模块进行强化。 。这并不是一个缺陷,而是反射(reflect)了该应用程序的不拘一格的性质。
导轨 据我了解,Rails 通过 Active Record 和 CSRF 保护以及其他功能提供基本的 SQL 注入(inject)保护 of the box 。
就我个人而言:我在使用 Angular 进行服务器端开发时使用 Koa(一个取代 Express 的应用程序)。我的遗留项目使用 CodeIgniter。