Lanzamiento del motor GUI multiplataforma AWTK 1.4

1. Introducción

El  nombre completo de AWTK es Toolkit AnyWhere, que es  un motor GUI de código abierto desarrollado por ZLG . Está  diseñado para crear un motor GUI universal para sistemas integrados, WEB, varios applets, teléfonos móviles y PC. Proporciona a los usuarios un sistema potente, eficiente y confiable. Un motor GUI que puede hacer fácilmente efectos geniales.

Los desarrolladores pueden participar juntos en el desarrollo: plan de co-construcción ecológica .

La moral de AWTK  tiene dos aspectos:

  • Toolkit AnyWhere。
  • Sistema operativo ZLG IoT AWorksOS tiene una GUI incorporada.

Repositorio de  código fuente AWTK :

Herramienta de diseño de interfaz de AWTK Designer:

  • No hay necesidad de XML escrito a mano
  • Interfaz de diseño de arrastrar y soltar, WYSIWYG
  • Vista previa rápida, recursos de empaque con un clic
  • Dirección de registro y descarga: https://awtk.zlg.cn

Diseñador AWTK

Captura de pantalla del efecto de ejecución:

Demo demográfica

MusicPlayer-Demo

Reloj

Segundo, el objetivo final:

  • Apoyar el desarrollo de aplicaciones integradas.
  • Apoyar el desarrollo de aplicaciones Linux.
  • Apoyar el desarrollo de aplicaciones MacOS.
  • Apoyar el desarrollo de aplicaciones de Windows.
  • Apoyar el desarrollo de la aplicación web.
  • Apoyar el desarrollo de aplicaciones de Android.
  • Apoyar el desarrollo de aplicaciones iOS.
  • Apoye el desarrollo de los applets WeChat.
  • Apoyar el desarrollo de applets Alipay.
  • Apoyar el desarrollo de applets Baidu.
  • Apoye el desarrollo de pequeños juegos 2D.

3. Características principales

1. Multiplataforma

AWTK  es multiplataforma, que tiene dos significados:

  • AWTK en sí es multiplataforma. Actualmente, las plataformas compatibles son ZLG AWorksOS, Windows, Linux, MacOS, Linux incorporado, Android, iOS, Web y un sistema desnudo integrado, que se puede portar fácilmente a varios RTOS. AWTK también puede ejecutarse en varias plataformas de applet en el futuro.

  • AWTK también proporciona un conjunto de bibliotecas de herramientas básicas multiplataforma. Estos incluyen listas vinculadas, matrices, cadenas (UTF8 y widechar), emisores de eventos, valores, objetos, sistemas de archivos, mutexes e hilos, expresiones y análisis de cadenas, etc., para que las aplicaciones que desarrolle con AWTK realmente puedan Operación multiplataforma.

2. Alta eficiencia

AWTK  garantiza el funcionamiento eficiente de las aplicaciones AWTK a través de una serie de medios:

  • Solo las piezas sucias se actualizan mediante el algoritmo de momento sucio.
  • Admite 3 FrameBuffer para permitir que la interfaz se ejecute a la velocidad de fotogramas más alta (opcional).
  • El archivo de descripción de UI y el archivo de tema utilizan un formato binario eficiente, y el análisis se completa en un instante.
  • Admite varias interfaces aceleradas por GPU. Como OpenGL, DirectX, Vulkan y Metal, etc.
  • Admite varias interfaces de aceleración 2D para plataformas integradas. En la actualidad, DMA2D de STM32 y la interfaz PXP de NXP, los fabricantes pueden ampliar fácilmente su interfaz de aceleración.

3. Estable

AWTK se esfuerza  por hacer que el código sea estable y confiable de las siguientes maneras:

  • Utilice cppcheck y facebook infer para la comprobación estática.
  • Utilice valgrind para la comprobación dinámica de memoria.
  • Casi 20,000 líneas de código de prueba de unidad.
  • Soporte del poderoso equipo GUI de ZLG.
  • Después de múltiples verificaciones reales del proyecto.
  • Verificación multiplataforma / compilador múltiple.
  • Excelente diseño arquitectónico.
  • Revisión de código.
  • Pruebas manuales.

4. Potente

  • Controles ricos (en continuo aumento).
  • Admite varios formatos de imagen (png / jpg / gif / svg).
  • Admite varios formatos de fuente (matriz de puntos y vector).
  • Ventana de soporte de animación
  • Animación de control de soporte
  • Soporte de pantalla HD.
  • Archivo de descripción de interfaz de soporte.
  • Archivo de descripción del tema de soporte.
  • El cambio de tema tiene efecto en tiempo real.
  • Apoyar la estrategia de diseño de control.
  • Diálogo de apoyo que destaca la estrategia.
  • Herramientas auxiliares ricas.
  • Compatibilidad desde Cortex M3 de gama baja hasta varias CPU de gama alta.
  • No admite sistema de archivos y sistema de archivos personalizado.
  • Soporta sistema desnudo y RTOS.

5. Fácil de usar

  • Un montón de código de muestra.
  • Documentación completa de API y documentación de uso.
  • El fuerte equipo de soporte técnico de ZLG.
  • Editor de interfaz desarrollado con AWTK  .
  • Lenguaje descriptivo de la interfaz declarativa. Una línea de código permite la animación de control, la animación de ventana y la visualización de imágenes (png / jpg / svg / gif).

