stringtranslate.com

Noticias

NeWS ( Network extensible Window System ) es un sistema de ventanas descontinuado desarrollado por Sun Microsystems a mediados de la década de 1980. [1] Originalmente conocido como "SunDew", [2] sus autores principales fueron James Gosling y David SH Rosenthal . El intérprete de NeWS se basaba en PostScript (al igual que el posterior Display PostScript , aunque los dos proyectos no estaban relacionados en lo demás) extendiéndolo para permitir la interacción y múltiples "contextos" para soportar ventanas. Al igual que PostScript, NeWS podía usarse como un lenguaje de programación completo, pero a diferencia de PostScript, NeWS podía usarse para hacer programas interactivos completos con soporte para mouse y una GUI .

Diseño

NeWS comenzó implementando un intérprete PostScript que se ejecutaba en modo multitarea cooperativo , ya que, a diferencia de PostScript en una impresora, NeWS mostraba varios programas PostScript al mismo tiempo en una pantalla. También agregó una jerarquía de vistas completa, basada en ventanas gráficas conocidas como lienzos , y un sistema de distribución de eventos sincrónico, que admitía eventos , intereses , hilos y monitores .

Al igual que el sistema de visualización de la mayoría de las GUI, NeWS incluía el concepto de un árbol de vistas integradas a lo largo del cual se pasaban los eventos. Por ejemplo, un clic del ratón generaría un evento que se pasaría al objeto directamente debajo del puntero del ratón, digamos un botón. Si este objeto no respondía al evento, el objeto "debajo" del botón recibiría el mensaje, y así sucesivamente. NeWS incluía un modelo completo para estos eventos, incluidos temporizadores y otros eventos automáticos, colas de entrada para dispositivos como ratones y teclados , y otras funciones necesarias para una interacción completa. El sistema de manejo de entradas se diseñó para proporcionar fuertes garantías de sincronización de eventos que no eran posibles con protocolos asincrónicos como X. [3]

Para soportar widgets de interfaz de usuario, NeWS expandió el lenguaje PostScript original basado en pila a un estilo de programación orientado a objetos (OO) completo con herencia . Esto eliminó la necesidad de un lenguaje OO externo para construir una aplicación completa. Dado que todas estas adiciones se implementaron como extensiones de PostScript, fue posible escribir código PostScript simple que daría como resultado un programa interactivo en pantalla que se ejecutara. Dos programas de demostración populares fueron un reloj en pantalla, que requería aproximadamente dos páginas de código, y un programa que dibujaba un par de ojos que seguían al cursor mientras se movía por la pantalla. El programa del globo ocular se mostró en SIGGRAPH en 1988 y fue la inspiración para la aplicación X más tarde conocida xeyes .

NeWS incluía varias bibliotecas de elementos de interfaz de usuario ( widgets ), escritos en NeWS. Estos widgets ejecutaban todo su comportamiento en el intérprete de NeWS y solo requerían comunicaciones con un programa externo (o más código de NeWS) cuando el widget lo demandaba. Por ejemplo, la rutina de visualización de un botón de alternancia puede consultar el estado del botón (presionado o no) y cambiar su visualización en consecuencia. El código PostScript del botón también puede reaccionar a los clics del mouse cambiando su estado de "presionado" a "no presionado" y viceversa. Todo esto puede suceder en el servidor de ventanas sin interacción con el programa cliente, y solo cuando se suelta el mouse sobre el botón se envía un evento para su manejo. Esto era más sofisticado que el modelo de servidor del sistema X Window , que solo puede informar eventos como "se hizo clic en el botón del mouse aquí", "el mouse está ahora aquí", "se soltó el botón del mouse aquí" a un cliente, que luego tiene que averiguar si el evento está en el botón, cambiar el estado y finalmente indicarle al servidor que muestre el nuevo estado. Si el cliente y el servidor no están en la misma máquina, estas interacciones deben viajar a través de la red, lo que genera un retraso en la respuesta .

Aplicaciones basadas en TNT

El mejor ejemplo de una biblioteca de este tipo es TNT ( The NeWS Toolkit ), que Sun lanzó en 1989. Sun también lanzó un kit de herramientas "Lite" anterior destinado a propósitos de ejemplo y para crear pequeños programas.

Portabilidad

