使用客户端框架的优点和缺点
Benefits and drawbacks of using client side frameworks
我们开始在项目中越来越多地使用JavaScript来改善客户体验。目前,我们的大部分网站都会为每一次用户交互发布反馈信息。我们主要在客户端使用JQuery和JavaScript。Net在服务器上。客户端上的事情开始变得非常混乱和无组织。
我正在考虑选择一个客户端框架,比如Knockout、Angular、Ember或Backbone,来为我们的客户端开发引入某种结构。尤其是现在,它还处于早期阶段,JavaScript还不是一个完全的灾难。我想知道使用客户端框架是否有任何缺点,如果我们应该坚持使用JQuery。另外,使用客户端框架我们能得到什么?
最近的Javascript框架可以帮助构建您的代码,使其模块化(因此可重用),DRY,可读,高性能和安全,最重要的是内聚以及易于理解。jQuery不是一个框架,所以它在这些方面没有帮助。我们都见过典型的大量jQuery面条式代码。这不是jQuery的错,而是不知道如何构建代码的开发人员的错。然而,如果开发人员确实知道如何构建代码,他们最终会编写某种最小的"框架";提供基础(架构等)。
这里的问题是,我们不应该忘记,jQuery代码缓慢而稳定地变得如此庞大和非结构化,您可能会从编辑它运行。然而,使用您列出的任何框架[以及更多的框架]肯定会给您带来一些额外的好处。
下面是一些现代框架提供的东西:
模板
数据绑定
routing(单页应用)
干净、模块化、可重用的架构
安全方便的附加功能/特性
因此,以一种简短而温馨的方式,选择你列出的框架之一[个人而言,我使用并更喜欢AngularJs]
如果你的代码组织得很好,javascript和jQuery就可以非常强大。
Angular似乎是现在每个人都喜欢的框架,但它有一个陡峭的学习曲线。(在我看来)无论你用什么,我都会遵循这些原则:
- 把你的代码放在。js文件里,不要放在视图里。
把所有的东西放在一个对象中,并且不在全局作用域内。
myApplication = {}
然后你可以把所有的函数分组到对象中,这样它们就有组织了:
myApplication = {
navigation: {
loadNavigation: function() {
// do something;
},
hideNavigation: function() {
// do something;
}
},
otherObject: {
otherFunction: function() {
// etc
}
},
init: function() {
myApplication.navigation.loadNavigation();
// other functions to run;
}
};
然后你就可以加载你的应用程序代码了:
$().ready(function() {
myApplication.init();
}
我发现这种模式可以让我构建大型应用程序,而不会让事情变得混乱。
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- MobileFirst:在客户端运行计时器作业-最佳选项
- 标签客户端的设置值
- 我的客户端选项是什么
- JSPM-使用import和使用script标记包含客户端库文件有什么优点/缺点吗
- 在客户端或服务器端渲染html的优点和缺点
- 使用客户端框架的优点和缺点
- 客户端路由的缺点
- 脚本标记中的客户端模板.优点/缺点
- 调用web API客户端的缺点/优点