Catégories
Informaticiens et développeurs Recruteurs et commerciaux IT

Cartographie des Technos Mobile 2020

Que vous soyez recruteur ou développeur souhaitant avoir un aperçu des différentes technos mobiles 📲, voici la cartographie et le glossaire qu’il vous faut 😁

Landscape Dev Mobile (2)

En dessous de chaque logo vous avez le nom et la dernière version !

 

IDE

Xcode

Xcode est un environnement de développement pour macOS, ainsi que pour iOS, watchOS et tvOS.

L’API Cocoa permet de programmer avec les langages suivants :

  • Objective-C
  • Ruby
  • Swift (nouveau langage de programmation d’Apple présenté à la WWDC 2014).

Fourni avec toute une suite logicielle (graphiques, audio, etc.) pour développeurs et programmeurs, il permet de créer des logiciels utilisant toutes les fonctionnalités de macOS et d’UNIX. Cet environnement peut être obtenu gratuitement sur le Mac App Store. Il était fourni en standard avec chaque Mac, sur les disques d’installation de Mac OS X 10.6, Mac OS X 10.5, 10.4 et 10.3. Il n’est pas pré-installé sur l’ordinateur et doit être installé séparément

Plus d’infos à ce lien

Android Studio

Android Studio est un environnement de développement pour développer des applications mobiles Android. Il est basé sur IntelliJ IDEA et utilise le moteur de production Gradle. Il peut être téléchargé sous les systèmes d’exploitation Windows, macOS, Chrome OS et Linux

Android Studio permet principalement d’éditer les fichiers Java/Kotlin et les fichiers de configuration XML d’une application Android.

Il propose entre autres des outils pour gérer le développement d’applications multilingues et permet de visualiser rapidement la mise en page des écrans sur des écrans de résolutions variées simultanément. Il intègre par ailleurs un émulateur permettant de faire tourner un système Android virtuel sur un ordinateur

Plus d’infos à ce lien

Ecplise

Eclipse est un projet, décliné et organisé en un ensemble de sous-projets de développements logiciels, de la fondation Eclipse visant à développer un environnement de production de logiciels libre qui soit extensible, universel et polyvalent, en s’appuyant principalement sur Java.

Son objectif est de produire et fournir des outils pour la réalisation de logiciels, englobant les activités de programmation (notamment environnement de développement intégré et frameworks) mais aussi d’AGL recouvrant modélisation, conception, test, gestion de configuration, reporting… Son EDI, partie intégrante du projet, vise notamment à supporter tout langage de programmation à l’instar de Microsoft Visual Studio.

Plus d’infos à ce lien

AppCode

AppCode est un environnement de développement intégré (IDE) pour le développement Swift, Objective-C, C, C++ et JavaScript, construit sur la plateforme IntelliJ IDEA de JetBrains. La première version publique d’AppCode est disponible depuis avril 2011. La dernière version stable est présentée à côté de la version Stable et est disponible sur le site web officiel de JetBrains. AppCode est construit sur la plateforme IntelliJ IDEA, qui est écrite en Java et Kotlin. Les utilisateurs peuvent étendre ses capacités en installant des plug-ins créés pour la plateforme IntelliJ, ainsi qu’ils peuvent écrire leurs propres plug-ins.

Plus d’infos à ce lien

IntelliJ IDEA

IntelliJ IDEA également appelé « IntelliJ », « IDEA » ou « IDJ » est un environnement de développement intégré (en anglais Integrated Development Environment – IDE) de technologie Java destiné au développement de logiciels informatiques. Il est développé par JetBrains (anciennement « IntelliJ ») et disponible en deux versions, l’une communautaire, open source, sous licence Apache 2 et l’autre propriétaire, protégée par une licence commerciale. Tous deux supportent les langages de programmation Java, Kotlin, Groovy , JavaScript et TypeScript et Scala.

Plus d’infos à ce lien

Développement 

iOS

Swift

