我一直在使用Dojo和Dijit超过一年来开发基于浏览器的IDE。 Dojo是一个很棒的框架。但是使用Dojo创建类似IDE的界面很麻烦,除非你是一名CSS超人,否则会浪费很多时间。我对HTML5,JavaScript和CSS有很好的理解。构建我需要的UI需要通过反复试验找到的几个CSS黑客攻击。没有系统的方法从UI设计到实现,我害怕改变UI布局,因为任何简单的更改都可能破坏UI,主要是通过向Dijit窗格添加不相关的滚动条,我不需要它们。 (复杂的UI有4-5级嵌套窗格,主要包括边框容器和内容窗格)
最近我遇到了SproutCore和Cappuccino,它们都有很棒的设备,它们的外观和感觉更基于桌面。已经有几个讨论将这两者相互比较。但是他们都没有谈到从UI设计到实现的系统性和快速性如何?理想情况下,我应该能够实现我想要的UI不超过几天(假设我知道框架),并且将来更改它们应该很容易。
Dojo的另一个难点是我必须直接使用DOM,才能附加和删除dijit小部件。虽然我确实希望保持这种灵活性,但我希望我可以使用更高级别的抽象来定义应用程序UI。我在SproutCore和Cappuccino中读到了关于MVC的内容,但我想知道在实践中提供的抽象层是否会加速UI开发?或者提供的图层是一个奇特的架构,只会增加代码的可读性?如果我使用这些抽象构建我的UI,我会失去对DOM的直接访问吗?
干杯, Navid
答案 0 :(得分:4)
卡布奇诺的含量更高。你用Objective-J编写,而不是HTML / CSS / JavaScript。我个人不推荐它,因为Objective-J是一种小众语言,你会被所有人都不了解的东西所困扰。您会发现查找问题的答案会更加困难,而其他人在维护代码时会遇到更多困难。
但是,由于它是高级别的,它确实可以保护您免受“标准”(即HTML / CSS / JavaScript)编程的苦差事。因此,您应该能够更快速,更轻松地开发UI,但您必须学习Objective-J的细节。总而言之,我想这里并不多见。
另一方面,SproutCore是基于HTML / CSS / JavaScript的,因此您不必重新学习基础知识。它遵循分离UI和数据问题的MVC模型,因此编程UI应该更容易。我的个人建议是坚持使用Dojo - 1.6已经问世,它具有变更跟踪,状态跟踪和支持。 1.7即将来临。 MVC模块正在快速改进。下一个版本2.0将非常棒。它正在积极发展,所以你不会落在后面。
Dojo还可以与Closure Compiler的高级模式一起使用,以制作用于部署的高度紧凑,高度优化,完全混淆的构建。其他基于JavaScript的框架不具备适应性。
答案 1 :(得分:3)
卡布奇诺绝对不仅仅是提高可读性。如果你不想在Cappuccino有东西有滚动条,不要给它一个。这几乎是故事的结尾,也是使用这种框架的一大优势。根据我的经验,HTML和CSS只是一个无休止的故障排除会话。随着卡布奇诺咖啡的发展,你可以去那里,并留在那里。在浏览器中也是如此(大多数情况下)。
此外,如果您选择,您可以使用Interface Builder和Cappuccino的nib2cib
实用程序构建您的用户界面。这使得初始布局以及随后随后的按钮和控件的使用变得微不足道。
答案 2 :(得分:-1)
您是否考虑过jQuery和jQuery UI?