В чем разница между Morph в Morphic и NSView в Какао? - PullRequest
8 голосов
/ 01 ноября 2010

Мне бы хотелось узнать о вещах, которые делают Морфики особенными.

Ответы [ 2 ]

6 голосов
/ 10 декабря 2010

Предупреждение. Живой динамической средой Smalltalk является красная таблетка .Статические, замороженные языки никогда не будут для вас одинаковыми; -)

В двух словах: Morphic - это виртуальный мир , где вы можете непосредственно исследовать живые объекты (так же, как в реальном мире).Вы когда-нибудь смотрели на пользовательский интерфейс и ...

  • удивлялись: "Вау, это действительно круто! Как они это сделали?"
  • kvetch "Хотелось бы, чтобы они сделали X вместо этого! "

Хотя эти мысли могут привести к боли и разочарованию в любой другой среде, а не в морфизме.

Если вы хотите взорвать свой ум, станьте богом в морфикеworld:

  1. Запустите изображение Pharo и нажмите на фон (который на самом деле «Мир»), чтобы вызвать меню мира:

    alt text

  2. Выведите «ореолы» на одном из пунктов меню (нажатие Shift-Alt на моем Mac): alt text

  3. Dragореол "Pick Up" (сверху-середина) и поместите его где-нибудь в мире: alt text

  4. Наслаждайтесь своим пунктом меню, который теперь доступен везде, где вы хотите: alt text

Серьезно, щелкните по нему и посмотрите, как откроется Браузер !!

Всегда есть вариант, который вы всегда используетепродавец похоронил три меню-уровни глубокие?Может ли это быть полезным?Это представление о мощной среде прямого графического интерфейса, например, Morphic.

Если вы заинтригованы, прочитайте статью Джона Мэлони и Рэндалла Смита Прямолинейность и живость в среде разработки морфийского пользовательского интерфейса

6 голосов
/ 02 ноября 2010

Morphic - это намного больше, чем NSView или любой другой класс graphics , который просто позволяет повторно реализовать ограниченный набор функций.Morphic - чрезвычайно податливый конструктор UI.Некоторые идеи дизайна Morphic проясняют это намерение:

  • Включена обширная иерархия двумерных систем координат.Они не ограничены декартовой или линейной.К полезным нелинейным системам координат относятся полярные, логарифмические, гиперболические и географические (как карты) проекции.
  • Отделение обработки систем координат от самих морфов.Морф должен только выбрать свою предпочтительную систему координат, вместо того, чтобы преобразовывать каждую точку, которую он рисует, в мировые координаты.Его метод #drawOn: и расположение его подморфов выражены в его собственной системе координат.
  • Полная независимость от свойств отображения, таких как размер или разрешение.Понятия пикселя нет.GUI продуман на более высоком уровне.Весь графический интерфейс не зависит от разрешения пикселей.Весь рендеринг сглажен.
  • Разделение системы координат облегчает перемещение, масштабирование и вращение морфов.
  • Все координаты являются числами с плавающей точкой.Это хорошо для разрешения абсолютно произвольных масштабов без существенных ошибок округления.
  • Иерархия Morph не является иерархией форм.У морфов нет понятия границы или цвета.Не существует общей концепции выравнивания субморф.Конкретный морф может реализовать их любым способом, который имеет смысл для себя.
  • Морфическая обработка событий является гибкой и позволяет отправлять события произвольным объектам.Этот объект не должен быть подклассом Morph.
...