Tenga en cuenta que el navegador, que aloja HTML para una descripción de alto nivel de las interfaces, es de hecho una aplicación de escritorio.
Hay muchas capas de un navegador. Pero, su pregunta se refiere a diferentes dispositivos.
OKAY. Alguien mencionó que podría hacer versiones del navegador para hacer aplicaciones de escritorio, o incluso en algunos dispositivos. Esto es verdad. Algunos de los dispositivos pequeños son tan potentes en estos días, que el pequeño dispositivo que se puede sostener en la mano es equivalente a los sistemas de escritorio que se fabricaron hace solo unos años.
- ¿Hay algún ejemplo de grandes empresas que desarrollen software empresarial complejo con Angular 2?
- ¿Cuál es el concepto de un diseño de página web?
- ¿Es posible cambiar la clave secreta de una aplicación Django después de su implementación en producción? De ser así, ¿cuáles serían los impactos?
- ¿Cómo podemos construir una comunidad de desarrolladores (como WordPress ')?
- ¿Cuál es el futuro de AngularJS? ¿Python es más poderoso que AngularJS en el futuro?
Pero, solo decir que hay herramientas para usar no responde a su pregunta. Todas las herramientas mencionadas tienen varias capas antes de llegar al punto en el que está trabajando en el dispositivo gráfico.
En sistemas operativos como Linux / Unix o Windows, el último punto de entrada al dispositivo de gráficos en el nivel de aplicación del usuario es una llamada a subrutinas que interactúan con un controlador de gráficos. El controlador se ejecuta cuando se ejecuta el sistema operativo. Y, selecciona su próxima tarea, que puede indicarle que establezca un píxel particular en el dispositivo gráfico.
Algunos sistemas integrados no tendrán el lujo de proporcionar controladores. El software tiene que hablar directamente con el dispositivo gráfico. Y, si escribe el controlador para sistemas operativos más grandes, el software debe escribir directamente en el dispositivo gráfico.
Entonces, llega al final de la pila de software, hay llamadas al código que puede enviar un marco de instrucciones a un dispositivo gráfico. Es posible que pueda establecer la coordenada x, y del píxel y luego establecer las propiedades de un píxel. Puede tomar un bloque de bits y una región de dibujo. Por ejemplo, en el controlador, el código puede escribir una palabra de comando en una dirección de dispositivo en particular, que está conectada a un registro en el dispositivo gráfico. Luego, otra instrucción de código podría escribir datos para el comando en un puerto para una cola de datos o búfer. Un comando final puede finalizar la operación o indicar el final de los datos. El, el hardware hará lo suyo.
El dispositivo podría saber algo sobre las capas de polígonos. Pero. entonces podría no ser así, y todos los gráficos dibujados, todo el texto renderizado y cualquier otra cosa tienen que establecerse píxel por píxel. El software haría un seguimiento de la lógica de la representación que el dispositivo no puede seguir.
Aquí hay un enlace, elegido casi al azar en el hardware de gráficos: Cómo funciona: Hardware de gráficos | NotebookReview.com
Los dispositivos pueden ser bastante sofisticados. Pero, el software tiene que tomar el relevo. Además, el software puede tener que normalizarse en todos los dispositivos. Sin embargo, puede ser que para ciertos contratos, como los de las líneas aéreas, se use un dispositivo en particular y el software sea muy personalizado para ese dispositivo. Pero, la mayoría de las compañías proveedoras de software de gráficos tratarían de hacer que el software sea útil para muchas compañías. Entonces, si la empresa no utiliza un estándar, intentará crear uno internamente.
Por supuesto, hay consolas de caracteres programadas de manera muy simple que llevarán caracteres a través de un RS-232 o USB. Puede encontrarlos en kits de inicio de hardware, por ejemplo, para Arduino o BeagleBone Black. Estas áreas en realidad son conjuntos de caracteres cableados (o al menos segmentos de caracteres están cableados, por ejemplo, en una pantalla LCD, donde puede ver esos caracteres de bloque con líneas cortas con solo algunas orientaciones). Estos tipos de dispositivos aceptarán el carácter e iluminarán los segmentos para ese carácter según lo determine su diseño lógico.
Una vez que la forma en que se escribe la información en el hardware de gráficos se establece firmemente, la otra capa de software controlará la calidad de la representación y controlará la disposición de las formas.
Por lo tanto, la mayoría del software de gráficos tiene una biblioteca de representación en alguna parte. Para muchos dispositivos integrados, esto puede ser tan simple como la salida de línea de caracteres. Pero, para el software de nivel de espacio de usuario más complicado, que incluye las aplicaciones, el software de ventanas alojado por un sistema operativo moderno, etc., el software de representación será el software de representación que puede ser una biblioteca cuidadosamente mantenida.
Google Chrome y QT pueden hacer uso de la misma biblioteca de renderizado. Es decir, hay una biblioteca de representación multiplataforma que tiene un back-end expuesto por un sistema operativo. La biblioteca intenta normalizarse a través del sistema operativo. Mire Cairo, Skia, Direct2D, etc. Skia -> Documentos o aquí Biblioteca de gráficos – Wikipedia. Muchas de estas bibliotecas abordan la traducción de gráficos vectoriales a gráficos ráster. O bien, pueden preparar especialmente gráficos de trama teniendo en cuenta ciertos filtros, tramado, gradientes, etc.
Hay mucho en este tema. Entonces, para hacer esto bien, la escritura debería tomar más tiempo del que le estoy dando. Fácilmente podría juzgar cada párrafo aquí como algo para ser reescrito e investigado mejor. Pero para su preocupación, la gran pregunta puede ser dónde desea enfocarse en el gran esquema de todos estos dispositivos y tipos de software de control.