Кіріспе

Sun Microsystems компаниясы әзірлеген, қолданыстан тоқтатылған терезелік жүйе. NeWS (Network extensible Window System) – 1980 жылдардың ортасында Sun Microsystems компаниясы әзірлеген, қолданыстан тоқтатылған терезелік жүйе. Бастапқыда "SunDew" деп аталған, оның негізгі авторлары Джеймс Гослинг және Дэвид С. Х. Розенталь болды. NeWS интерпретаторы PostScript-ке негізделген (кейінірек пайда болған Display PostScript сияқты, бірақ екі жобаның арасында тікелей байланыс болған жоқ), оны терезелерді қолдау үшін өзара әрекеттесуге және бірнеше "контекстерге" мүмкіндік беру үшін кеңейтті. PostScript сияқты, NeWS толыққанды бағдарламалау тілі ретінде қолданылуы мүмкін, бірақ PostScript-тен айырмашылығы, NeWS тышқан қолдауымен және графикалық интерфейсімен (GUI) толыққанды интерактивті бағдарламалар жасауға мүмкіндік берді.

Дизайн

NeWS PostScript интерпретаторын кооперативтік көп тапсырмалы режимде іске қосу арқылы басталды, себебі принтердегі PostScript-тен айырмашылығы, NeWS бір экранда бірнеше PostScript бағдарламаларын бір уақытта көрсетуге мүмкіндік берді. Сонымен қатар, ол толық көрініс иерархиясын қосты, ол кенептер деп аталатын көрініс терезелеріне негізделген, және оқиғаларды, қызығушылықтарды, жіптерді және мониторларды қолдайтын синхронды оқиғаларды тарату жүйесін қамтыды. Көптеген графикалық интерфейстердегі (GUI) көрініс жүйесі сияқты, NeWS оқиғалар жіберілетін кіріктірілген көріністер ағашының тұжырымдамасын қамтыды. Мысалы, тышқанның басуы бір оқиғаны тудырады, ол тышқан курсорының астындағы нысанға, мысалы, батырмаға жіберіледі. Егер бұл нысан оқиғаға жауап бермесе, "астындағы" нысан хабарды алады, және т.б. NeWS осы оқиғалар үшін толық модельді, соның ішінде таймерлерді және басқа автоматты оқиғаларды, тышқан мен пернетақта сияқты құрылғылар үшін енгізу буферлерін және толық өзара әрекеттесу үшін қажетті басқа да мүмкіндіктерді қамтыды. Кірісті өңдеу жүйесі X сияқты асинхронды протоколдармен мүмкін емес оқиғаларды синхрондаудың сенімді кепілдіктерін қамтамасыз ету үшін жасалды. Пайдаланушы интерфейсі виджеттерін қолдау үшін NeWS бастапқы PostScript стек тілін мұрагерлікпен толық объектіге бағытталған (ОО) бағдарламалау стиліне кеңейтті. Бұл толық қолданбаны құру үшін сыртқы ОО тіліне қажеттілікті жойды. Бұл қосымшалардың барлығы PostScript-тің кеңейтулері ретінде іске асырылғандықтан, экранда интерактивті бағдарламаны іске қосатын қарапайым PostScript кодын жазуға болады. Екі танымал демонстрациялық бағдарлама – экрандық сағат, оған шамамен екі бет код қажет болды, және экранда қозғалатын курсорды соңынан еріп жүретін екі көзді салып көрсететін бағдарлама. Көз алмасы бағдарламасы 1988 жылы SIGGRAPH көрмесінде көрсетілді және кейінірек танымал X қолданбасы xeyes-тің шабыт көзі болды. NeWS бірнеше пайдаланушы интерфейсі элементтерінің (виджеттер) кітапханаларын қамтыды, олардың өзі NeWS-те жазылған. Бұл виджеттер барлық әрекеттерін NeWS интерпретаторында орындады және виджет талап еткен жағдайда ғана сыртқы бағдарламаға (немесе басқа NeWS кодын) байланыс жасады. Мысалы, ауыстырмалы батырманың көрсету процедурасы батырманың күйін (басылған немесе басылмаған) сұрап, сәйкесінше көрсетуін өзгерте алады. Батырманың PostScript коды тышқанның басуына жауап ретінде күйін "басылғаннан" "басылмағанға" және керісінше өзгерте алады. Мұның бәрі терезелік серверде клиент бағдарламасымен өзара әрекеттесусіз болуы мүмкін, және тышқан батырмадан босатылғанда ғана оқиға өңдеу үшін жіберіледі. Бұл X Window System серверлік моделінен күрделірек болды, ол клиентке тек "тышқан батырмасы төмен басылды", "тышқан қазір осында", "тышқан батырмасы осында босатылды" оқиғаларын хабарлай алады, содан кейін клиент оқиғаның батырмада бар-жоғын анықтап, күйін өзгертіп, соңынан серверге жаңа күйді көрсетуді тапсырады. Егер клиент пен сервер бір машинада болмаса, бұл өзара әрекеттесулер желі арқылы жүруі керек, бұл жауап беруді кешіктіреді. Мұндай кітапхананың ең жақсы мысалы – 1989 жылы Sun шығарған TNT (The NeWS Toolkit). Sun сонымен қатар мысал мақсаттары үшін және шағын бағдарламаларды жасауға арналған "Lite" құрал жиынтығын шығарды.

