King of App

Entretien avec Xavier Barata de King of App

Ces dernières années, la demande d’applications mobiles a augmenté de façon exponentielle et l’offre de développeurs natifs n’est pas en mesure de couvrir la demande d’applications du marché. Face à cette situation, il est né Roi de l'application, une plateforme open source qui vous permet de créer facilement des applications mobiles. Xavier Barata, son PDG, nous explique de quoi il s'agit, comment il est né et quelles technologies sont utilisées dans King Of App.

1. Qu’est-ce que le King of App ?

King Of App est le WordPress des applications, le premier système de gestion de contenu Open Source qui permet aux personnes sans connaissances en programmation mobile native de créer des applications entièrement personnalisables. Et les personnes ayant des connaissances en programmation Web peuvent accéder au code pour la première fois et modifier tout ce dont elles ont besoin.

Nous avons créé une technologie open source unique qui ressemble à un puzzle. Il fonctionne avec un moteur commun qui ne nécessite pas de programmation à chaque fois et permet de connecter 3 types de pièces :

– Services : vous aide à gérer votre application, vous donnant accès à des analyses, des services de connexion, des notifications push, des publicités,….

– Modèles : vous permet d’apporter des modifications à la conception de votre application.

– Modules : Ils vous permettent d’insérer et d’afficher n’importe quel contenu provenant de n’importe quelle source dans votre application.

2. Comment est née l’idée ?

Nous sommes tous partenaires du monde de la publicité, nous avions même nos propres agences auparavant. Chaque fois que l’agence nous demandait des devis pour réaliser une application, nous étions refusés car trop chers.

Tous nos collègues du secteur ont eu ce problème, aujourd'hui les concepteurs et programmeurs Web créent plus de 50 millions de sites Web chaque année, et les développeurs d'applications n'en créent que 500 000.

Mais les concepteurs et programmeurs Web ne peuvent pas développer d’applications car ils n’ont pas suffisamment de connaissances et nous devons finir par rechercher des développeurs natifs saturés d’une telle demande, c’est pourquoi les prix continuent de croître.

De plus, toutes les études nous disent que le marché va connaître une croissance exponentielle. Ce marché évolue chaque année au-dessus de $20B en 2015 et toutes les prévisions indiquent qu'il dépassera $70B en 2017. Nous réfléchissons donc à comment cela se passera-t-il si les développeurs natifs sont saturés d'une telle demande ?

Face à ce problème, nous avons cherché une solution aux États-Unis, tout comme en 2006 nous avions implémenté Joomla et WordPress, mais nous n'avons rien trouvé de similaire. Nous avons donc décidé de le développer nous-mêmes.

Notre technologie permet aux concepteurs et programmeurs Web de créer des applications avec les mêmes connaissances qu'ils créent des sites Web, leur donnant accès au marché et résolvant ce problème, puisque le coût moyen par application est de 230 euros.

3. N’importe quel utilisateur peut-il créer une application ou doit-il avoir certaines connaissances ?

Notre technologie s'adresse aux professionnels, s'il est vrai qu'il n'est pas nécessaire d'avoir des connaissances en programmation pour pouvoir créer une application, notre principal avantage est que comme elle est Open source, toute personne ayant des connaissances en HTML, CSS ou Javascript peut personnaliser l'application. De même, si l’utilisateur est un développeur avancé, il peut intégrer des éléments développés avec Polymer, React JS,…

4. Combien de temps faut-il pour créer complètement une application ?

Si vous avez préparé le contenu ou l'importez depuis un CMS tel que WordPress, Joomla, Magento, Shopify, etc. Le processus de développement est très rapide et en 10 minutes, vous pouvez avoir une application de base avec des notifications push, de la publicité ou des analyses et en marche et prêt à être envoyé sur les marchés.

Bien que le niveau de personnalisation souhaité par chaque personne pour son application puisse varier le temps nécessaire à la création de son application, en fonction de sa complexité.

