我过去使用过SproutCore。我被分配了一个项目,该项目使用名为Selenium RC的工具开发自动化的Web测试脚本。Selenium RC是针对常规HTML ID和类而构建的,但是SproutCore会编译元素ID,以便元素ID是伪随机的,因此我必须弄清楚SproutCore的API,以便可以从视图树中找出元素ID。
SproutCore与编译器非常相似。如果要导入的元素太多,那么如果使用jQuery构建应用程序,则ID上的名称空间会发生冲突。当您使用jQuery构建网页时,HTML元素的所有ID都是全局的。本地范围没有像编译或解释语言那样的东西。
SproutCore最终为您管理HTML内容。使用javascript构建视图,然后进行编译。如果您阅读了SproutCore教程(并且我同意SproutCore缺少文档,因此您应该尝试避免在商业应用程序中使用它),您将看到完成的项目具有ID元素“ sc-###”。网站上解决了命名空间冲突,使您有可能更快地工作。
但是,存在主要问题。他们的文档并不能很好地解释人们为什么要使用它。该项目是开源的,但是深入了解底层JavaScript来构建视图的方式变得很痛苦。Javascript是一种功能语言,但是我发现动态功能语言有些问题。灵活性太强了。我正在插入Scala。
最后一期。SproutCore可能很慢。但这是要付出的代价