Новости
![]() | |
Оригинальный автор(ы) | Джеймс Гослинг , Дэвид Розенталь |
---|---|
Разработчик(и) | Сан Микросистемс |
Первоначальный выпуск | октябрь 1986 г |
Операционная система | СанОС |
Тип | Оконная система |
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 ( The NeWS Toolkit ), выпущенная Sun в 1989 году. Sun также поставляла более ранний набор инструментов «Lite», предназначенный для примеров и создания небольших программ.
Портирование
[ редактировать ]Хотя внедрение никогда не было широко распространенным, несколько компаний и университетов лицензировали NeWS и адаптировали его для различных целей, создавая как коммерческие, так и некоммерческие порты. [4]
- SGI использовала версию под названием 4Sight, чтобы заменить свою собственную MEX . оконную систему
- Grasshopper Group создала порт для Macintosh под названием MacNeWS.
- Параллакс расширил его, чтобы иметь возможность работать с живым видео.
- Корпорация Architech портировала NeWS на OS/2 . [5] назовем это NeWS/2
- Колумбийский университет портировал его на HP 9000 series 3000
- Национальная лаборатория Лос-Аламоса перенесла его на Cray XMP-24.
- TGV перенесла X11/NewWS на VAXstation 2000 под управлением VMS.
- Wedge Computer Inc. портировала его на MacOS
- Уайтчепел портировал его на свои рабочие станции MIPS. [6]
- Acorn портировали его на свои компьютеры
- Ameristar портировала его на Amiga 2000.
- Alliant портировала X11/NewWS на своей визуализации [7] минисуперкомпьютеры
- Мичиганский университет портировал его на рабочие станции Apollo в монохромном режиме. [8]
- Pixar портировала его на свой Image Computer. [9]
Приложения
[ редактировать ]Версия OPEN LOOK настольной издательской программы FrameMaker Sun , разработанная Frame Technology Corp. при финансовой поддержке в основном 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 от Sun. SunView , что и более ранняя оконная система
После того, как стало ясно, что OPEN LOOK уступил Motif в популярности, и после того, как Adobe приобрела FrameMaker , Sun прекратила поддержку NeWS. [ нужна ссылка ] Продукты на базе NeWS прекратили разработку. [ когда? ]
Ссылки
[ редактировать ]- ^ Дон Хопкинс . «NewWS — Сетевая расширяемая оконная система» . Проверено 8 января 2008 г.
- ^ Гослинг, Джеймс (1986). «Статья 5 – СанРоса» . В FRA Хопгуд, Д.А. Дуче ... (ред.). Методология управления окнами (семинары по еврографике) Материалы семинара Алви в доме Козенера, Абингдон, Великобритания, апрель 1985 г. Великобритания: Springer-Verlag . ISBN 3-540-16116-3 . Проверено 8 января 2008 г.
- ^ «SunDew — распределенная и расширяемая оконная система» .
- ^ «Порты новостей Sun» . groups.google.com . Проверено 1 июля 2022 г.
- ^ Джеймс Гослинг, Дэвид С.Х. Розенталь, Мишель Дж. Арден (1989). Книга Новостей . Спрингер Верлаг. п. 193. ISBN 978-0-387-96915-2 . Поиск книг Google. Проверено 29 марта 2009 г.
- ^ журнал :: Datamation :: Datamation V33 N17 19870901 . 1 сентября 1987 г.
- ^ Alliant - Серия визуализаций , получено 1 июля 2022 г.
- ^ «Новости об Аполлоне» . groups.google.com . Проверено 1 июля 2022 г.
- ^ «От Pixar к Velocity Engine» . 6 июля 2001 г. Архивировано из оригинала 6 июля 2001 г. Проверено 2 июля 2022 г.
- ^ HyperLook (он же HyperNeWS (он же GoodNeWS))