Origine et historique du langage
Le java, appelé Oak à l’origine, est un langage de programmation récent né en 1990. Au départ, il a été conçu pour rendre les appareils électroménagers indépendants et interactifs entre eux. L’idée était de pouvoir commander ces appareils électroménagers (machines à laver, …) à distance avec une télécommande. Mais malheureusement ce fut un échec. Alors pourquoi le java n’a pas disparu ? Tout simplement parce que dans les années 90, il y eut aussi l’expansion d’internet, et le java, étant un langage orienté internet, a été repris pour rendre les pages interactives entre elles. C’est là que java connu un grand succès car il peut être utilisé dans beaucoup de domaines différents. De plus c’est un langage qui peut s’utiliser avec n’importe quel machine et système d’exploitation : il est portable. En 1993 : il y a eu une crise avec java car une entreprise nommée « Sun » fut fondée et elle a repris le langage java, car Microsoft refusait de rendre son langage publique. Sun possédait donc le java, ce qui le fut devenir un langage privé et donc non accessible, ce fut une grande perte pour les ingénieurs. Mais heureusement, en 2006, Sun a accepter de rendre le langage java publique.
Environnement d’exécution
Le langage Java est un langage orienté objet qui doit être compilé. Cependant, le compilateur Java ne produit pas directement un fichier exécutable, mais du code intermédiaire sous la forme d’un ou plusieurs fichiers dont l’extension est .class . Ce code intermédiaire est appelé bytecode. Pour exécuter le programme, il faut utiliser la machine virtuelle Java qui va interpréter le code intermédiaire en vue de l’exécution du programme.
L’utilisation d’une machine virtuelle a l’énorme avantage de garantir une vraie portabilité. Il existe des machines virtuelles Java pour de très nombreux environnements : Windows, MacOS, Linux et autres.
Ces machines virtuelles sont capables d’exécuter exactement le même code intermédiaire (les mêmes fichiers Java en bytecode) avec une totale compatibilité. C’est là une situation unique et assez remarquable qui a fait le succès de ce langage. La machine virtuelle Java n’est pas uniquement développée sur des ordinateurs classiques, une multitude d’appareils disposent d’une machine virtuelle Java : téléphones portables, assistants personnels (PDA).
Variables et opérateurs
Les variables
Une variable est ce qui va nous permettre de stocker des informations de toute sorte (chiffres, résultats de calcul, des tableaux, des renseignements fournis par l’utilisateur…). En Java, nous avons deux type de variables : des variables de type simple ou « primitif » et des variables de type complexe ou encore des objets.
Les opérateurs
Les opérateurs sont des symboles qui permettent de manipuler des variables, c’est-à-dire effectuer des opérations, les évaluer, … On distingue plusieurs types d’opérateurs :
· les opérateurs de calcul (+ , – , * , / , = , % )
· les opérateurs d’assignation ( += , -= , *= , /= , %=)
· les opérateurs d’incrémentation (++ , –)
· les opérateurs de comparaison ( == , < , <= , > , >= , !=)
· les opérateurs logiques ( || , &&)
LE SYSTEME ANDROID
En 2003, Andy Rubin, accompagné d’autres grands noms, a décidé de lancer Android Inc., une entreprise destinée à permettre aux « appareils mobiles d’être plus concentré sur la localisation et les préférences qui lui sont propres ». Rubin et Android Inc. ont créé une nouvelle forme de système d’exploitation mobile : une plateforme simple et fonctionnelle, basée sur le kernel Linux, équipée d’une série d’outils conçus pour faciliter l’accès aux développeurs. Tout cela dans l’objectif d’avoir un système libre d’utilisation pour quiconque le souhaiterait, de développer un système d’exploitation mobile plus intelligent, qui ne se contenterait pas uniquement de permettre d’envoyer des SMS et transmettre des appels, mais qui devait permettre à l’utilisateur d’interagir avec son environnement (notamment avec son emplacement géographique). Ses principaux concurrents à l’époque étaient Symbian et Windows Mobile.
Cet aspect était assez convaincant pour Larry Page, fondateur de Google, qui s’est rapidement intéressé à ce projet malgré l’orientation de Google à l’époque qui se concentrait principalement sur le développement d’un outil de recherche. En 2005, Google fait l’acquisition de Android Inc., et la division Mobile de Google vu ainsi le jour.
C’est en 2007 que les choses s’envenimèrent. À cette époque, les constructeurs concevaient tous un système d’exploitation spécifique pour leurs téléphones, et il n’y avait aucune base commune entre les systèmes d’exploitation mobiles de deux constructeurs différents. Ce système entravait la possibilité de développer facilement des applications qui s’adapteraient à tous les téléphones, surtout entre constructeurs, puisque la base était complètement différente. Un développeur était plutôt spécialisé dans un système particulier et il devait se contenter de langages de bas niveaux comme le C ou le C++. De plus, les constructeurs faisaient en sorte de livrer des bibliothèques de développement très réduites de manière à dissimuler leurs secrets de fabrication. En janvier 2007, Apple dévoilait l’iPhone, un téléphone tout simplement révolutionnaire pour l’époque, capable d’aller sur internet, de lire des vidéos, etc. L’annonce est un désastre pour les autres constructeurs, qui doivent s’aligner sur cette nouvelle concurrence. Le problème étant que pour atteindre le niveau d’iOS (iPhone OS, le système d’exploitation pour iPhone), il aurait fallu des années de recherche et développement à chaque constructeur…
Google revient sur la scène avec une stratégie particulièrement bien ficelée, où 10 millions de dollars seront offerts aux développeurs créant les 10 meilleures applications Android, à partir d’une première version SDK rendue publique. À ce stade, les intentions de Google sont devenues beaucoup plus claires : il ne s’agit pas seulement de créer un nouvel iPhone, mais de créer un système flexible et adaptable différent de celui d’Apple. Ce logiciel constituerait un écosystème aussi indépendant que possible des constructeurs, et ouvert sur le monde des développeurs. On retrouvait là tout l’esprit insufflé par Andy Rubin.
C’est pourquoi est créée en novembre de l’année 2007 l’Open Handset Alliance, et qui comptait à sa création 35 entreprises évoluant dans l’univers du mobile, dont Google. Cette alliance a pour but de développer un système open source (c’est-à-dire dont le code source est accessible à tous) pour l’exploitation sur mobile et ainsi concurrencer les systèmes propriétaires, en particulier iOS. Cette alliance a pour logiciel vedette Android, mais il ne s’agit pas de sa seule activité.
La philosophie et les avantages d’Android
Open source
Le contrat de licence pour Android respecte les principes de l’open source, c’est-à-dire que vous pouvez à tout moment télécharger les sources et les modifier selon vos goûts. Notons au passage qu’Android utilise des bibliothèques open source puissantes, comme par exemple SQLite pour les bases de données et OpenGL pour la gestion d’images 2D et 3D (pour faire des jeux ).
Gratuit (ou presque)
Android est gratuit, autant pour nous que pour les constructeurs. En revanche, pour poster nos applications sur le Play Store, il nous en coûtera la modique somme de 25$. Ces 25$ permettent de publier autant d’applications que nous le souhaitons.
Facile à développer
Toutes les API mises à disposition facilitent et accélèrent grandement le travail. Ces APIs sont très complètes et très faciles d’accès. De manière un peu caricaturale, on peut dire que vous pouvez envoyer un SMS en seulement deux lignes de code (concrètement, il y a un peu d’enrobage autour de ce code, mais pas tellement). Une API, ou « interface de programmation » en français, est un ensemble de règles à suivre pour pouvoir dialoguer avec d’autres applications.
Facile à vendre
Le Play Store (anciennement Android Market) est une plateforme immense et très visitée ; c’est donc une mine d’opportunités pour quiconque veut diffuser une application dessus.
Flexible
Le système est extrêmement portable, il s’adapte à beaucoup de structures différentes. Les smartphones, les tablettes, la présence ou l’absence de clavier ou de trackball, différents processeurs… Non seulement c’est une immense chance d’avoir autant d’opportunités, mais en plus Android est construit de manière à faciliter le développement et la distribution en fonction des composants en présence dans le terminal (si votre application nécessite d’utiliser le Bluetooth, seuls les terminaux équipés de Bluetooth pourront la voir sur le Play Store).
Complémentaire
L’architecture d’Android est inspirée par les applications composites, et encourage par ailleurs leur développement. Ces applications se trouvent essentiellement sur internet et leur principe est que vous pouvez combiner plusieurs composants totalement différents pour obtenir un résultat surpuissant. Par exemple, si on combine l’appareil photo avec le GPS, on peut poster les coordonnées GPS des photos prises.
Introduction |