stringtranslate.com

Новости

NeWS ( Network Extensible Window System ) — устаревшая оконная система , разработанная Sun Microsystems в середине 1980-х годов. [1] Первоначально известный как «SunDew», [2] его основными авторами были Джеймс Гослинг и Дэвид С.Х. Розенталь . Интерпретатор NeWS был основан на PostScript (как и более поздний Display PostScript , хотя в остальном эти два проекта не были связаны между собой), расширяя его, чтобы обеспечить взаимодействие и несколько «контекстов» для поддержки окон. Как и PostScript, NeWS можно использовать как полноценный язык программирования, но в отличие от PostScript, NeWS можно использовать для создания полноценных интерактивных программ с поддержкой мыши и графическим интерфейсом .

Дизайн

NeWS начала с реализации интерпретатора PostScript, работающего в режиме совместной многозадачности , поскольку, в отличие от PostScript в принтере, NeWS будет отображать несколько программ PostScript одновременно на одном экране. Также добавлена ​​полная иерархия представлений, основанная на окнах просмотра, известных как холсты , и система синхронного распределения событий, поддерживающая события , интересы , потоки и мониторы .

Как и система представлений в большинстве графических интерфейсов, NeWS включала концепцию дерева встроенных представлений, по которым передавались события. Например, щелчок мыши создаст событие, которое будет передано объекту непосредственно под указателем мыши, например кнопке. Если этот объект не отреагировал на событие, объект «под» кнопкой получит сообщение и так далее. NeWS включила полную модель этих событий, включая таймеры и другие автоматические события, очереди ввода для таких устройств, как мыши и клавиатуры , а также другие функции, необходимые для полноценного взаимодействия. Система обработки ввода была разработана для обеспечения надежных гарантий синхронизации событий, которые были невозможны при использовании асинхронных протоколов, таких как X. [3]

Для поддержки виджетов пользовательского интерфейса NeWS расширила исходный язык на основе стека PostScript до полноценного объектно-ориентированного (ОО) стиля программирования с наследованием . Это устранило необходимость во внешнем объектно-ориентированном языке для создания полноценного приложения. Поскольку все эти дополнения были реализованы как расширения PostScript, можно было написать простой код PostScript, результатом которого стала работающая интерактивная программа на экране. Двумя популярными демонстрационными программами были экранные часы, для которых требовалось около двух страниц кода, и программа, которая рисовала пару глаз, следящих за курсором при его перемещении по экрану. Программа Eyeball была показана на выставке SIGGRAPH в 1988 году и послужила вдохновением для более позднего известного X-приложения xeyes .

NeWS включал в себя несколько библиотек элементов пользовательского интерфейса ( виджетов ), написанных на NeWS. Эти виджеты выполняли все свое поведение в интерпретаторе NeWS и требовали связи с внешней программой (или дополнительным кодом NeWS) только тогда, когда виджет этого требовал. Например, процедура отображения кнопки-переключателя может запрашивать состояние кнопки (нажата или нет) и соответствующим образом изменять ее отображение. Код PostScript кнопки также может реагировать на щелчки мыши, изменяя ее состояние с «нажата» на «не нажата» и наоборот. Все это может происходить на оконном сервере без взаимодействия с клиентской программой, и только когда мышь отпускается на кнопке, событие отправляется на обработку. Это было более сложным, чем модель сервера X Window System , которая может сообщать клиенту только о событиях «здесь была нажата кнопка мыши», «мышь сейчас здесь», «здесь была отпущена кнопка мыши», который затем должен выяснить если событие находится в кнопке, переключите состояние и, наконец, поручите серверу отобразить новое состояние. Если клиент и сервер находятся на разных машинах, эти взаимодействия должны осуществляться по сети, что приводит к задержке ответа .

Приложения на базе TNT

Лучшим примером такой библиотеки является TNT ( The NeWS Toolkit ), выпущенная Sun в 1989 году. Sun также поставляла более ранний набор инструментов «Lite», предназначенный для примеров и создания небольших программ.

Портирование

