gpt4 book ai didi

javascript - 选择 JS 框架(从 Mootools 切换到 Closure 或 Dojo)

转载 作者:行者123 更新时间:2023-11-29 18:30:31 25 4
gpt4 key购买 nike

我正在从事的项目是一种非常特殊类型的 b2b 网站的“框架”。目前,我几乎可以使用任何浏览器在 iOS 和 PC 上使用所有功能。它为不同的平台提供不同的布局和代码,一切正常,但我坚持的是一个维护问题:我有用于 UI 对象、布局的 JS 模块(所以在 iPhone 和 PC 上运行都没有问题全高清分辨率)、ajax 数据等。有些模块是通用的,有些是平台相关的,我想将它们“编译”成几个包,比如:

  • iOS,
  • 任何带有 Flash 10 的浏览器(甚至是 IE6)
  • PC/Mac 上的 IE9-Opera12-FF5-Safari(令我惊讶的是 Chrome 缺少一些功能)
  • 故障安全配置(无 Flash 或 JS)
  • Android/WP7/Bada(还没有,但会在两个月内准备好)

一切都是使用 Mootools 编写的。 90% 的代码是唯一的,因为我想使用的几乎所有库都无法在 iOS 或 IE 6-8 上运行。

问题是 Mootools 不能与 Closue Compiler 一起正常工作。我现在正在使用 gnu-make + google-closure-compiler + doxygen,然后将它转成 rpm 并部署到服务器上。它有效,但我仍然无法让闭包编译器在高级级别上工作(因为我确实需要 mootools 的类模块)。另一个问题是我必须自己合并 js 和 css 文件(顺序硬编码在 makefile 中)。

问题是,我应该选择什么:

  • 是否值得尝试针对 Closure Library 重写所有代码,以使 Closure Compiler 正常工作(因此我将进行缩小,某种混淆并最终将我的脚本合并为一个)
  • 继续使用Mootools,编译时尝试使用require.js+Rhino,比如ACE(Cloud9) Editor
  • 选择 Dojo,但我对它一无所知,关于条件编译、缩小和混淆
  • 您了解的其他工具链

我想提的最后一件事是,我想得到一个抽象的数据模型,比如 ExtJs 中的数据包。但我只需要“MVC”中的“M”,仅此而已。

我对我的后端很满意,任何服务器端支持对我来说都不是优势。

提前致谢。

最佳答案

另一种选择:您可以在没有高级模式的情况下使用 Closure,并且仍然可以获得很多好处。这就是 Dojo 所做的 OOTB。让 Closure 在高级模式下工作对于任何库以及您自己的代码来说都是一件棘手的事情。 Dojo 有一个工具链,可以处理大量的缩小/混淆/连接/等。 -- 我不知道工具链与 mootools 相比如何,但我想也可以在 Mootools 中优化代码,即使您必须编写脚本或使用其他工具来这样做。改变工具包只是为了实现这一目标是没有意义的。您可能需要重写大量代码。因为需要新功能而更改/利用工具包是另一回事,尽管您应该能够组合工具包。许多工具包,包括 Dojo 都有 MVC 抽象——也许 mootools 也有。

关于javascript - 选择 JS 框架(从 Mootools 切换到 Closure 或 Dojo),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8931650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com