Article n° 2

En ligne: 7 mars 2009
Modifié le: 8 mai 2009
Popularité: 3
Nb visites: 1028

mots clés

Java , langages

Java

Qu’est-ce que Java ?

Par: Chris

Java est à la fois, un langage de développement objet, une machine virtuelle (JVM) ainsi qu’une plate-forme chargée de fournir au programmeur une API (ensemble de fonctions) sous forme de classes.

Le langage Java

Java est un langage de développement objet développé par la société SUN dans les années 1990 dans le but de fournir à la fois un langage plus simple que le C++ et orienté WEB et réseau.

La machine virtuelle

Le principe de la machine virtuelle permet d’exécuter un programme sur des ordinateurs disposants de systèmes d’exploitations différents sans avoir à recompiler les sources. La contrainte étant de s’assurer que l’ordinateur dispose bien de la machine virtuelle Java dans une version compatible avec le programme.

La plate-forme Java

La plate-forme Java est constituée d’un ensemble de classes définissant un très grand nombre de fonctionnalités : Fonctions d’entrées-sorties, réseau, graphiques 2D et 3D, développement d’interfaces pour client riches (client/serveur) ou legers (WEB), gestion du son et de la video, bases de données...

Cette plate-forme existe sous plusieurs éditions, chacune étant spécialisée pour un type développement donnée. Les éditions disponibles actuellements sont :

- J2SE ou JSE (Java to Standard Edition) permet de développer des applications clientes complètes avec interface graphique, accès à des bases de données etc...

- J2EE ou JEE (Java to Enterprise Edition) est un sur-ensemble à JSE et permet de développer des applications du coté serveur avec possibilité de gérer des interfaces client web (JSP) de gérer des composants réparties sur des machines distantes (EJB). La dernière version JEE5 intègre EJB3, JPA pour le maping objet/relationnel à base d’annotations, JSF pour la gestion des interfaces WEB (selon le pattern : Modèle-Vue-Contrôleur)

- J2ME (Java to Micro Edition) est basée sur la version standard mais allégée et adaptée au développement d’applications pour mobiles. Elle dispose notamment de plusieurs API graphiques adaptés aux possibilités d’affichages de différents appareils mobiles ainsi que des API de communication (WIFI, BLUETOOTH, GPS...).

- JCE (JavaCard Edition) est basée sur une API très réduite dans le but de créer des programmes pouvant être embarqués dans des cartes à puces (smart card), Cette technologie permet de concevoir des programmes pouvant être exécutés avec 1 ko de RAM, 16 ko de EEPROM et 24 ko de ROM et utilisant une version spéciale de machine virtuelle (JCVM).

Pour chacune de ces édition et pour chaque évolution, correspond un numéro de version. Pour l’édition standard, nous aurons par exemple :

AnnéeVer. techVer. comm.Remarques
janvier 1996 1.0 Java 1 Langage de programmation objet complet
janvier 1997 1.1 Java 1 Introduction des composants JavaBeans
décembre 1998 1.2 Java 2 Introduction de l’API de conception d’IHM : Swing
mai 2000 1.3 Java 2 RMI, Drag and drop, Java 2D
février 2002 1.4 Java 2 JFC, API XML, gestion de l’IP v6, WebStart
septembre 2004 1.5 Java 5 Evolution importante du langage avec Les annotations, l’autoboxing et les types génériques
décembre 2006 1.6 Java 6 Fonctions d’intégrations au système : TrayIcons, splash screen... Amélioration de Swing, nouvelles API XML, intègre un interpréteur de script JavaScript...

Remarque : Sun utilise 2 numérotations pour identifier ces versions se qui peut parfois porter à confusion. Par exemple, les versions allant de 1.2 à 1.4 correspondent à du Java 2.

Les outils Java de bases

La société SUN fournie un cetains nombre d’outils (en ligne de commande) pour pouvoir exécuter et compiler des programmes Java pour les environnements Windows, Linux et Solaris. Pour les autres systèmes, se sont généralement les éditeurs de ces derniers qui fournissent au moins la JVM permettant l’exécution des programmes. Les ordinateurs Apple fonctionnant sous MacOs, par exemple, disposent d’une machine virtuelle et un compilateur Java pré-installés.

L’environnement de développement de base fourni par SUN est appelé JDK pour Java Development Kit. Il est composé des principaux outils suivants :

- javac : outil permettant de compiler les programmes sources en exécutables java.
- java : commande permettant d’exécuter un programme java.
- javadoc : programme permettant de générer la documentation d’une application java à partir des commentaires définis dans les fichiers sources.
- jar : programme permettant d’assembler les différents fichiers composant un programme java dans un unique fichier compressé facilitant la distribution et l’installation d’une application.
- appletviewer : programme permettant de tester une applet sans avoir à lancer un navigateur WEB.

Environnements de développements intégrés

Pour développer des applications complètes en Java, les outils en ligne de commandes fournis par Sun ne sont pas suffisant. Pour cela le développeur devra également installer un environnement de développement intégré lui permettant de gérer l’ensemble d’un projet. Ces environnements proposent un certains nombre de fonctionnalités comme la complétion de code, la coloration syntaxique, la génération de projets, de fichiers de déploiement, de génération de documentation, modélisation UML, outils RAD de développements d’IHM, etc...

Si certains de ses outils sont payant, d’autres sont gratuits et sous licences OpenSource. Les plus connus étant Eclipse, conçu à l’origine par la société IBM et NetBeans conçu par la société Sun.

SPIP |