Swift est un langage de programmation objet compilé, multi-paradigmes, ayant pour objectif d’être simple, hautes performances et sûr. Il est développé en open source.

Le projet de développement de Swift est géré par Apple qui en est également le principal contributeur mais de nombreux membres de la communauté Swift ainsi que d’autres acteurs tels que Google et IBM participent activement à son développement. Swift est officiellement supporté sur les systèmes d’exploitation Linux Ubuntu, iOS, macOS, watchOS et tvOS. Un support non officiel (géré par la communauté) existe sur d’autres plateformes Linux telles que Debian et Fedora.

Plus d’infos à ce lien

Objective-C

Objective-C est un langage de programmation orienté objet réflexif. C’est une extension du C ANSI, comme le C++, mais qui se distingue de ce dernier par sa distribution dynamique des messages, son typage faible ou fort, son typage dynamique et son chargement dynamique. Contrairement au C++, il ne permet pas l’héritage multiple mais il existe toutefois des moyens de combiner les avantages de C++ et d’Objective-C.

Aujourd’hui, il est principalement utilisé dans les systèmes d’exploitation d’Apple : macOS et son dérivé iOS, basés sur la bibliothèque de classes Cocoa mais il existe aussi une bibliothèque de classes libre GNUstep sous GNU/Linux. Cocoa et GNUstep sont les successeurs de l’API OpenStep, utilisée dans les systèmes d’exploitation NeXTSTEP (à l’origine de macOS) et son pendant libre OPENSTEP.

Android

Kotlin

Kotlin est un langage de programmation orienté objet et fonctionnel, avec un typage statique qui permet de compiler pour la machine virtuelle Java, JavaScript, et vers plusieurs plateformes en natif (grâce à LLVM). Son développement provient principalement d’une équipe de programmeurs chez JetBrains basée à Saint-Pétersbourg en Russie (son nom vient de l’île de Kotline, près de St. Pétersbourg).

Google annonce pendant la conférence Google I/O 2017 que Kotlin devient le second langage de programmation officiellement pris en charge par Android3 après Java. Le 8 mai 2019, toujours lors de la conférence Google I/O, Kotlin devient officiellement le langage de programmation voulu et recommandé par le géant américain Google pour le développement des applications Android.

Plus d’infos à ce lien

Java

Java est un langage de programmation orienté objet créé par James Gosling et Patrick Naughton, employés de Sun Microsystems, avec le soutien de Bill Joy (cofondateur de Sun Microsystems en 1982), présenté officiellement le 23 mai 1995 au SunWorld. La société Sun a été ensuite rachetée en 2009 par la société Oracle qui détient et maintient désormais Java.

Oracle annonce début octobre 2012 à la conférence JavaOne sa volonté de proposer des solutions Java pour le domaine des logiciels embarqués, pour processeurs moins puissants que ceux habituellement disponibles sur les PC.

Java, notamment via Eclipse et NetBeans, offre déjà des environnements de développement intégrés pour mobile. Java est le principal langage utilisé pour développer des applications pour le système d’exploitation libre pour Mobile de Google : Android.

Plus d’infos à ce lien

Hybride/Cross Plateform

React Native

React Native est un framework d’applications mobiles open source créé par Facebook. Il est utilisé pour développer des applications pour Android 3, iOS et UWP 4 en permettant aux développeurs d’utiliser React avec les fonctionnalités natives de ces plateformes.

Plus d’infos à ce lien

Flutter

Flutter est un kit de développement de logiciels d’interface utilisateur à source ouverte créé par Google. Il est utilisé pour développer des applications pour Android, iOS, Windows, Mac, Linux, Google Fuchsia et le web.

La première version de Flutter était connue sous le nom de code « Sky » et fonctionnait sur le système d’exploitation Android. Elle a été dévoilée lors du sommet des développeurs Dart de 2015, avec l’intention déclarée de pouvoir effectuer un rendu cohérent à 120 images par seconde. Lors du discours d’ouverture des Google Developer Days à Shanghai, Google a annoncé la sortie de Flutter Release Preview 2 qui est la dernière grande version avant Flutter 1.0. Le 4 décembre 2018, Flutter 1.0 a été publié lors de l’événement Flutter Live, ce qui représente la première version « stable » du Framework. Le 11 décembre 2019, Flutter 1.12 a été publié lors de l’événement Flutter Interactive.

