关于服务器端与客户端Web框架的意见

时间:2010-12-01 21:08:28

标签: architecture frameworks client

我对社区对服务器端框架(如Django和RoR)与客户端框架(如SproutCore和ExtJS)的看法非常好奇。

我知道这是一个错误的二分法,因为没有理由不能同时使用服务器和客户端框架。但实际上,这可能是一个巨大的麻烦。

仅举例来说:培养2种不同语言的专业知识,2种不同的API和2种不同的框架语法只是为了实现单一目标,效率非常低。

对我来说合适的策略是选择一个客户端或服务器端框架作为主要框架,然后在必要时使用非常轻量级的东西进行补充。例如,在服务器上使用RoR作为主要由jQuery在客户端上补充。或者在客户端上使用ExtJS作为主服务器上的PHP补充。

现在我不确定围栏的哪一侧会落在上面,并且对社区的意见和经历感兴趣。

3 个答案:

答案 0 :(得分:0)

它完全是错误的二分法。他们解决了目标的不同子问题。显然,Microsoft ASP.NET的东西非常擅长将客户端与服务器端集成(但我自己从未使用过它,所以如果我错了请纠正我。)

客户端库专注于向用户呈现数据。

服务器端库需要专注于CRUD功能(创建,读取,更新,删除)以及对用户进行身份验证。当数据需要集中时,需要在服务器上处理。

任何服务器端库都不会有拖放或辅助功能。没有客户端库可以实现MySQL和访问控制列表。

答案 1 :(得分:0)

同意Dragontamer。服务器端框架和客户端框架解决了不同的问题。

是的,您可以使用jQuery或EXT等客户端框架访问服务器,但仍需要与服务器上的应用程序服务器进行通信。

应用程序服务器(ASP,PHP,ColdFusion等)将成为MVC应用程序中的M和C,并提供“V”。客户端框架将使V漂亮并添加客户端功能(例如,操纵应用程序服务器提供的数据,例如排序表数据而不刷新页面)。

两种完全不同的动物,有两种完全不同的目的。

答案 2 :(得分:0)

恕我直言不仅仅是一个问题,这是一个问题。无论哪种方式,您最终都会将代码从一侧重写到另一侧,因为您突然意识到要在服务器中添加某些功能,您需要来自客户端的内容,反之亦然,经过一些更改后您将意识到您的功能在客户端会在服务器或其他方面运行得更好,因此您将从服务器到客户端来回重写代码,反之亦然。

潜在的问题是缺乏Web和云的高级语言,可以在服务器和浏览器中运行,因此本地或远程通信不需要重写代码,因此每个部分都需要功能可以在安装时迁移,具体取决于每个节点的功能,或者在运行时根据功能和负载条件从一个位置迁移到另一个位置。

可以做到。