Подтвердить что ты не робот

Написание графического интерфейса в скрипке

Как я могу написать GIU в Squeak? Я новичок Smalltalk, и я использую Cincom VisualWorks в данный момент, но я бы хотел попробовать Squeak. Я вижу, что у Squeak есть Morphic для графики, но для жизни я не могу найти пакет для написания GUI на основе MVC.

4b9b3361

Ответ 1

Squeak включает в себя все классические классы MVC, но вы также можете создавать графические интерфейсы, используя Morphic, действительно гораздо более интересные, чем вы можете (легко) с помощью MVC - вот почему Squeak был создан!

Обратите внимание, что вы можете получить более качественный ответ, где-то более конкретный - на SO, похоже, не так много людей Smalltalk. Попробуйте http://news.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners для начала.

Ответ 2

GUI и Squeak в первую очередь очень запутанны. Создание графического интерфейса с помощью Squeak довольно просто. В принципе, вы просто рисуете несколько прямоугольников, копируете некоторые текстовые поля, ореолы очень многих морфов допускают клонирование, а затем вы можете отбросить эти морфы в новый пользовательский интерфейс. Труднее добавить ВАШЕ поведение в пользовательский интерфейс, который вы только что создали, поскольку вам как-то нужно найти ваш виджет в браузере кода.

Это та часть, в которой я хотел бы указать, что находка Morphic в Squeak очень раздражает. Так что, возможно, я все это ошибался, но так я это вижу. Morphic был DESIGNED, чтобы вы могли графически создать собственный пользовательский интерфейс всего за несколько кликов. И он был разработан так в среде программирования Self, где нет пробелов в браузерах. Регистрация вашего клона в обычном кодовом дереве является тривиальностью в "Я". (Конечно, нет ничего тривиально экспортировать вашу программу, но опять же, в Smalltalk, которая никогда не бывает легкой).

Итак, морфический код реального мира, с которым я сталкиваюсь, обычно обрабатывает морфы, как и любые другие объекты интерфейса UI: создание пользовательского интерфейса из кода, игнорируя графическое здание. Я не видел удобный способ "шока заморозить" морфический пользовательский интерфейс в файл, как это делает интерфейс Builder в Mac OS X. Или, в общем, если вы щелкнете вместе морфический интерфейс, с ним трудно получить доступ из кода Браузер.

Подсказка от Нила, чтобы оставить всю морфию в стороне и обратиться к MVC, может быть понятной. Тем не менее, несколько раз мне приходилось иметь дело с пользовательскими интерфейсами в Squeak, я изучил код генерации пользовательского интерфейса со всего изображения и попытался изменить их стиль.

Ответ 4

В зависимости от того, что вы хотите сделать, кто ваша аудитория. Оригинальный MVC быстрый, но на самом деле он не поддерживается, и он выглядит очень 1980-х. Оригинальный Morphic в Self мог бы быть приятным, но в Squeak он превратился в беспорядок спагетти. Посмотрите на несколько классов в верхней части иерархии наследования Morph...

В Pharo есть несколько усилий, чтобы лучше прикоснуться к морским виджетам, поэтому он не пугает новичков от вторых, они открывают изображение. Также есть многообещающие привязки GTK и Objective-C, которые мне бы очень хотелось увидеть. Наконец, мы видим все больше и больше веб-приложений... Seaside может быть хорошей альтернативой родным пользовательским интерфейсам, поскольку он превосходит веб-приложения со сложными потоками.

Ответ 5

У нас есть готовое приложение Windows, написанное на Squeak. Большинство из них сделано с помощью Morphic. Morphic обеспечивает большую ценность для основного пользователя. Конфигурация программного обеспечения была "странной", когда вы использовали диалоговые окна, выбор файлов и т.д.

Я был очень рад узнать WxSqueak недавно, что дает собственный опыт работы с Windows. Я использую его совместно с Morphic.