我正在开发的项目是针对特定类型的b2b网站的“框架”。目前,几乎所有浏览器都可以在iOS和PC上运行。它为不同的平台提供不同的布局和代码,一切都运行正常,但我坚持的是一个维护问题:我有用于UI对象,布局的JS模块(所以在iPhone和PC上运行都没有问题全高清分辨率),ajax数据等。有些模块是通用的,有些是依赖于平台的,我想在几个包中“编译”它们,例如:
所有东西都是用Mootools编写的。 90%的代码都是独一无二的,因为几乎所有我想使用的库都无法在iOS或IE 6-8上运行。
问题是Mootools与Closue Compiler无法正常工作。我现在正在使用gnu-make + google-closure-compiler + doxygen,然后它在服务器上获得rpm并部署。它可以工作,但我仍然无法让闭包编译器在高级工作(因为mootools的Class模块,我定义的需要)。另一个问题是我必须自己合并js和css文件(顺序在makefile中硬编码)。
问题是,我应该选择什么:
我想提到的最后一件事是,我希望得到一个抽象的数据模型,比如ExtJs中的数据包。但我只需要“MVC”中的“M”,仅此而已。
我对我的后端感到满意,任何服务器端的支持对我来说都不是一个优势。
提前谢谢。答案 0 :(得分:4)
另一个选择:你可以在没有高级模式的情况下使用Closure,并且仍然可以获得很多好处。这就是Dojo做的OOTB。让Closure在高级模式下工作对任何库以及您自己的代码来说都很棘手。 Dojo有一个工具链,可以处理大量的缩小/混淆/连接/等。 - 我不知道工具链如何与mootools相比,但我想也可以在Mootools中优化代码,即使你必须编写脚本或使用其他工具来实现这一点。改变工具包只是为了实现这一目标是没有意义的。你可能不得不重写很多代码。由于您需要新功能而更改/利用工具包是一个不同的故事,尽管您应该能够组合工具包。许多工具包,包括Dojo都有MVC抽象 - 也许mootools也有。