如何在 Squeak 中编写 GIU?我是 Smalltalk 新手,目前正在使用 Cincom 的 VisualWorks,但我想试试 Squeak。我看到 Squeak 具有用于图形的 Morphic,但对于我的生活,我似乎无法找到一个包来编写基于 MVC 的 GUI。
5 回答
Squeak 包含所有经典的 MVC 类,但您也可以使用 Morphic 创建 GUI,确实比使用 MVC(轻松)更有趣 - 这就是创建 Squeak 的原因!
请注意,您可能会在更具体的地方得到更好的回复——在 SO 上似乎没有多少 Smalltalk 人。尝试http://news.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners开始。
GUI 和 Squeak 首先是非常令人困惑的。使用 Squeak 创建 GUI 相当容易。基本上,您只需绘制几个矩形,复制一些文本框,几乎每个变形的光环都允许克隆,然后您可以将这些变形放到您的新 UI 中。将您的行为添加到您刚刚创建的 UI 更加困难,因为您必须以某种方式在代码浏览器中找到您的小部件。
这是我想指出的部分,我发现 Squeak 中的 Morphic 实现非常烦人。所以,也许我把这一切都弄错了,但这就是我的看法。Morphic 旨在让您只需单击几下即可以图形方式构建自己的 UI。它是在自编程环境中设计的,没有浏览器对象的差距。将你的克隆注册到普通的代码树中对 Self 来说是一件小事。(导出您的程序当然不是一件容易的事,但话又说回来,在 Smalltalk 中这无论如何都不容易)。
因此,我遇到的现实世界中的变形代码通常将变形视为任何其他 UI 框架对象:从代码创建 UI,而忽略图形构建。我还没有看到像Interface Builder在Mac OS X上那样将变形UI“冲击冻结”到文件中的便捷方法。或者,更一般地说,如果您一起单击变形UI,则很难从代码中访问它浏览器。
Neil 暗示将整个 Morphic 放在一边并转向 MVC 可能是可以理解的。然而,有几次我不得不在 Squeak 中处理用户界面,我检查了图像周围的 UI 生成代码,并试图模仿他们的风格。
试试 Morphic Designer:
https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer
再见,马塞尔·泰梅尔
取决于你想做什么,你的听众是谁。最初的 MVC 速度很快,但不再真正维护,看起来非常 1980 年。Self中最初的Morphic可能很好,但在Squeak中它已经演变成一团意大利面条。Morph
看看's 继承层次结构顶部的几个类......
Pharo有一些努力为 Morphic 小部件带来更好的外观,因此它不会在他们打开图像的第二秒吓跑新手。还有一些很有前途的 GTK 和 Objective-C 绑定正在工作中,我希望看到它们得到更多使用。最后,我们看到越来越多的 Web 应用程序...... Seaside 可以成为原生 UI 的一个不错的替代品,因为它擅长处理复杂流程的 Web 应用程序。
我们有一个用 Squeak 编写的现成的 Windows 应用程序。其中大部分是通过 Morphic 完成的。Morphic 为主要的用户体验提供了很多价值。当您使用对话框、文件选择等时,软件配置虽然很“奇怪”。
我最近很高兴发现WxSqueak,它提供了 Windows 的原生体验。我将它与 Morphic 结合使用。