BT

Diffuser les Connaissances et l'Innovation dans le Développement Logiciel d'Entreprise

Contribuez

Sujets

Sélectionner votre région

Accueil InfoQ Actualités V-Play pour le développement Cross-platform d'App Mobile Native sur base Qt

V-Play pour le développement Cross-platform d'App Mobile Native sur base Qt

V-Play est une application de développement cross-platform desktop et mobile basée sur Qt. V-Play vise à faciliter la création d'apps en utilisant du JavaScript et QML, le langage déclaratif de Qt 5. V-Play supporte iOS, Android, WindowsPhone, BlackBerry et les autres plateformes mobile. InfoQ a échangé avec Christian Feldbacher, CEO & Co-Founder de V-Play.

V-Play vise à produire du look and feel natif par défaut, de la haute performance grâce à C++, des animations facilitées grâce à Qt Quick, et plus encore. Il rend aussi possible des fonctionnalités spécifiques en intégrant du code spécifique C++, Objective-C, ou Java.

V-Play a initialement été conçu en tant que moteur de développement de jeu 2D et a récemment étendu son offre pour le développement d'app mobile générique. Ci-dessous un exemple d'une app “Hello World” en QML en utilisant les composants d'interfaces natifs V-Play :

import VPlayApps 1.0

App {
  Page {
    AppText { text: "Hello World" }
  }
}

V-Play fournit une longue liste de composants couvrant l'UI, les multimédia, le réseau, etc. Il faut noter que tous les composants de V-Play disponibles via QML sont implémentés en C++, ce qui garantit une meilleure performance. V-Play annonce que l'usage de QML permet d'écrire 10 fois moins de code qu'en C++. V-Play fournit un nombre d'échantillons d'applications dont une app Twitter, de messagerie, et de météo.

InfoQ a échangé avec Christian Feldbacher, CEO & Co-Founder de V-Play pour en apprendre plus sur le produit.

 

InfoQ : Pourriez-vous décrire l'évolution de V-Play ?

Le framework Qt, sur lequel se base V-Play, marchait déjà très bien pour le développement d'app. En particulier pour les avantages suivants :

  • QML, Qt Meta Language est un langage de script déclaratif avec un support complet de JavaScript pour la logique des applications et de nombreuses fonctionnalités pour économiser du code. QML est aussi facile à apprendre et à comprendre.
  • UI animé & Thèmes sur mesure : ceci est très facile à faire en QML, et parce que c'est essentiel pour les apps mobile, QML s'ajuste bien à ce type de développement.
  • Performance native : le rendu des apps Qt est réalisé par un moteur de scènes qui a été totalement repensé et optimisé pour le mobile par l'équipe Qt il y a un an. Cela conduit à une forte performance des apps. En plus, le framework Qt est lui-même écrit en C++, ce qui le rend aussi natif que possible.

Donc, nous utilisons Qt et des composants de jeu préexistants dans V-Play pour le développement interne et pour des projets clients depuis un moment. Dans le processus, nous avons noté que nous réutilisions beaucoup de nos nouveaux composants internes dans différentes apps mobile pour accélérer notre temps de production.

Ceci fut le point de départ du V-Play Apps SDK : les composants mobile simplifient le développement avec le framework Qt. Ils permettent d'écrire des apps responsives qui s'adaptent automatiquement aux smartphones/tablettes et changement portrait/paysage. Ils permettent aussi d'avoir une expérience utilisateur native sur iOS et Android, sans besoin de spécificité de plateforme.

Après l'utilisation du SDK dans plusieurs apps et l'affinement de l'API, nous avons ouvert la première version publique de V-Play Apps en août 2015.

InfoQ : le milieu du développement mobile cross-platform est bien rempli. Quels sont les principales différences de V-Play ?

Dans notre équipe de développeurs mobile, nous avons beaucoup d'expériences d'apps depuis les premiers jours de l'iPhone 1 et Google G1. Durant les 8 dernières années, le paysage du développement a beaucoup changé : au début, le développement natif iOS ou Android était le seul choix, alors qu'aujourd'hui, les frameworks de développement cross-platform sont légions.

Nous avons travaillé avec de nombreux frameworks par le passé, et dans certains cas, nous recommandons le développement natif Obj-C/Java. Cependant, pour la majorité des cas, un framework cross-platform est le meilleur choix étant donné le gain de temps et d'argent.

Si vous utilisez des frameworks basés sur HTML5, vous aurez une expérience et une performance faible en comparaison à un développement natif comme Qt et V-Play. D'un autre côté, des outils comme Xamarin demande beaucoup de code pour obtenir des choses comme des animations.

Avec V-Play, notre mission est de créer le framework de création d'app le plus simple en conservant la performance, le look and feel natif, comme nous l'avons fait avec le V-Play Game Engine.

Le fait que QML permette le développement rapide se voit dans les exemples d'apps proposés : par exemple, l'app Twitter (tout le code source est dans le SDK !) n'a que 500 lignes de code en comptant l'accès à l'API REST de Twitter et les animations comme l'app native de Twitter. Vous pouvez regarder le code par vous-même et tester les apps sur votre téléphone ici.

De plus, comme QML s'appuie sur JavaScript, le temps d'apprentissage est rapide. La plupart des développeurs expliquent qu'ils sont productifs après juste une journée. La courbe d'apprentissage pour les nouveaux développeurs est également très courte. Un rapport de l'an dernier sur les frameworks de développement mobile de research2guidance montre que V-Play est en première place devant Xamarin, KonyOne ou Titanium en termes de gains de temps et de facilitation d'apprentissage. (2 188 développeurs ont participé à l'étude).

InfoQ : Le support aux apps mobile est un ajout récent à V-Play. Quelles sont les prochaines fonctionnalités à venir ?

Nous allons réaliser un effort important pour ajouter plus d'exemples d'applications à utiliser comme point de départ de vos applications mobile, comme un navigateur ou un journal. De plus, nous voulons améliorer les outils : avec V-Play Build Server, vous pourrez bientôt déployer vos apps vers plusieurs devices iOS et Android sans installer aucun SDK sur votre PC. Ceci permettra aussi le déploiement d'un Windows vers un iPhone ou iPad par exemple.

Cependant, nous écoutons avec attention toutes les demandes de fonctionnalités de la communauté - donc, si une fonctionnalité est fortement demandée, nous la mettrons en avant. A la fin, notre objectif est de faciliter le développement cross-platform avec le V-Play Apps SDK. Durant les 4 dernières années, nous avons appris que cela marche le mieux en travaillant avec la communauté des développeurs.

V-Play propose une offre gratuite qui permet aux développeurs d'essayer la plateforme et de construire des apps avec quelques limites, comme l'absence des fonctions d'achats et de publicités.

Evaluer cet article

Pertinence
Style

Contenu Éducatif

BT