Applications multi-plateformes ? HOWTO ?

Pour développer des applications multi-plateformes, il n’y a pas cinquante choix possibles, il n’y en a qu’un seul qui est gratuit et performant : c’est C++.

Seul le C++ permet de tirer partie des dernières nouveautés des SDK Windows, Linux, Android et iOS car le système et son environnement sont faits avec. L’avantage de C++ est qu’il <<build on the metal>> : il n’y a pas plus rapide. C++ tire partie de l’architecture logicielle des systèmes d’exploitation et matérielle des derniers processeurs x86, x64 et ARM. Cela fait quarante ans que les optimiseurs de code C++ garantissent la meilleur qualité de code possible.

C est le nouvel assembleur. C++ permet l’orientée objet : abstractions, héritage et polymorphisme (fonctions virtuelles), surcharge d’opérateurs, templates. Avec sa librairie STL (Standard Template Library) et conjointement avec une librairie comme Boost (boost.org), le C++ possède une boite à outil universelle qui gère les strings, containers (collections), algorithmes, les I/O, les threads, les smart pointers, les communications, etc.

Passez le pas. Installez Visual C++ sous Windows, GCC sous Linux, XCode sous Mac et partagez du code métier. Réalisez des interfaces graphiques riches et tirez partie du meilleur langage de développement qu’est C++.

Vous allez me dire il existe des solutions hybrides comme NET ou Java ? Ces solutions sont un ensemble de mille feuilles lourds et lents qui ne permettent pas de créer des applications de classe mondiale. En automobile, y a les Fiat 500 et les Ferrari. A prix égal (voir moins cher), vous prenez quoi? Y a pas photo…

Le Cloud par Keelan C.

Dans le numéro de Programmez de Novembre 2019, Keelan nous fait partager sa vision du cloud sous forme d’Edito.

« Le Cloud computing a énormément évolué cette dernière décennie et ne se contente plus, bien heureusement, de proposer une simple approche IaaS (Infrastructure as a Service). Les cloud providers ont compris que la valeur ne se situait pas au niveau du device mais au-dessus de ce dernier en  proposant de vrais services à valeur ajoutée. Ces derniers permettent de réduire le TTM (Time To Market) tout en optimisant le coût d’exploitation, pour peu que les architectes en charge des développements respectent les bonnes pratiques et utilisent finement les leviers d’optimisation. C’est la promesse du PaaS (Platform as a Service), du CaaS (Container as a Service) et autre FaaS (Function as a Service).

Qui dit nouvelle plateforme dit nouvelle architecture. Nous avons ainsi vu apparaître les micro-services, architecture permettant de se séparer des applications plus ou moins monolithiques pour offrir à la place un ensemble de petites fonctionnalités (services), indépendantes les unes des autres, interrogeable. Le principe est simple : 1 fonctionnalité = 1 service (d’où le préfixe de micro), la communication se faisant à l’aide d’un contrat d’API.

Dans le monde Microsoft Azure, 4 approches sont disponibles pour mettre en œuvre ces micro-services :

Service Fabric, AKS (Azure Kubernetes), Azure function ou encore la solution d’API management.

Les Azure .Net Rangers vous proposent au travers de ce dossier d’étudier votre première application architecturée autour des micro-services et hébergée dans des containers Docker sur la plateforme Azure de Microsoft, afin de tirer également partie des bénéfices de déploiement, scalabilité et contrôle des coûts apportés par cette solution.»