QMLCore est un ensemble simple d'outils que nous (une petite équipe de défenseurs de QML) depuis des années pour simplifier le développement des UIS HTML5 pour les appareils mobiles et de bureau. Il a été conçu avec le QML d'origine à l'esprit, alors qu'il n'est pas 100% compatible et s'est amélioré sous certains aspects. Les principaux concepts sont les mêmes, donc si vous connaissez le QML original, vous pourriez commencer tout de suite.
QMLCore fournit une chaîne d'outils écrite en Python à l'aide de Python-future, ce qui lui permet d'exécuter sur les deux versions Python. Normalement, vous n'avez pas besoin de les utiliser directement. build offre un emballage pratique autour d'eux tous.
Tout python moderne (2 ou 3) se passera bien. Jinja2 est une option différente pour les modèles au cas où vous voudrez plus que le chargeur QML dans votre fichier HTML, alors qu'il n'est pas requis pour les petites applications.
Pour installer les exigences exécutées:
$ pip install - r requirements . txt cd <project-dir>git clone [email protected]:pureqml/qmlcore.git Le compilateur QML analyse les répertoires source pour les fichiers QML et les analyses chacun. Nom de fichier commençant par la lettre majuscule considérée comme composant, minuscules instanciés. Les options à l'échelle du projet sont stockées dans le fichier .manifest . Le résultat de la compilation est un seul fichier JavaScript avec des dépendances minimales (Modernizr uniquement), prête à l'emploi dans un environnement mobile et de bureau et accompagnée d'un échantillon de lanceur .html.
Manifest est une collection de hacks à l'échelle du projet que nous avons utilisés pour bâtir divers projets. Certains d'entre eux peuvent ou non être utiles.
templater - moteur de modèle à utiliser, seuls «simples» et «Jinja2» sont pris en charge pour le momentweb-prefix - Voir-PORTION CI-DESSOUS, Spécifiez le préfixe des règles CSSminify - False / True ou Nom du compilateur en tant que chaîne, seuls «gcc» et «uglify-js» sont pris en charge. Le compilateur de fermeture Google nécessite que Java s'exécute.platforms utilisent une plate-forme supplémentaire / * / fichiers, par défaut et seule plate-forme est `` Web '' pour l'instantpath - répertoires supplémentaires pour rechercher des sources pour -m, --minify minify avec l'option par défaut ('uglify-js')-k, --keep de garder la source d'origine après minification, utile pour le débogage des avertissements de minification-d, --devel Le mode de développement du niveau, continuez à fonctionner et attendez les modifications, nécessite un module inotifier-p, --web-prefix web, supprime les règles CSS par défaut, ajoute 'QML-' Prefix pour eux, vous permettant d'échanger HTML / QML.-u, --update-translation Fichiers de traduction de mise à jour de la translation à la mise à jour, spécifiés dans Manifest.Languages-j, --jobs exécutent n travail en parallèle--boilerplate initialise le strict minimum pour un coup d'envoi plus rapide dans le répertoire actuel.Nous prenons en charge de nombreuses plateformes différentes et variantes d'intégration vidéo.
Les plates-formes les plus notables sont:
Pour la liste complète de la plate-forme prise en charge, consultez ici et ici. Ou alternativement, demandez-nous.
L'implémentation Android native pureqml pureqml est https://github.com/pureqml/qmlcore-android.
Afin de créer une application Android native, vous devez:
ANDROID_HOME./qmlcore/platform/pure.femto/build-android-native.sh Script.QMLCore utilise l'approche QT pour la localisation. Vous écrivez le code dans votre langue par défaut, puis générez / mettez à jour (build -u) .ts Fichiers de traduction, traduisez-les avec QT Linguist et compilez votre projet. Qmlcore reconnaît la fonction tr, qstr, qstranslate, ainsi que les macros QT_TR_NOOP / QT_TRANSLATE_NOOP.
QMLCORE contient un minimum de commandes de plate-forme: Images, textes, rectangles et classes de délégués de vue de modèle. Divers contrôles qui pourraient être utiles sont dans un référentiel séparé. Il suffit de le cloner via git clone [email protected]:pureqml/controls.git dans votre projet et c'est tout!
Nous avons besoin d'un point-virgule après chaque déclaration. Cela peut être modifié à l'avenir.
La plus grande différence avec QML d'origine est la façon dont la mise au point est mise en œuvre. Nous visons à avoir une orientation «toujours consciente» partout. Vous devez marquer chaque composant focalable avec focus: true; la propriété, et le reste devrait fonctionner sans peaufinir. Nous fournissons plusieurs propriétés pratiques pour gérer facilement la mise au point:
Veuillez utiliser la commande suivante pour obtenir la page de construction modernizr personnalisée: head -n2 dist/modernizr-custom.js | tail -n1 ou juste la deuxième ligne du fichier modernizr-custom.js
Modernizr vous indique ce que HTML, CSS et JavaScript fonctionnent que le navigateur de l'utilisateur a à offrir. https://modernizr.com/
Une base de données d'origine communautaire de mappages de contrôleur de jeu https://github.com/gabomdq/sdl_gamecontrollerdb
Apache Cordova est un cadre de développement mobile open source. Il vous permet d'utiliser des technologies Web standard - HTML5, CSS3 et JavaScript pour le développement multiplateforme. https://cordova.apache.org