|
|
Java est un langage orienté objet qui évolue rapidement : après
les premières versions 1.0 de test sorties fin 1995, la version 1.1 est
apparue au printemps 1997 et la version 2 (anciennement 1.2) en décembre
1998 (disponible pour Windows, Solaris et Linux chez Javasoft).
Un des principaux atouts de Java est sa portabilité résumée dans la phrase
Write once, run anywhereTM (Ecrivez une fois, faites tourner n'importe
où). A l'usage, vous verrez que certaines des premières versions des navigateurs
ne permettent pas toujours de faire tourner vos applets de la manière
attendue. Les principaux problèmes surviennent surtout pour les méthodes
des interfaces du package java.applet qui sont justement implémentées
par chaque navigateur... Si vous voulez utiliser ces fonctionnalités,
testez si possible vos applets sur différents navigateurs pour vérifier
leur bon fonctionnement. Certaines personnes reprocheront aussi au système
d'interface graphique AWT de Java de n'être que le plus petit dénominateur
commun entre toutes les fonctionnalités fournies par les différents systèmes
existants (MacOS, Windows, X11/Motif,...). Bien que ceci soit plutôt vrai,
le package java.awt a le mérite d'exister et de satisfaire les besoins
de la plupart des applets et applications. Mais la nouvelle bibliothèque
Swing qui est utilisable avec Java 1.1 et/ou Java 2 a considérablement
enrichi les possibilités de gestion de l'interface graphique tout en offrant
un modèle de conception très ouvert.
Ce
paragraphe vous présente les principales évolutions apportées à Java au
cours de ses versions : ces développements ont surtout enrichis la bibliothèque
de classes Java mais certains portent aussi sur le noyau du langage lui-même.
 |
- Classes
internes (inner classes) : ce type de classes a accès à toutes
les champs de la classe dans laquelle elles sont définies.
- Les
fichiers de classes, d'images, de sons,... dont peut avoir besoin
un programme Java, peuvent être rassemblés dans un seul fichier
au format JAR (Java ARchvive). Ceci permet de charger une applet
en seule requête HTTP et de réduire la taille des fichiers car
ce format reprend le format de compression ZIP. Le chargement
des applets est ainsi accéléré.
- Un
nouveau système de gestion des événements utilisant un modèle
de délégation des événements.
- JavaBeansTM
: ce nouveau package permet de créer des classes de composants
réutilisables et que l'on peut facilement assembler ensemble dans
les environnements de développement rapide (RAD), comme le permettent
d'autres produits comme ActiveX de Microsoft.
- Internationalisation
: gestion de ressources pour permettre de gérer les différentes
versions d'un programme suivant la langue de l'utilisateur.
- La
possibilité d'enregistrer les objets (sérialisation) et de les
recréer à partir d'une sauvegarde.
- Remote
Method Invocation : ces nouveaux packages permettent d'invoquer
des méthodes à distance sur des objets fonctionnant sur d'autres
Machines Virtuelles Java et éventuellement même sur un autre ordinateur
d'un réseau. Ceci permet de mettre en pratique la programmation
objet distribué.
- JDBCTM
(Java DataBase Connectivity) : ce package permet d'accéder à des
bases de données via des requêtes SQL.
- ...
|
 |
- JFC
(Java Foundation Classes) : cette ensemble de classes vient enrichir
de manière significative la gestion de l'interface graphique actuelle
AWT. Il se décompose en différents types de fonctionnalités :
- Swing
: ces nouvelles classes définissent un nouvel ensemble de composants
reprenant les composants classiques (bouton, liste,...) enrichi
de composants plus complexes (arbre, tableau,...).
- Java 2D : ces nouvelles classes du package java.awt permettent
d'effectuer des opérations plus riches de dessins : définitions
et compositions de formes, transformations, antialiasing, gestion
plus riche des polices de caractères...
-Drag
and drop (glisser-déposer pour les puristes) : gestion du transfert
de données entre applications Java et applications natives du
système.
- Collections
de données : de nouvelles classes sont ajoutées au package java.util,
permettant de gérer des listes chaînées, des ensembles,... et
d'effectuer des opérations de tris, de recherche,...
- Intégration
de CORBA (Common Object Request Broker Architecture) dans Java.
- Améliorations
diverses des classes existantes et des performances.
- ...
|
A
ces versions de base, s'ajoutent des bibliothèques d'extensions développées
par Javasoft, qui fonctionnent soit avec Java 1.1, soit avec Java 2 :
- Swing
(compatible Java 1.1) : cette bibliothèque intégrée dans Java 2, est
aussi utilisable avec Java 1.1.
- Servlets
(compatible Java 1.1) : les servlets permettent de réaliser des programmes
CGI (Common Gateway Interface) en Java sur un serveur Internet. Ce type
de programme permet par exemple de programmer un compteur de page ou
un moteur de recherche.
- JavaMail
(compatible Java 1.1) : cette bibliothèque permet de gérer une boite
email (envoi/lecture de message sur un serveur de mail).
- Java
3D (compatible Java 2) : cette bibliothèque permet de programmer de
réaliser des scènes virtuelles en 3D, et permet de gérer les éclairages,
les textures, les animations d'objets 3D.
- ...
|