Plus d’infos à ce lien

Xamarin

Xamarin est une société de logiciels de Microsoft basée à San Francisco, fondée en mai 2011 par les ingénieurs qui ont créé Mono, Xamarin.Android (anciennement Mono pour Android) et Xamarin.iOS (anciennement MonoTouch), qui sont des implémentations multiplateformes de l’infrastructure de langage commun (CLI) et des spécifications de langage commun (souvent appelées Microsoft .NET).

Grâce à une base de code partagée en C#, les développeurs peuvent utiliser les outils Xamarin pour écrire des applications natives pour Android, iOS et Windows avec des interfaces utilisateur natives et partager du code sur plusieurs plateformes, y compris Windows, macOS et Linux. Selon Xamarin, en avril 2017, plus de 1,4 million de développeurs utilisaient les produits Xamarin dans 120 pays du monde entier.

Le 24 février 2016, Microsoft a annoncé qu’elle avait signé un accord définitif pour acquérir Xamarin.

Plus d’infos à ce lien

Ionic

Ionic est un SDK open-source complet pour le développement d’applications mobiles hybrides créé par Max Lynch, Ben Sperry et Adam Bradley de Drifty Co. en 2013. La version originale est sortie en 2013 et a été construite sur AngularJS et Apache Cordova. Cependant, la dernière version a été reconstruite sous la forme d’un ensemble de composants Web, permettant à l’utilisateur de choisir n’importe quel cadre d’interface utilisateur, comme Angular, React ou Vue.js. Elle permet également l’utilisation de composants ioniques sans aucun cadre d’interface utilisateur.  Ionic fournit des outils et des services pour le développement d’applications Web hybrides, mobiles, de bureau et progressives, basées sur les technologies et les pratiques modernes de développement Web, en utilisant des technologies Web comme CSS, HTML5 et Sass.  En particulier, les applications mobiles peuvent être construites avec ces technologies Web et ensuite distribuées par le biais de magasins d’applications natives à installer sur les appareils en utilisant Cordova ou Capacitor.

Plus d’infos à ce lien

Tests

JUnit

JUnit est un cadre de test unitaire pour le langage de programmation Java. JUnit a joué un rôle important dans le développement du développement piloté par les tests, et fait partie d’une famille de cadres de tests unitaires qui est connue collectivement sous le nom de xUnit qui a vu le jour avec SUnit. JUnit est lié en tant que JAR au moment de la compilation ; le cadre réside sous le paquet junit.framework pour JUnit 3.8 et antérieur, et sous le paquet org.junit pour JUnit 4 et ultérieur.

Une étude réalisée en 2013 sur 10 000 projets Java hébergés sur GitHub a révélé que JUnit (en lien avec slf4j-api), était la bibliothèque externe la plus souvent incluse. Chaque bibliothèque a été utilisée par 30,7 % des projets.

Plus d’infos à ce lien

Mockito

Mockito est un cadre de test open source pour Java publié sous la licence du MIT. Le cadre permet la création d’objets doubles de test (objets fantaisie) dans des tests unitaires automatisés à des fins de développement dirigé par les tests (TDD) ou de développement dirigé par le comportement (BDD).

Plus d’infos à ce lien

Cucumber

Concombre est un outil logiciel qui soutient le développement axé sur le comportement (BDD). L’élément central de l’approche BDD de Cucumber est son analyseur de langage ordinaire appelé Gherkin. Il permet de spécifier les comportements attendus du logiciel dans un langage logique que les clients peuvent comprendre. Ainsi, Cucumber permet l’exécution de la documentation des fonctionnalités rédigée dans un texte orienté vers l’entreprise. Il est souvent utilisé pour tester d’autres logiciels. Il permet d’exécuter des tests d’acceptation automatisés écrits dans un style de développement comportemental (BDD).

