Новости


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 .модель сервера, которая может сообщать только о событиях "кнопка мыши была нажата здесь", "мышь теперь здесь", "кнопка мыши была отпущена здесь" клиенту, который затем должен выяснить, находится ли событие в кнопке, переключении состояние и, наконец, указать серверу отображать новое состояние. Если клиент и сервер находятся на разных компьютерах, эти взаимодействия должны передаваться по сети, что приводит к задержке ответа .

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


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