stringtranslate.com

Новости

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

Дизайн

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

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

Для поддержки виджетов пользовательского интерфейса NeWS расширил исходный язык PostScript на основе стека до полного объектно-ориентированного (OO) стиля программирования с наследованием . Это устранило необходимость во внешнем OO языке для создания полноценного приложения. Поскольку все эти дополнения были реализованы как расширения 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-система

По сравнению с X , NeWS был намного мощнее, [ нужна цитата ] , но и медленнее (особенно для локальных соединений). API C был очень низкого уровня и сложен в использовании, поэтому большинство программ 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. ^ Дон Хопкинс . "NeWS - Сетевая расширяемая оконная система" . Получено 2008-01-08 .
  2. ^ Гослинг, Джеймс (1986). "Статья 5 - SunDew". В FRA Hopgood, DA Duce ... (ред.). Методология управления окнами (семинары Eurographics) Труды семинара Alvey в Cosener's House, Абингдон, Великобритания, апрель 1985 г. Великобритания: Springer-Verlag . ISBN 3-540-16116-3. Получено 2008-01-08 .
  3. ^ «SunDew — распределенная и расширяемая оконная система».
  4. ^ "Порты Sun's NeWS". groups.google.com . Получено 2022-07-01 .
  5. ^ Джеймс Гослинг, Дэвид С. Х. Розенталь, Мишель Дж. Арден (1989). The News Book . Springer Verlag. стр. 193. ISBN 978-0-387-96915-2 . Поиск книг Google. Получено 29.03.2009. 
  6. ^ журнал :: Datamation :: Datamation V33 N17 19870901. 1987-09-01.
  7. ^ Alliant - Серия визуализаций , получено 01.07.2022
  8. ^ "Новости об Аполлоне". groups.google.com . Получено 2022-07-01 .
  9. ^ "From Pixar To Velocity Engine". 2001-07-06. Архивировано из оригинала 2001-07-06 . Получено 2022-07-02 .
  10. ^ HyperLook (он же HyperNeWS (он же GoodNeWS))

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