Plus d’infos à ce lien

Framework de Test JS

Jest

Jest est un cadre de test JavaScript maintenu par Facebook, Inc. avec un accent sur la simplicité. Il fonctionne avec des projets utilisant : Babel, TypeScript, Node.js, React, Angular et Vue.js. Il vise à fonctionner de façon autonome et à être configuré librement.

Plus d’infos à ce lien

Enzyme

Enzyme est un utilitaire de test JavaScript pour React qui facilite le test de la sortie de vos composants React. Vous pouvez également manipuler, parcourir et, d’une certaine manière, simuler le temps d’exécution de la sortie.

L’API d’Enzyme est conçue pour être intuitive et flexible en imitant l’API de jQuery pour la manipulation et la traversée de DOM.

Plus d’infos à ce lien

Detox

Detox est un cadre de test et d’automatisation de bout en bout qui fonctionne sut votre application mobile pendant qu’elle tourne dans un appareil/simulateur réel, en interagissant avec elle comme un utilisateur réel. r un appareil ou un simulateur, tout comme un utilisateur final réel. Le développement mobile natif à grande vitesse oblige à adopter des flux de travail d’intégration continus, ce qui signifie que la dépendance à l’égard de la QA manuelle doit diminuer considérablement.

Plus d’infos à ce lien

Tests automatisés 

Appium

Appium est un outil d’automatisation open source permettant d’exécuter des scripts et de tester des applications natives, des applications web mobiles et des applications hybrides sur Android ou iOS à l’aide d’un pilote web.

Appium a été développé à l’origine par Dan Cuellar en 2011 sous le nom de « iOSAuto », écrit en langage de programmation C#. En janvier 2013, Sauce Labs a accepté de financer le développement d’Appium et a motivé son code à être réécrit en utilisant Node.js.

Appium a remporté le prix Bossie 2014 d’InfoWorld pour le meilleur logiciel open source pour ordinateur de bureau et mobile. Appium a également été sélectionné comme « Rookie of the Year » par Black Duck Software.

Espresso

L’API Espresso fait partie du « Android Testing Support Library » et permet de mettre en place des tests fonctionnels en simulant les interactions possibles des utilisateurs avec l’application. Elle est légère et facile à prendre en main.

Le développeur va pouvoir simuler un certain nombre d’actions comme la saisie de champs, le clic sur des composants, des défilements de liste, etc, dans le but de vérifier certains affichages et comportements.

Plus d’infos à ce lien

Calaba.sh

Calabash est un cadre de test d’acceptation open source qui vous permet d’écrire et d’exécuter des tests pour iOS et les applications Android. Il s’agit d’un cadre d’interface utilisateur automatisé qui permet d’écrire des tests en Ruby en utilisant Cucumber.

Calabash fonctionne en permettant des interactions automatiques de l’interface utilisateur au sein d’une application mobile, telles que la pression de boutons, la saisie de texte, la validation des réponses, etc. Il peut être configuré pour fonctionner sur différents appareils Android et iOS, ce qui permet d’obtenir un retour d’information et des validations en temps réel.

Plus d’infos à ce lien

CI/CD 

Jenkins

Jenkins est un outil open source d’intégration continue, fork de l’outil Hudson après les différends entre son auteur, Kohsuke Kawaguchi, et Oracle. Écrit en Java, Jenkins fonctionne dans un conteneur de servlets tel qu’Apache Tomcat, ou en mode autonome avec son propre serveur Web embarqué.

Il s’interface avec des systèmes de gestion de versions tels que CVS, Git et Subversion, et exécute des projets basés sur Apache Ant et Apache Maven aussi bien que des scripts arbitraires en shell Unix ou batch Windows.

Plus d’infos à ce lien

Bitrise

