为什么现在有这样的客户端框架推动?

时间:2014-11-27 03:01:27

标签: javascript ruby-on-rails django angularjs mvvm

希望这个问题不是主题,我个人认为这是一个完全有效的编程问题,我作为一个展望未来的程序员。

大家好,我没理解为什么我想让我的网站涉及客户端框架,如Angular,Backbone,Ember,React,这个,那个或那个。

事实上,为什么要学习像Angular这样的东西,因为他们几乎从人们和那些已经投入数百万美元到Angular 1.0的公司那里掏出来,以便建立一个新的框架会叫角2.0吗?

如果我想要一些基本的dom操作,为什么要学习一个框架呢。例如,在我的电影网站www.noobmovies.com的主页上,您会注意到一些分页,这完全是通过抓取从Django服务器视图传回的JSON并使用客户端解析数据来完成的。说我需要更新电影等...为什么不通过Ajax传递一些数据并发回响应?

底线是AngularJS之类的大部分内容,旨在取代像Django,Ruby on Rails等成熟的框架......但是为什么现在要让生活变得更加难以加入这些不那么流行的项目。似乎除了这些根深蒂固的框架在目前能够做的事情之外还做了什么呢?

对我来说,我玩过React,Angular和Backbone。我不想学习整个框架来做一些我可能会做得更好的事情。似乎所有这些客户端框架都没有准备好开始生产,经常改变方式并使事情变得比他们需要的许多平凡任务更难。

对我来说,似乎每个人都要离开学校就像,Dude,我必须与Angular建立一些东西,以便跟上人群。我认为没有理由为什么Angular项目比Django或Ruby on Rails更好,事实上在大多数情况下我看到它们的情况更糟。

1 个答案:

答案 0 :(得分:1)

正如问题的评论中已经提到的那样,应该根据具体情况考虑使用哪种客户端/服务器架构,并且总是会有这样的个人偏见。

我不能说客户框架作为一个整体的推动在我的业务地点推动客户端框架,这是因为客户端和服务器的责任明确分离的简单而重要的原因。服务器只负责响应客户端请求和发送原始数据。在我们的例子中,我们使用REST。然后,客户端仅负责向用户呈现数据。

这样做的好处是因为在下一个大客户端框架问世的5年左右,我们选择使用的不是一行代码就需要在服务器端进行更改。

虽然我喜欢角色,但由于清晰的分离,处理DOM操作的代码以及使用HTML来运行指令是多么干净。即使DOM中有额外的Angular标记,您也可以准确地知道要呈现的内容。