6. Alta escalabilidad

  • Puedes extender tus propios controles.
  • Puedes ampliar tu propia animación.
  • Puede implementar su propio bucle principal.
  • Puede expandir su propio teclado virtual.
  • Puede ampliar su propio cargador de imágenes.
  • Puede ampliar su propio cargador de fuentes.
  • Puede expandir su propio motor de método de entrada.
  • Puede ampliar su propio algoritmo de diseño de control.
  • Puede extender su propia estrategia de resaltado de diálogo.
  • Puede implementar su propia interfaz LCD.
  • Puede extender su propio motor de vectores (como usar skia / cairo).
  • Todos los componentes de extensión y componentes incorporados tienen el mismo tratamiento.

7. Múltiples lenguajes de desarrollo.

AWTK  está desarrollado en lenguaje C y puede generar enlaces de varios lenguajes de secuencias de comandos a través de IDL. El código de enlace generado no simplemente asigna la API del lenguaje C al lenguaje de script, sino que genera la API de estilo de código nativo del lenguaje de script. Actualmente se admiten los siguientes idiomas (se agregarán en el futuro según sea necesario):

  • C
  • C ++
  • tomar
  • Java
  • pitón
  • Javascript en jerryscript
  • Javascript en nodejs
  • Javascript en quickjs

8. Internacionalización

  • Soporta Unicode.
  • Método de entrada de soporte.
  • Soporta traducción de cadenas (efectiva en tiempo real).
  • Soporte de traducción de imágenes (efectivo en tiempo real).
  • Diseño de texto bidireccional (planificado).

9. El marco MVVM personalizado para el software integrado separa completamente la interfaz de usuario y la lógica empresarial.

  • Alto rendimiento
  • La sobrecarga de memoria es pequeña.
  • El aislamiento es más completo.
  • Se puede portar a otras GUI.
  • El código es pequeño (~ 5000 líneas).
  • No es necesario aprender la API del control AWTK en sí.
  • Admite múltiples lenguajes de programación (actualmente admite C / JS).

Para más detalles, consulte: https://github.com/zlgopen/awtk-mvvm

10. Código abierto, uso comercial gratuito (LGPL).

Cuatro, actualización de la versión 1.4


1. Detalles perfectos

  • Mejora la interfaz fs.
  • La herramienta perfecta admite múltiples temas.
  • La vista de lista admite el desplazamiento hacia arriba y hacia abajo.
  • Mejore el problema de la restauración del foco al cambiar de ventana.
  • Mejore el cuadro combinado, vuelva a abrir el método de entrada después de la selección.
  • El círculo de progreso admite el atributo de límite de línea.
  • Agregue la definición vgcanvas_line_join_t.
  • Agregue la definición vgcanvas_line_cap_t.
  • Se modificó el problema de que la interfaz es negra después de reanudar Android.
  • vista de diapositivas / páginas Cada página admite un enfoque inicial independiente.
  • Agregue la función widget_set_child_text_utf8.
  • Agregue la función widget_set_child_text_with_double.
  • Cuando el teclado está en grab_keys, después de que el teclado procesa el evento clave, la ventana de la aplicación ya no se procesa.
  • Mejore el valor de la imagen, admita agregar un incremento al hacer clic, aumente al valor máximo y vuelva al valor mínimo.

Para obtener muchos detalles, consulte:  https://github.com/zlgopen/awtk/blob/master/docs/changes.md

3. Nuevas características

  • Ningún sistema de archivos admite múltiples temas.
  • Opengles admite instantáneas.
  • dit / mledit le permite especificar el nombre del teclado virtual.
  • Haga clic con el botón derecho del mouse para activar el evento del menú contextual.
  • Use event_source_manager para implementar el bucle principal.
  • Agregue awtk_main.inc, la función principal para programas estándar.
  • Use SDL para volver a implementar la versión para PC de subprocesos y funciones relacionadas con la sincronización.
  • editar agregar entrada tipo "contraseña personalizada" tipo.

4. Nuevos controles

5. Agregar API importante

  • Aumenta el hilo de acción.
  • Aumentar el grupo de subprocesos de acción.
  • Aumente la interfaz de la biblioteca de enlaces dinámicos dl.h.
  • Buffer buffer de anillo de espera。
  • Añadir widget_close_window.
  • Añadir waitable_action_queue.
  • Agregue la función path_replace_extname.
  • Agregue async.c / .h para realizar una llamada de función asincrónica.
  • Agregue la función path_replace_extname.
  • Agregue async.c / .h para realizar una llamada de función asincrónica.
  • Agregue interfaz de lector de datos y escritor de datos para flash externo abstracto y otros dispositivos.
  • Se agregó la función fs_get_user_storage_path para unificar el directorio donde las plataformas de PC y Android guardan datos.

6. Nueva plataforma

7. Nuevo enlace de idioma

8. Agregar artículos relacionados

Los desarrolladores pueden participar juntos en el desarrollo: plan de co-construcción ecológica .

Supongo que te gusta

Origin www.oschina.net/news/114836/awtk-1-4-released
Recomendado
Clasificación