如果已经使用Laravel作为后端,为什么要在前端使用AngularJs?

25
我知道AngularJs是前端,Laravel是后端,但我的问题是:
为什么我需要首先使用AngularJs,而所有需要的东西都可以通过Laravel完成?
据我所了解,我可以使用任何一种语言(JS或PHP)制作应用程序,但我发现许多用户同时使用两者,对于初学者来说这似乎有些过度。因此,有人可以用最简单的形式解释一下吗?
在同一项目中使用两者的好处是什么?当您同时使用两个MVC时,通常如何构建您的应用程序/文件夹结构?
2个回答

18
我怀疑这个问题可能与StackOverflow的质量指南冲突,你最好问两个不同的问题。即:
1.何时/为什么在网络项目中学习/使用Angular 2.如何设置文件夹结构
要设置文件夹结构,请查看以下资源:
- http://scotch.io/tutorials/php/create-a-laravel-and-angular-single-page-comment-application - https://www.youtube.com/watch?v=hqAyiqUs93c 我只能说我为什么使用laravel和angularjs,并且你是对的,你可以使用laravel而不使用angular,但我使用angular以及laravel的原因是一些事情比服务器端应用更适合使用javascript,例如:
- 使用ajax,在不重新加载页面的情况下检查/处理一些小事情,例如用户在表单中键入的电子邮件地址是否有效等等。 - 它更快,因为当你ajax返回到服务器时,你不必加载整个页面,只需加载所需的部分。 - 你可以立即向用户提供反馈 - 例如,当他们填写表单时,你可以检查他们的输入是否有效并立即给予反馈。使用lavavel,你必须执行一次回传到服务器并可能返回错误信息集合。
因此,如果您想使您的网站/网络应用程序具有这些好处,您需要使用javascript编写功能。我不能说我已经使用了所有的框架,然后说angular是最好的框架,但对我来说,angular提供了一套集成解决方案,并针对广泛的问题,在一个似乎运作良好的架构之上。
我认为这部分是为什么有相当多的新概念需要学习,而且对这些组件的需求并不是立即显而易见的原因的部分。这可能是由于你正在使用某个组件来执行某些功能,例如使用$scope对象在控制器和视图之间传递数据,同时该组件也在更大的方面起着作用,例如维护视图和控制器之间的分离 - 这有助于组织代码、可测试性以及其他因素。

如果您同时使用Angular和Laravel(而不仅仅是Laravel本身),您将可以为用户提供这些好处,因为您有更多的选项可用,例如在最适合您应用程序和用户要求的地方使用Laravel或在最佳结果上使用Angular - 从而使您最终拥有更好的Web应用程序。


所以在大多数情况下,您使用Angular而不是编写太多的JS代码进行验证/ AJAX等。就像您使用Bootstrap而不是自己编写所有CSS一样。 - ctf0
1
我相信当Misko Hevery最初向其他工程师提出Angular时,用更少的代码编写是他们的主要优势。如果追求做尽量少的工作是主要目标,那我会使用Laravel,但在我想制作最好的应用程序时,通常会使用Angular。 - Michael Coleman
链接已更新:https://scotch.io/tutorials/create-a-laravel-and-angular-single-page-comment-application - Vandolph Reyes

14

我使用 Laravel 作为后端和 AngularJS 作为前端的主要原因是它使应用程序具有 RESTful 的特性(即后端和前端都是以 RESTful 形式通信)。后端仅会生成和消费 JSON 格式的数据,这样就可以更轻松地完成任务,例如创建应用程序的移动版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接