我一直是jQuery(及其一些小插件)的用户。这些年来我开发的Javascript代码可以被描述得最好......凌乱。它在这里和那里使用了大量的全局变量和函数,没有使用组织代码的标准方法,也没有使用任何设计模式。Javascript:如何理解所有的框架和设计哲学?
我目前正在构建一个网站的新版本,并且我已经完成了PEAR::MDB2和Smarty模板的后端工作。剩下的只是一些类的自制PHP。
现在,我要在网站顶部添加Javascript图层,以提高某些功能的用户友好性。 (同时确保所有的东西都优雅地退化)我想写出比以前更好,更干净,更有组织的Javascript,所以我做了一些调查。我读了Stefanov的Object-Oriented 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工具和“组织”所有在一个简单的名称空间/对象字面值与简单的属性和方法,而且,由于该网站是本地化的,我只是计划使用简单的vsprintf(就像我在后端)使用从后端提供的对象字面值加载的key:value对。 JavaScriptMVC看起来很有趣,但我担心它会给一个规模相当小的项目带来太多的复杂性。那是我需要你的建议的地方!非常感谢你提前。
+1在提出问题之前进行研究...... – 2011-06-02 14:39:42
我同意,如果您对jQuery不够小心,最终会出现凌乱的客户端脚本。当我第一次在真实项目中尝试jQuery时,我已经体验过它。 – OnesimusUnbound 2011-06-02 14:45:10
我是jQuery的大用户。但是,如果您确实需要组织和逻辑代码,请远离Flowplayer的** jQuery Tools **。它的方式已经过时(死了?),充满了错误,几乎不受自己的社区支持,并且使jQuery的标记行“完成更少,更多地完成”。 jQuery Tools与您应该了解的关于jQuery的一切有关,以及jQuery插件应该如何运行......当然,所有的恕我直言。 – Sparky 2011-06-02 15:02:10