3

一年多以来,我一直在使用 Dojo 和 Dijit 开发基于浏览器的 IDE。Dojo 是一个很棒的框架。但是,除非您是 CSS 超人,否则使用 Dojo 创建类似 IDE 的界面很麻烦,而且会浪费大量时间。我对 HTML5、JavaScript 和 CSS 有很好的理解。构建我需要的 UI 需要我通过反复试验发现的几个 CSS hacking。从 UI 设计到实现没有系统的方法,我害怕更改 UI 布局,因为任何简单的更改都会破坏 UI,主要是通过在我不需要的 Dijit 窗格中添加不相关的滚动条。(复杂的 UI 有 4-5 级嵌套窗格,主要包括边框容器和内容窗格)

最近我遇到了 SproutCore 和 Cappuccino,它们有很棒的演示,而且它们的外观和感觉更基于桌面。已经有几次讨论将这两者相互比较。但是他们都没有谈论从 UI 设计到实现有多系统和快速?理想情况下,我应该能够在不超过几天的时间内实现我想要的 UI(假设我知道框架),并且将来更改它们应该很容易。

Dojo 的另一个困难是我必须直接使用 DOM 来添加和删除 dijit 小部件。虽然我喜欢保持这种灵活性,但我希望我可以使用更高级别的抽象来定义应用程序 UI。我已经阅读了 SproutCore 和 Cappuccino 中的 MVC,但我想知道在实践中提供的抽象层是否加速了 UI 开发?还是提供的层是一种奇特的架构,只会增加代码的可读性?如果我使用这些抽象来构建我的 UI,我会失去对 DOM 的直接访问吗?

干杯,纳维德

4

3 回答 3

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 的框架没有那么灵活。

于 2011-03-30T05:01:36.753 回答
2

卡布奇诺绝对不仅仅是提高可读性。如果您不希望某些东西在卡布奇诺中具有滚动条,请不要给它一个。这几乎是故事的结尾,也是使用这样一个框架的一大优势。根据我的经验,HTML 和 CSS 只是一个没完没了的故障排除会话。有了卡布奇诺,事情就去你说应该去的地方,并留在那里。跨浏览器也是如此(大多数时候)。

此外,如果您愿意,您可以使用 Interface Builder 和 Cappuccino 的nib2cib实用程序来构建您的用户界面。这使得最初布局和随后随机播放按钮和控件变得微不足道。

于 2011-03-28T23:06:37.740 回答
-1

你考虑过 jQuery 和jQuery UI吗?

于 2011-03-28T22:02:25.127 回答