QMLCore es un conjunto simple de herramientas que usamos (un pequeño equipo de defensores de QML) desde años para simplificar el desarrollo de UIS HTML5 para dispositivos móviles y de escritorio. Fue diseñado con el QML original en mente, mientras que no es 100% compatible y mejoró en algunos aspectos. Sin embargo, los conceptos principales son los mismos, por lo que si está familiarizado con QML original, podría comenzar de inmediato.
QMLCORE proporciona una cadena de herramientas escrita en Python usando Python-Future, lo que permite que se ejecute encima de ambas versiones de Python. Normalmente no necesita usarlos directamente. build proporciona un envoltorio conveniente a su alrededor a todos.
Cualquier pitón moderno (2 o 3) irá bien. Jinja2 es una opción diferente para la plantilla en caso de que desee más del cargador QML en su archivo HTML, mientras que no es necesario para pequeñas aplicaciones.
Para instalar los requisitos ejecutados:
$ pip install - r requirements . txt cd <project-dir>git clone [email protected]:pureqml/qmlcore.git El compilador QML escanea los directorios de origen para archivos QML y analiza cada uno. Nombre de archivo que comienza con una carta de mayúscula considerada componente, minúscula instanciada. Las opciones de todo el proyecto se almacenan en el archivo .manifest . El resultado de la compilación es un solo archivo de JavaScript con dependencias mínimas (solo Modernizr), listo para usar en un entorno móvil y de escritorio y acompañado de la muestra .html lanzador.
Manifest es una colección de hacks de todo el proyecto que usamos para fallecer varios proyectos. Algunos de ellos pueden o no ser útiles.
templater : motor de plantilla para usar, solo 'simple' y 'jinja2' son compatibles en este momentoweb-prefix : consulte la opción -p a continuación, especifique el prefijo de reglas CSSminify - Se admiten el nombre falso/true o compilador como cadena, solo se admiten 'GCC' y 'Uglify -JS'. El compilador de cierre de Google requiere que Java se ejecute.platforms usan plataforma adicional/*/ archivos, predeterminado y la única plataforma es 'web' por ahorapath : directorios adicionales para buscar fuentes de -m, --minify minify con la opción predeterminada ('uglify-js')-k, --keep la fuente original después de la minificación, útil para depurar advertencias de minificación-d, --devel , seguir funcionando y esperar cambios, requiere módulo inotify-p, --web-prefix , Reglas CSS predeterminadas eliminadas, agrega prefijo 'QML-' para ellos, lo que le permite intercambiar HTML/QML.-u, --update-translation translation-Translation, especificados en manifest.languages-j, --jobs ejecutan n trabajos en paralelo--boilerplate inicializa el mínimo para el inicio más rápido en el directorio actual.Apoyamos muchas plataformas diferentes y variantes de integración de video.
Las plataformas más notables son:
Para la lista completa de la plataforma compatible, ver aquí y aquí. O alternativamente, pregúntanos.
El repositorio principal para la implementación de Android nativo de Pureqml es https://github.com/pureqml/qmlcore-android.
Para crear una aplicación Native Android, debe:
ANDROID_HOME./qmlcore/platform/pure.femto/build-android-native.sh script.QMLCore utiliza el enfoque QT para la localización. Escribe el código en su idioma predeterminado, luego genera/actualiza (construye los archivos de traducción .ts .TS, traducirlos con QT Linguist y compilar su proyecto. QMLCore reconoce la función TR, QSTR, QSTRANSLATE, así como QT_TR_NOOP/QT_TRANSLATE_NOOP MACROS.
QMLCORE contiene un mínimo de controles de plataforma: imágenes, textos, rectángulos y clases de delegado de visión de visión del modelo. Varios controles que podrían ser útiles están en un repositorio separado. Simplemente clonarlo a través de git clone [email protected]:pureqml/controls.git en su proyecto y eso es todo!
Requerimos un punto y coma después de cada declaración. Esto puede cambiarse en el futuro.
La mayor discrepancia con el QML original es cómo se implementa el enfoque. Nuestro objetivo es tener un enfoque "siempre consistente" en todas partes. Debe marcar cada componente de enfoque con focus: true; propiedad, y el resto debería funcionar sin ajustar. Brindamos varias propiedades convenientes para manejar el enfoque con facilidad:
Utilice el siguiente comando para obtener la página de compilación Modernizr personalizada: head -n2 dist/modernizr-custom.js | tail -n1 o simplemente la segunda línea de Modernizr -Custom.js File
Modernizr le dice lo que HTML, CSS y JavaScript presenta el navegador del usuario que tiene para ofrecer. https://modernizr.com/
Una base de datos de origen comunitario de mapeos de controladores de juegos https://github.com/gabomdq/sdl_gamecontrollerdb
Apache Cordova es un marco de desarrollo móvil de código abierto. Le permite usar tecnologías web estándar: HTML5, CSS3 y JavaScript para el desarrollo multiplataforma. https://cordova.apache.org