La programmation mobile

De Wiki SIO EDM
Aller à : navigation, rechercher

Il existe trois méthodes de développement d'une application mobile. Cette page à pour but de les décrire ainsi que les langages de programmation utilisés.

Développement natif

Le développement natif consiste à développer l’application mobile dans le langage spécifique à un support ce qui permet d’obtenir d’excellentes performances et d’utiliser l’ensemble des librairies rendues disponibles (AppStore, Google Play,…). L'utilisateur installera ensuite l'application sur son téléphone.

Android

Java

Les applications et jeux Android sont compilées par les développeurs utilisant le kit de développement Android (SDK). Ce SDK Android est compilé en utilisant le langage de programmation Java. Une multitude de classes ont été spécialement créées pour Android. Pour programmer sur Android en natif, il faut donc maitriser le langage Java combiné au XML mais apprendre en plus une multitude de nouveaux concepts. Google à créé une documentation complète pour accompagner les développeurs.

IOS

Objective-C

L'Objective-C est principalement utilisé dans les systèmes d'exploitation d'Apple Mac OS X et iOS. C'est une extension de C qui repose plus sur le concept de la programmation orienté objet, en effet en Objective-C, tout est en objet. On peut néanmoins le combiner au C et au C++.

Swift

Swift est un langage très récent (2014) développé par Apple destiné à la programmation iOS, macOS, watchOS et tvOS. Peu d'applications sont encore totalement développées en Swift, mais il est de plus en plus combiné à l'Objective-C.

Apple présente ce langage comme rapide, moderne, simple, performant et facile d'utilisation. De ce fait, l'apprentissage de ce langage par un débutant se fera beaucoup plus facilement qu'avec les autres langages, notamment le C et l'Objective-C.

Windows Phone

C#

LeC# (prononcé C Sharp) est un langage orienté objet développé par Microsoft et est donc tout naturellement le langage de programmation utilisé pour Windows Phone.

Développement Web App

La solution développée est accessible via le navigateur internet du téléphone. Le résultat se rapproche d’un site en version mobile avec l’affichage et les limites de fonctionnalités qui en découlent.

HTML / CSS / Javascript

On utilise les technologies web classiques que l'on adapte pour les terminaux mobiles. Une Web App codée avec ces langages est différente d'un site programmé en Responsive Design. Elle ne sera accessible que par les navigateurs mobiles. On essaiera alors de rendre le site plus ergonomique pour les écrans tactiles de petite taille par rapport à un écran d'ordinateur.

Développement hybride

Le développement hybride permet de développer une application mobile disponible sous tous les systèmes d’exploitation en conjuguant les langages web (HTML5, JavaScript, CSS…) et les technologies natives mobiles pour utiliser certaines fonctionnalités du smartphone.

Comparatif

Tableau comparatif.png

Classement

Classement 2016 des meilleurs langages de programmation mobile par l’Institute of Electrical and Electronics Engineers (IEEE).

Classement langages.png

Ce classement est effectué en prenant en compte la popularité des langages, la croissance et la demande des employeurs. Les sources viennent en autre de Google Search, Google Trend, du site de nouvelles Hackers News, de Twitter, Reddit, Stack Overflow, GitHub, de sites d'emplois et des propres données de l'IEEE.