Хотя внедрение никогда не было широко распространенным, несколько компаний и университетов лицензировали NeWS и адаптировали его для различных целей, создавая как коммерческие, так и некоммерческие порты. [4]

Приложения

Версия OPEN LOOK настольной издательской программы FrameMaker , разработанная Frame Technology Corp. при финансовой поддержке в основном Sun Microsystems и NSA , была одним из немногих коммерческих продуктов, работавших на NeWS. HyperLook, разработанная Артуром ван Хоффом из Института Тьюринга , представляла собой интерактивную систему проектирования приложений. [10] Дон Хопкинс разработал версию SimCity для NeWS , созданную с помощью HyperLook.

Для NeWS была создана коммерческая программа рисования Altsys Virtuoso; это был порт FreeHand с дополнительными функциями, использующими преимущества среды PostScript. К сожалению, Sun объявила о прекращении поддержки NeWS как раз в тот момент, когда Virtuoso была готова к выпуску.

Конкуренция с X Window System

По сравнению с X , NeWS был значительно мощнее, но и медленнее (особенно для локальных подключений) . C API был очень низкоуровневым и сложным в использовании, поэтому большинство программ NeWS, как правило, полностью писались на PostScript. [ нужна цитата ] Еще одним фактором популярности было то, что Sun взимала плату за лицензию на исходный код NeWS, в то время как код MIT X11 был бесплатным.

Первые версии NeWS эмулировали протокол X10, переводя вызовы в NeWS PostScript. Проблемы со скоростью, а также существование программ, которые полагались на точные пиксельные результаты вызовов X10, а также устаревание X10 вынудили Sun выпустить гибрид X11/NeWS под названием Xnews , который запускал сервер X11 параллельно с интерпретатором PostScript. Это серьезно ухудшало производительность интерпретатора NeWS и также не считалось очень хорошим сервером X11. Sun также реализовала спецификацию пользовательского интерфейса OPEN LOOK в нескольких наборах инструментов: NeWS Toolkit (TNT) представлял собой набор инструментов OPEN LOOK, написанный на PostScript и работавший на сервере NeWS. OLIT был построен на той же базе Xt (X Intrinsics), что и Motif , а XView использовал те же API , что и более ранняя оконная система SunView от Sun.

После того, как стало ясно, что OPEN LOOK уступил Motif в популярности, и после того, как Adobe приобрела FrameMaker , Sun прекратила поддержку NeWS. [ нужна цитация ] Продукты на базе NeWS прекратили разработку. [ когда? ]

Рекомендации

  1. ^ Дон Хопкинс . «NewWS — Сетевая расширяемая оконная система» . Проверено 8 января 2008 г.
  2. ^ Гослинг, Джеймс (1986). «Статья 5 – SunDew». В FRA Хопгуд, Д.А. Дуче ... (ред.). Методология управления окнами (семинары по еврографике). Материалы семинара Алви в доме Козенера, Абингдон, Великобритания, апрель 1985 г. Великобритания: Springer-Verlag . ISBN 3-540-16116-3. Проверено 8 января 2008 г.
  3. ^ «SunDew - Распределенная и расширяемая оконная система» .
  4. ^ "Порты Sun's NewWS" . groups.google.com . Проверено 1 июля 2022 г.
  5. ^ Джеймс Гослинг, Дэвид С.Х. Розенталь, Мишель Дж. Арден (1989). Книга Новостей . Спрингер Верлаг. п. 193. ISBN 978-0-387-96915-2 . Поиск книг Google. Проверено 29 марта 2009 г. 
  6. ^ журнал :: Datamation :: Datamation V33 N17 19870901. 01.09.1987.
  7. ^ Alliant - Серия визуализаций , получено 1 июля 2022 г.
  8. ^ "Новости об Аполлоне" . groups.google.com . Проверено 1 июля 2022 г.
  9. ^ «От Pixar к Velocity Engine» . 6 июля 2001 г. Архивировано из оригинала 6 июля 2001 г. Проверено 2 июля 2022 г.
  10. ^ HyperLook (он же HyperNeWS (он же GoodNeWS))

Внешние ссылки