如何将javascript编程与框架解耦?

如何将javascript编程与框架解耦?,javascript,frameworks,porting,decoupling,Javascript,Frameworks,Porting,Decoupling,我有一个关于Javascript框架的问题。我在我的应用程序上使用ExtJs,但是在许可等方面有很多问题,所以我想知道这件事。 有没有一种方法可以在开发Javascript时遵循一些策略,以便我可以轻松地从一个Javascript框架切换到另一个框架 如果你那样做了,我觉得你会开发出自己的JavaScript框架。我怀疑这是否可行。最好在一开始就选择一个,并坚持下去。如果你这样做了,我觉得你会开发出自己的JavaScript框架。我怀疑这是否可行。最好在一开始就选择一个框架,并坚持下去。我认为,

我有一个关于Javascript框架的问题。我在我的应用程序上使用ExtJs,但是在许可等方面有很多问题,所以我想知道这件事。

有没有一种方法可以在开发Javascript时遵循一些策略,以便我可以轻松地从一个Javascript框架切换到另一个框架

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

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

我认为,如果不重写应用程序的大部分内容,完全从一个框架切换到另一个框架,从来都不是一件容易的事。特别是JavaScript框架,它们之间有着极大的不同。我真的不知道除了ExtJS提供的东西还有什么现实的选择(我知道他们有一些许可问题,但我仍然不明白为什么商业应用程序开发人员对支付330到1300美元购买框架所提供的东西如此犹豫不决。如果你是开源的,你就不必担心许可问题)


您应该做的是去掉服务器端任何特定于JavaScript框架的代码(使数据传输尽可能通用)。这使得在客户端切换到另一个框架更加容易,即使您可能需要重写那里(但仅限于那里)的大部分代码库(我甚至没有看到一种简单的方法,例如从原型切换到jQuery,它们彼此相对相似)。据我所知,唯一具有“独立于库”方法的JS框架是(例如,您可以在本机、jQuery或原型之间切换,以获得底层功能,但即使是他们也在考虑将其完全建立在jQuery的基础上,以便下一次发布).

我认为,如果不重写应用程序的大部分内容,完全从一个框架切换到另一个框架是不容易的。特别是JavaScript框架,它们之间有着极大的不同。我真的不知道除了ExtJS提供的东西还有什么现实的选择(我知道他们有一些许可问题,但我仍然不明白为什么商业应用程序开发人员对支付330到1300美元购买框架所提供的东西如此犹豫不决。如果你是开源的,你就不必担心许可问题)


您应该做的是去掉服务器端任何特定于JavaScript框架的代码(使数据传输尽可能通用)。这使得在客户端切换到另一个框架更加容易,即使您可能需要重写那里(但仅限于那里)的大部分代码库(我甚至没有看到一种简单的方法,例如从原型切换到jQuery,它们彼此相对相似)。据我所知,唯一具有“独立于库”方法的JS框架是(例如,您可以在原生、jQuery或原型之间切换底层功能,但即使是他们也在考虑将其完全建立在jQuery的基础上,以便下一次放松)。

让我尝试为讨论注入一些新鲜空气

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

有一个Javascript GUI框架,它将自然的编程模型带回开发人员手中。使用它,您可以在XML设备(XHTML、XUL或SVG1.2)中布局您的界面,使用CSS3特色规则设计UI,并且仍然可以根据基于标准的API DOM(2/3级)编写代码—所有这些都是跨浏览器的

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


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

让我试着为讨论注入一些新鲜空气

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

有一个Javascript GUI框架,它将自然的编程模型带回开发人员手中。使用它,您可以在XML设备(XHTML、XUL或SVG1.2)中布局您的界面,使用CSS3特色规则设计UI,并且仍然可以根据基于标准的API DOM(2/3级)编写代码—所有这些都是跨浏览器的

选择