5. Quelle est la différence fondamentale de King of App par rapport aux autres plateformes de création d’applications ?

Nous sommes la première plateforme Open Source, c'est-à-dire que les utilisateurs peuvent accéder au code pour personnaliser ce dont ils ont besoin, ou créer des pièces personnalisées et les assembler.

Une autre caractéristique liée à l'Open Source est que la création d'une application est gratuite et nous ne mettons aucun type de marque King of App, et sur notre Marketplace, vous pouvez trouver une plus grande variété de modèles que vous pourrez ensuite personnaliser à partir du code si vous le souhaitez et nous sommes la plateforme avec le plus de modules sur le marché.

Sur la Marketplace, vous pouvez également choisir, auprès des prestataires de services, en un seul clic, le prestataire publicitaire qui peut générer le plus de revenus ou entre différents services de notifications push, en choisissant le prestataire en fonction des fonctionnalités ou du prix.

6. Parlez-nous de la stack technologique de King of App : langage de programmation, base de données et intégrations avec d'autres plateformes.

Le projet est divisé en 4 parties différentes et chacune d'elles a une fonctionnalité différente et donc une stack différente :

La première pièce est le constructeur, c'est une interface utilisateur qui permet de configurer les applications de manière simple. Cette configuration est enregistrée au format JSON pour créer ultérieurement l'application mobile. Il est codé en utilisant AngularJS et SASS pour les styles.

La deuxième pièce est le visualiseur, c'est la pierre angulaire du projet. A partir du fichier de configuration, il génère les différentes vues et comportements de l'application mobile. Il est créé avec AngularJS bien qu'il vous permet d'utiliser des modules réalisés avec Angular, Polymer ou jQuery.

Le troisième sont les KoApp Components, ce sont une série de composants HTML5 créés avec Polymer qui permettent de changer l'esthétique des applications en temps réel.

Étant donné que nos applications n'ont pas de backend défini, nous n'avons pas besoin que nos modules utilisent une infrastructure définie. Cependant, pour notre propre base de données, nous utilisons MongoDB qui peut être consommé via une API Rest écrite en NodeJS.

L'infrastructure est hébergée sur Amazon AWS et nous utilisons des services tels que S3 pour stocker les fichiers, CloudFront pour publier tous les fichiers publics, SQS pour le système de tâches que nous utilisons pour la compilation automatique et bien plus encore.

7. À quoi ressemblait la première version de King of App ?

La première version était un système fermé, dans lequel la notion de plugins n'existait pas. Cela le rendait excessivement rigide et pas du tout personnalisable. Il a été construit avec Symfony2 (PHP) et MySQL.

8. Quel a été le défi technologique le plus important que vous ayez rencontré jusqu’à présent ?

Le projet en lui-même a été un grand défi au niveau technologique, je ne pouvais pas m'en tenir à une seule partie. Je soulignerais :

  • Créez un système de chargement de modules asynchrone et réutilisable dans AngularJS qui permet également l'utilisation d'autres frameworks.
  • Disposer d'un système d'éléments de mise en page qui se comportent de manière dynamique.
  • Protégez une technologie frontale pour minimiser les possibilités d’omettre les licences d’utilisation.

9. Quelle a été la plus grosse erreur technologique que vous ayez commise ?

C'est quelque chose dont on ne peut jamais être sûr, mais je pense que le développement aurait pu être beaucoup simplifié si nous avions utilisé Angular2 pour créer un chargement de module asynchrone.

Il est également vrai que lorsque nous avons démarré le projet Angular2, celui-ci était dans une version très instable.

10. Quelles prochaines étapes de développement avez-vous marquées ?

Nous venons de récolter 1,5 M qui nous permettent d'agrandir l'équipe, nous recherchons des personnes pour atteindre une équipe de 25 personnes. Ouvrir des bureaux à New York, pour étendre notre marque sur le marché américain et grandir en tant que communauté Open Source.

Partager

fr_FRFrançais