Javascript:如何理解所有框架和设计理念?

Mat*_*lin 23 javascript jquery frameworks code-organization

我曾经是jQuery(及其一些小插件)的用户.我多年来开发的Javascript代码最好被描述为......凌乱.它在这里和那里使用了大量的全局变量和函数,没有使用组织代码的标准方法,也没有使用任何设计模式.

我目前正在构建一个新版本的网站,我已经完成了与PEAR :: MDB2Smarty模板的后端.剩下的就是自制PHP和一些课程.

现在,我将在网站顶部添加Javascript图层,以提高某些功能的用户友好性.(同时确保一切都优雅地降级)我想写出比以前更好,更清晰,更有条理的Javascript,所以我做了一些研究.我阅读了Stefanov的面向对象的Javascript,以便更好地掌握我所知道的一些概念(原型,构造函数等).现在我陷入困境,我想知道我应该使用哪些Javascript框架,以及如何组织它们.

在进行我的研究之后,我理解了Cappuccino和Objective-J,而Sproutcore并不是我想要的.引用Cappucino关于页面的话:

卡布奇诺不是为建立网站或使现有网站更"动态"而设计的.我们认为这些目标与应用程序开发的目标相差甚远,无法通过单一框架提供.像Prototype和jQuery这样的项目非常适合这些任务

就是这样.然后我发现了Coffee Script,它更像是一对一的"编译器",并且无法帮助我实际组织我的代码.

我还偶然发现了一些提供指导的文章:

我还发现了Backbone.js,Shoestring,JavaScriptMVC,Google Loader,jQuery Tools,jQuery UI.我真的不知道该怎么办......我知道的事情:

  • 我不想花太多时间学习太复杂的东西,我希望尽可能保持简单和灵活(这就是为什么我不在后端使用Symfony),但是干净整洁.
  • 我想使用jQuery,问题是,我应该用它来做什么?(也兼容)

现在,我使用jQuery和jQuery Tools,并使用简单的属性和方法在一个简单的命名空间/对象文字中"组织"所有这些,并且,由于网站已本地化,我只是计划使用简单的vsprintf(就像我一样)在后端)使用键:从后端提供的对象文字加载的值对.JavaScriptMVC似乎很有趣,但我担心这会给规模相当小的项目带来太多的复杂性.这是我需要你的建议的地方!非常感谢你提前.

Are*_*end 5

好的,我尝试回答:

没有'最好'的方法来做到这一点. 你现在知道那里有什么,我想你可能会偏爱你想要的东西.在这种情况下,选择一个框架并从里到外学习它.(抱歉爆破你的泡泡,但每个框架都有一个学习曲线,有些陡峭,有些非常容易,但最终要好好利用它,你必须投资它.只要这样做,你就不会后悔).

您当然希望使用干净的代码,因此您可能需要考虑一些因素.你也说你偏爱jQuery,这很好,但是有一些限制(在eskimoblood提供的链接中也有指出).

有一些很好的讲座/教程,提供有关如何在jQuery中构建代码的建议:

一些风格指南:

用于检查代码的工具

标准作品(javascript)

可能会有更多......也许更多的人可以贡献,但我也认为你几乎已经达到了你可以学到的东西,然后才能弄脏你的手.其中许多指南都是以非常通用的方式编写的,但有趣的是,在许多特定情况下都会调用javascript.发布一些您认为"混乱"的代码可能会有用,我们可以帮助您弄清楚如何更好地完成它.祝好运!