Bitrise est une plateforme d’intégration et de diffusion continues (CI/CD) en tant que service (PaaS), principalement axée sur le développement d’applications mobiles (iOS, Android). Vous pouvez automatiser le test et le déploiement de vos applications en quelques clics. Lorsque vous déclenchez un build, une machine virtuelle est affectée à l’hébergement de votre build et votre workflow défini (série de scripts Steps) sera exécuté, étape par étape.

Bitrise est un outil de la catégorie Intégration continue mobile d’une pile technologique.

Plus d’infos à ce lien

CircleCI

CircleCI est la plus grande plateforme partagée d’intégration continue et de livraison continue (CI/CD) au monde, et le centre où le code passe de l’idée à la livraison. Étant l’un des outils DevOps les plus utilisés, qui traite plus d’un million de constructions par jour, CircleCI a un accès unique aux données sur la façon dont les équipes d’ingénieurs travaillent et dont leur code fonctionne.

Plus d’infos à ce lien

TravisCI

Travis CI est un logiciel libre d’intégration continue. Il fournit un service en ligne utilisé pour compiler, tester et déployer le code source des logiciels développés, notamment en lien avec le service d’hébergement du code source GitHub. Le logiciel est publié sous licence MIT. Sa configuration s’effectue en YAML.

Travis CI permet aux gens de construire et d’expédier de superbes logiciels. En tant que fournisseur leader de CI hébergé, Travis CI aide à construire et à tester des projets privés et open source depuis 2011. Avec plus de 30 langues prises en charge, ils aident des projets et des équipes de toutes tailles.

Plus d’infos à ce lien

Fastlane

Fastlane est un outil permettant aux développeurs iOS et Android d’automatiser des tâches fastidieuses comme la génération de captures d’écran, le traitement des profils de provisionnement et la mise en ligne de votre application.

Plus d’infos à ce lien

Gestionnaires

CocoaPods

CocoaPods est un gestionnaire de dépendances au niveau de l’application pour l’Objective-C, Swift et tout autre langage fonctionnant sur le runtime Objective-C, comme RubyMotion, qui fournit un format standard pour la gestion des bibliothèques externes. Il a été développé par Eloy Durán et Fabio Pelosin, qui continuent à gérer le projet avec l’aide et les contributions de nombreuses autres personnes. Ils ont commencé le développement en août 2011[3] et ont rendu la première version publique le 1er septembre 2011. CocoaPods est fortement inspiré par une combinaison des projets Ruby, RubyGems et Bundler.

CocoaPods se concentre sur la distribution de code tiers basé sur les sources et l’intégration automatique dans les projets Xcode.

Plus d’infos à ce lien

Carthage

Il utilise exclusivement des cadres dynamiques au lieu de bibliothèques statiques. C’est un gestionnaire de dépendances pour macOS et iOS d’une simplicité impitoyable, créé par un groupe de développeurs de Github.

Plus d’infos à ce lien

Gradle

Gradle est un outil de construction axé sur l’automatisation de la construction et le soutien au développement multilingue. Si vous construisez, testez, publiez et déployez des logiciels sur n’importe quelle plateforme, Gradle offre un modèle flexible qui peut prendre en charge l’ensemble du cycle de développement, de la compilation et de l’emballage du code à la publication de sites web.

Plus d’infos à ce lien

 

Auteur : Mathieu Taranto – Recruteur pour JobOpportunIT

Toutes les photos viennent du site pexels

Par Sylvain Lareyre

Chasseur de Talents IT & Co-fondateur du Cabinet de recrutement JobOpportunIT

Après un M2 MIAGE et plusieurs années comme développeur Java/JEE, j’ai basculé côté recrutement et j’ai adoré ce métier !

Meilleur Sourceur de France #RMSConf en 2014, je suis aujourd’hui multi-casquettes : chasseur de têtes, formateur en sourcing pour les entreprises, enseignant dans différentes écoles, animateur d’événements et blogueur quand j’en ai le temps 😉

Une réponse sur « Cartographie des Technos Mobile 2020 »

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.