如何将javascript编程与框架分离?

时间:2009-07-13 09:35:42

标签: javascript frameworks porting decoupling

我有一个关于Javascript框架的问题。我在我的应用程序中使用ExtJs,但许可证和此类事情存在许多问题,所以我想知道这件事。
有没有办法在开发Javascript时遵循一些策略,以便我可以轻松地从一个Javascript框架切换到其他框架?

3 个答案:

答案 0 :(得分:3)

如果你这样做,我觉得你会开发自己的JavaScript框架。我怀疑这是可行的。最好在开始时选择一个并坚持下去。

答案 1 :(得分:1)

我认为在不重写应用程序的大部分内容的情况下完全从一个框架切换到另一个框架绝非易事。特别是JavaScript框架是非常不同的。我真的不知道ExtJS提供的任何现实替代方案(我知道他们有一些许可问题,但我仍然不明白为什么商业应用程序开发人员如此犹豫不决支付框架所提供的330到1300美元。如果你是开源的话,你无论如何都不必担心许可。)

您应该做的是删除服务器端的任何JavaScript Framework特定代码(使数据传输尽可能通用)。这使得在客户端更容易切换到另一个框架,即使你可能不得不重写那里的大部分代码库(但只有那里)(我甚至没有看到一种简单的方法,例如只需从Prototype切换到jQuery和它们彼此相对相似)。我所知道的唯一具有“独立于库”方法的JS框架是JavaScriptMVC(您可以在本机,jQuery或Prototype之间切换以获得底层功能,但即使他们正在考虑将其完全基于jQuery,以便进行下一次重新设计)。

答案 2 :(得分:0)

让我试着在讨论中吹一些新鲜空气。

许多Ajax库和框架的主要问题是它们中的每一个都有不同的(以及专有的)API。此外,不同的库还支持和促进不同的编程模型。这一切都是合理的,因为没有API标准具有框架必须提供的所有功能。然而,许多框架忘记了存在一个基本的API和编程模型,它们本身存在于浏览器中 - 用于布局的XML(在简单的情况下是HTML),用于样式的CSS和用于脚本的DOM。此捆绑包不仅可以从浏览器中获得,还可以在Gecko XUL技术,Flex和Silverlight中使用。

有一个Javascript GUI框架将自然编程模型带回给开发人员 - Ample SDK。使用它可以在XML设备(XHTML,XUL或SVG1.2)中布局界面,使用CSS3特征规则设置UI样式,并仍然针对基于标准的API DOM(Level 2/3)编写代码 - 所有交叉浏览器。

选择这种方法后,您可以确保明天,当浏览器全部实现了基本功能(如上所述)时,您可以重复使用大量的应用程序JavaScript代码,因为它将以原生方式运行!

确实这是故事的一部分 - 与View交互(尽管许多javascript框架和库没有在M,V和C之间划出任何界限 - 这就是痛苦)。编写Javascript应用程序通常不仅仅是与DOM交互,然后MVC和PAC代码架构到位。他们已经证明了他们的效率,他们与实现无关。选择一个实现(例如Daff - PureMVC建议)或创建自己的实现。