Aunque su adopción nunca fue generalizada, varias empresas y universidades licenciaron NeWS y lo adaptaron para diversos usos, creando puertos tanto comerciales como no comerciales. [4]

Aplicaciones

La versión OPEN LOOK del programa de autoedición FrameMaker , desarrollado por Frame Technology Corp. con financiación principalmente de Sun Microsystems y la NSA , fue uno de los pocos productos comerciales que funcionaban con NeWS. HyperLook, desarrollado por Arthur van Hoff en el Instituto Turing , era un sistema de diseño de aplicaciones interactivas. [10] Don Hopkins desarrolló una versión NeWS de SimCity que se creó con HyperLook.

Se creó un programa de dibujo comercial para NeWS, Altsys Virtuoso; era una versión de FreeHand con funciones adicionales que aprovechaban el entorno PostScript. Desafortunadamente, Sun anunció el fin del soporte para NeWS justo cuando Virtuoso estaba listo para su distribución.

Competencia conSistema de ventanas X

En comparación con X , NeWS era mucho más potente, [ cita requerida ] pero también más lento (especialmente para conexiones locales). La API de C era de muy bajo nivel y difícil de usar, por lo que la mayoría de los programas de NeWS tendían a estar escritos completamente en PostScript. [ cita requerida ] Otro factor en la popularidad fue que Sun cobraba una tarifa para licenciar el código fuente de NeWS, mientras que el código MIT X11 era gratuito.

Las primeras versiones de NeWS emulaban el protocolo X10 traduciendo las llamadas a NeWS PostScript. Los problemas de velocidad, además de la existencia de programas que dependían de los resultados exactos en píxeles de las llamadas X10, y la obsolescencia de X10, obligaron a Sun a lanzar un híbrido X11/NeWS llamado Xnews que ejecutaba un servidor X11 en paralelo con el intérprete PostScript. Esto degradó seriamente el rendimiento del intérprete NeWS y tampoco se consideró un buen servidor X11. Sun también implementó la especificación de interfaz de usuario OPEN LOOK en varios kits de herramientas: NeWS Toolkit (TNT) era un kit de herramientas OPEN LOOK escrito en PostScript que se ejecutaba en el servidor NeWS. OLIT se construyó sobre la misma base Xt (X Intrinsics) que Motif , y XView usaba las mismas API que el sistema de ventanas SunView anterior de Sun.

Después de que quedó claro que OPEN LOOK había perdido popularidad frente a Motif , y después de que Adobe adquiriera FrameMaker , Sun dejó de dar soporte a NeWS. [ cita requerida ] Los productos basados ​​en NeWS dejaron de desarrollarse. [ ¿cuándo? ]

Referencias

  1. ^ Don Hopkins . "NeWS - Sistema de ventanas extensible en red" . Consultado el 8 de enero de 2008 .
  2. ^ Gosling, James (1986). "Artículo 5 - SunDew". En FRA Hopgood, DA Duce ... (ed.). Metodología de la gestión de ventanas (seminarios de Eurographics) Actas de un taller de Alvey en Cosener's House, Abingdon, Reino Unido, abril de 1985. Reino Unido: Springer-Verlag . ISBN 3-540-16116-3. Consultado el 8 de enero de 2008 .
  3. ^ "SunDew - Un sistema de ventanas distribuido y extensible".
  4. ^ "Puertos de NeWS de Sun". groups.google.com . Consultado el 1 de julio de 2022 .
  5. ^ James Gosling, David SH Rosenthal, Michelle J. Arden (1989). The NeWS Book . Springer Verlag. pág. 193. ISBN 978-0-387-96915-2 . Búsqueda de libros de Google. Consultado el 29 de marzo de 2009. 
  6. ^ revista :: Datamation :: Datamation V33 N17 19870901. 1987-09-01.
  7. ^ Alliant - La serie de visualización , consultado el 1 de julio de 2022
  8. ^ "Noticias sobre el Apolo". groups.google.com . Consultado el 1 de julio de 2022 .
  9. ^ "De Pixar a Velocity Engine". 2001-07-06. Archivado desde el original el 2001-07-06 . Consultado el 2022-07-02 .
  10. ^ HyperLook (también conocido como HyperNeWS (también conocido como GoodNeWS))

Enlaces externos