Қолданбалар

FrameMaker үстел баспасы бағдарламасының OPEN LOOK нұсқасы, негізінен Sun Microsystems және NSA қаржысымен Frame Technology Corp. әзірлеген, NeWS жүйесінде жұмыс істейтін бірнеше коммерциялық өнімнің бірі болды. Артур ван Хофф Тьюринг институтында әзірлеген HyperLook – бұл интерактивті қолданбаларды жобалау жүйесі. Дон Хопкинс HyperLook-ты пайдаланып SimCity-нің NeWS нұсқасын жасады. NeWS үшін Altsys Virtuoso коммерциялық сурет салу бағдарламасы шығарылды; ол PostScript ортасының мүмкіндіктерін пайдаланған қосымша функционалдығы бар FreeHand-тың порты болды. Айыныштысы, Sun компаниясы Virtuoso-ның таңдауға дайын болған сәтінде NeWS-ке қолдау көрсетуді тоқтатуды жариялады.

X терезесі жүйесімен бәсекелестік

X-пен салыстырғанда, NeWS әлдеқайда қуаттырақ болды, бірақ сонымен қатар баяу жұмыс істеді (әсіресе жергілікті қосылымдарда). C API өте төмен деңгейдегі және қолдану қиын болғандықтан, NeWS бағдарламаларының көпшілігі PostScript тілінде жазылған. Бұл танымалдылыққа әсер еткен тағы бір фактор – Sun компаниясы NeWS бастапқы кодын лицензиялау үшін төлем қабылдады, ал MIT X11 коды тегін болды. NeWS-тің алғашқы нұсқалары X10 протоколын шақыруларды NeWS PostScript-ке аудару арқылы имитациялады. Жылдамдық мәселелері, сондай-ақ X10 шақыруларының нақты пиксельдік нәтижелеріне тәуелді бағдарламалардың болуы және X10 протоколының қолданудан шығуы Sun компаниясын PostScript интерпретаторымен қатар X11 серверін іске қосатын Xnews деп аталатын X11/NeWS гибридін шығаруға мәжбүр етті. Бұл NeWS интерпретаторының өнімділігін нашарлатты және ол жақсы X11 сервер деп есептелмеді. Sun сонымен қатар бірнеше құралдар жиынтығында OPEN LOOK пайдаланушы интерфейсінің спецификациясын іске асырды: NeWS Toolkit (TNT) – NeWS серверінде жұмыс істейтін және PostScript тілінде жазылған OPEN LOOK құралдар жиынтығы. OLIT Motif сияқты Xt (X Intrinsics) негізінде құрылған, ал XView Sun компаниясының бұрынғы SunView терезе жүйесі сияқты API-лерді пайдаланды. OPEN LOOK-тың Motif-тан танымалдылығы төмен болғаны және Adobe FrameMaker-ді сатып алғаннан кейін Sun NeWS-ті қолдауды тоқтатты. NeWS-ке негізделген өнімдерді әзірлеу тоқтатылды.