1

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

4

3 回答 3

3

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

于 2009-07-13T09:41:45.477 回答
1

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

您应该做的是摆脱服务器端的任何 JavaScript 框架特定代码(使数据传输尽可能通用)。这使得在客户端切换到另一个框架变得更容易,即使您可能必须在那里重写大部分代码库(但只在那里)(我什至没有看到一种简单的方法来例如从 Prototype 切换到jQuery 和它们彼此比较相似)。我所知道的唯一具有“库独立”方法的 JS 框架是JavaScriptMVC(例如,您可以在原生、jQuery 或 Prototype 之间切换以实现底层功能,但即使他们正在考虑将其完全基于 jQuery 用于下一个版本)。

于 2009-07-13T09:50:46.833 回答
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(级别 2/3)编写代码 - 所有这些都是跨浏览器。

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

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

于 2009-07-13T16:33:56.617 回答