Ashampoo Systems GmbH & Co. KG a publié Boden, un framework multiplateforme, open source et purement natif C++ destiné à faciliter le développement d’application Android et iOS. Le framework permet, selon ses concepteurs, de créer des applications mobiles multiplateformes et natives avec une seule base de code. Il est publié sous la licence GPL (2/3). Le framework Boden vous permet de créer des applications mobiles multiplateformes natives à partir d'une seule base de code. Boden utilise les contrôles de l'interface utilisateur de la plateforme cible. Par conséquent, les utilisateurs ne reconnaissent aucune différence dans l'apparence à laquelle ils sont déjà habitués.
Boden est conçu à partir du C++ 17 pour permettre l’écriture d’applications modernes, rapides et conviviales, bénéficiant ainsi de toute la puissance du langage. Vous pouvez écrire vos applications mobiles en C++ 17 moderne et les compiler en applications 100 % natives pour Android et iOS à partir d'une seule base de code statiquement typée. Selon l’équipe Boden, la compilation ne nécessite pas de scripts alternatifs ou quoi que ce soit d’autre. De plus, Boden se veut simple. Vous n’aurez pas à gérer les surcharges introduites par les machines virtuelles. La simplicité de Boden vous permet de profiter de la puissance de l’outil de mise en page CSS Flexbox afin de construire le design de votre interface utilisateur. Flexbox est un outil qui permet de créer des structures responsives et flexibles sur des pages Web, c’est-à-dire qu’il permet de positionner et d’aligner des éléments HTML sans même connaître leur dimension à priori.
« Avec Boden, la configuration de votre interface utilisateur est un jeu d'enfant. Vous avez la possibilité de définir simplement vos mises en page à l'aide de feuilles de style Flexbox directement en C++ », a expliqué l’équipe de développement du framework. Boden utilise également le moteur de mise en page de yoga conçu par Facebook pour toutes les plateformes. En effet, yoga est une bibliothèque open source qui implémente Flexbox et permet ainsi de créer des mises en page flexibles sur toutes les plateformes. Facebook le définit comme étant un moteur de mise en page hautement optimisé conçu pour la vitesse, la taille et la facilité d'utilisation. Yoga utilise également des frameworks open source largement utilisés tels que Litho, ComponentKit et React Native. La bibliothèque propose des fonctionnalités comme le calcul des dispositions hors du fil principal pour garantir des performances optimales de l'interface utilisateur.
Pour que yoga puisse être utilisé n’importe où, il a été lui-même construit en C/C++ portable et présente un faible nombre de dépendances et une petite taille binaire. Cela a été fait pour que yoga puisse être utilisable sur iOS et Android, en partageant les connaissances, voire le code, entre ces plateformes. À part cela, l’équipe explique qu’une chaîne de Boden est littéralement un std::string. De plus, aucune fonctionnalité du C++ notamment les conteneurs, les pointeurs intelligents ou les éléments de base n’a été réinventée. Cela vous permet de réutiliser vos connaissances existantes et de vous concentrer sur l'essentiel : votre application.
Cependant, la publication du framework sous la licence GPL (General Public Licence) est sujette à de petites remarques dans la communauté. On estime que le logiciel étant concédé sous la licence GPL, il sera difficile de travailler et de commercialiser ses applications sur les plateformes Android et iOS. Pour info, la General Public License est une licence qui fixe les conditions légales de distribution d'un logiciel libre du projet GNU. Les logiciels sous la licence GPL peuvent être utilisés et modifiés partout, sans aucune restriction, ni dans les environnements privés, ni même dans les environnements d'entreprise. Néanmoins, il existe des limitations quant à la publication de ces logiciels.
Si votre logiciel utilise un ou plusieurs logiciels publiés sous cette licence, il doit être à son tour distribué avec son code source complet, selon les mêmes conditions de licence que le logiciel original. « Cela semblait très prometteur, mais le fait d'appliquer la licence GPL pour les applications mobiles iOS et Android est impossible. Même si je publie les applications gratuitement, il est très difficile de travailler avec la GPL sur ces écosystèmes. C'est triste parce que le code est vraiment très cool », a déclaré l’un d’entre eux.
Ainsi, le principal problème avec la GPL serait que cette restriction rendrait les applications incompatibles avec les conditions de service de l'iOS App Store et des fois avec le Google Play Store. Dans la communauté, on conseille donc de prévoir également une licence LGPL pour Boden qui dispose de quelques restrictions en moins que la GPL. En effet, la LGPL (pour GNU Lesser General Public License) est également une licence utilisée pour les logiciels libres.
Elle présente de grandes ressemblances avec la GPL, rédigée par le même organisme, la Free Software Foundation, visant à promouvoir le développement de logiciels libres. Cette licence limitée, ou amoindrie, c'est-à-dire qu'elle est moins restrictive que la licence GPL dont elle découle, a été créée pour permettre à certains logiciels libres de pénétrer tout de même certains domaines où le choix d'une publication entièrement libre de toute l'offre était impossible.
Dans un commentaire sur la question, l’équipe de Boden à assurer qu’elle travaille avec des avocats pour voir dans quelle mesure ajouter une option LGPL au framework Boden. Il existe deux perspectives différentes à ce sujet. Premièrement la perspective utilisateur, où la licence MIT semble bien sûr être l’une des plus attractives. Ensuite, il y a le point de vue de l'entreprise où l'on cherche à savoir quel est le modèle économique utilisé et comment le développement sera durable à long terme, a expliqué un membre de l’équipe Boden. « Nous sommes arrivés à la conclusion que la LGPL est actuellement la meilleure option pour aligner ces deux perspectives et offrir la meilleure valeur à long terme. Si la GPL/LGPL ne vous suffit pas, nous vous proposerons une licence commerciale avec des conditions équitables », a-t-il conclu dans son commentaire.
Sources : Boden (1, 2)
Et vous ?
Que pensez-vous du framework Boden ?
Quelle licence auriez-vous préférée pour Boden ? Pourquoi ?
Voir aussi
Flutter : le framework UI de Google, en plus du mobile, prend désormais en charge le desktop, le Web et l'embarqué
Google lance Flutter 1.2, son SDK open source de développement d'apps mobiles iOS et Android et Dart DevTools, une suite d'outils de programmation
Google lance Flutter 1.0, son SDK pour développement Mobile Android et iOS, la toute première version stable et native
Boden : un framework C++ multiplateforme pour le développement d'application mobile native
Android et iOS
Boden : un framework C++ multiplateforme pour le développement d'application mobile native
Android et iOS
Le , par Bill Fassinou
Une erreur dans cette actualité ? Signalez-nous-la !