Vous êtes sur la page 1sur 9

Chapitre 4 : Plate-forme JAVA et librairies (API)

Master Pro SRT

2021-2022

Objectif :

Ce chapitre vous permettra de comprendre ce qu’est une API, de pouvoir


identifier les API’s à travers leurs besoins. Outre l’identification des API’s,
il vous permettra de connaitre quelques plateformes de développement
JAVA.
Table des matières
I. Qu’est-ce qu’une API ? ............................................................................................................................... 3
1. java.lang.* ............................................................................................................................................ 3
2. Java.util.* ............................................................................................................................................. 3
3. java.applet.* ......................................................................................................................................... 4
4. java.awt.* ............................................................................................................................................. 4
5. java.io.* ................................................................................................................................................ 4
6. Java.net.*............................................................................................................................................. 6
II. Les Plates-formes JAVA .......................................................................................................................... 6
1. La plate-forme Jbuilder ........................................................................................................................ 6
2. La plate-forme Eclipse ......................................................................................................................... 7
3. La plate –forme NetBeans ................................................................................................................... 8
I. Qu’est-ce qu’une API ?

Une interface de programmation (Application Programming Interface ou API) est un ensemble


de fonctions, de procédures ou de classes mises à la disposition des programmes informatiques
par une bibliothèque logicielle, d’un système d'exploitation ou d’un service. La connaissance
des API est indispensable à l'interopérabilité entre les composants logiciels.

Dans le cas d'une bibliothèque, il s'agit généralement de fonctions considérées comme utiles
pour d'autres composants.

1. java.lang.* :
Ce package rassemble les classes de base de Java. Toutes les classes et interfaces de java.lang
sont automatiquement importées par le compilateur.

java.lang.String :

▪ La classe String gère des chaînes de caractères (char).

▪ Une classe String n’est pas modifiable (final).

▪ Les valeurs littérales ("abc") sont transformées en String.

▪ L'opérateur + permet la concaténation de 2 String.

java.lang.StringBuffer :

▪ Il est très souvent utile de modifier des objets String.


▪ La classe StringBuffer gère des chaînes de caractères (char) modifiable (setCharAt(),
ppend(), insert()).
▪ La méthode toString() convertie une StringBuffer en String (le même tableau est
partagé, jusqu'à la modification).
java.lang.Thread :

▪ Un Thread permet l’exécution en parallèle d’une suite d’instructions.


▪ Deux possibilités : soit hériter de Thread soit implémenté de Runnable.

2. Java.util.*

Ce package rassemble des classes d'utilitaires (gestion des collections de données, génération
de nombres aléatoires, énumération, date,...). Il définit aussi les classes d'exceptions
EmptyStackException et NoSuchElementException.
java.util.Hashtable :

▪ Afin de faciliter les tris, Java propose une classe ‘ table de hachage ’.
▪ Cette classe gère une collection d'objets au travers d'une table de hachage dont les clés
sont des String et les valeurs associées des Object.
java.util.StringTokenizer :

Afin de faciliter la recherche d’information dans des fichiers, chaînes de caractères, la classe
StringTokenizer permet de spécifier les caractères séparateurs facilitant le découpage.
java.util.Vector :

Il est fréquent d’avoir à stocker une liste « variable » d’éléments quelconques Cette classe gère
une collection d'objets dans un tableau dynamique.
3. java.applet.*

AppletStub

java.applet.*
AppletContext

Applet

La classe Applet et les interfaces de ce package permettent de programmer une applet Java et
d'intégrer une applet dans un navigateur. java.applet.Applet :

▪ Une Applet permet de faire exécuter du Java au sein d’un navigateur (Netscape, IE,
Opéra, …).
▪ Son appel est inclus dans le code HTML de la page.

▪ Le browser récupère le ‘.class’ de l ’Applet et l’exécute via la JVM qu’il implémente.

▪ Une applet est une classe compilée héritant de java.applet.Applet.

4. java.awt.*

Ce package est développé dans le chapitre sur les composants AWT et les suivants. Les classes
de ce package permettent de programmer l'interface graphique d'un programme ou d'une applet
Java. IL définit aussi les classes d'exceptions AWTException et AWTError.

java.awt.Component :
Cette classe abstract est la super classe de toutes les classes de composants citées ci-dessus,
et implémente l'interface ImageObserver. Elle comporte un très grand nombre de méthodes,
qui sont souvent outrepassées par les classes dérivées de Component.

java.awt.Panel :

Cette classe qui dérive des classes Container et Component, permet de créer un container utilisé
comme zone d'affichage pour y ajouter des composants ou pour dessiner directement avec les
méthodes de classe Graphics. Le layout utilisé par défaut par la classe Panel est la classe
FlowLayout. Cette classe est la super classe Applet.

5. java.io.*
Ce package rassemble les classes permettant de gérer les entrées-sorties (accès fichiers,
gestion de répertoires,...). Il définit aussi les classes d'exceptions IOException,
EOFException, FileNotFoundException, InterruptedIOException.
java.io.File :

Afin d’assurer la portabilité des applications, Java fournit une classe permettant un accès
identique aux fichiers quelque soit l ’OS sur lequel elle s’exécute.

▪ java.io.File(Input|Output)Stream :

Ces classes permettent d'accéder en lecture et en écriture à un fichier.


java.io.Data(Input|Output)Stream :

Ces classes permettent de lire et d'écrire des types primitifs et des lignes sur des flux.

java.io.PrintStream :

Cette classe permet de manipuler un OutputStream au travers des méthode print() et println().

6. Java.net.*
java.net.Socket :

Cette classe implémente une socket TCP coté client.


java.net.ServerSocket :

Cette classe implémente une socket TCP coté serveur.

java.net.URL :

permet l’accès aux URL

II. Les Plates-formes JAVA :

Il existe plusieurs plates-formes JAVA et chacune a ses propres avantages ; nous pouvons
citer quelques environnements de développements tels que Jbuilder, Eclipse , Netbeans…

1. La plate-forme Jbuilder :

JBuilder est un environnement de développement intégré pour Java, permettant le RAD, et


édité par Borland. L'application est elle-même développée en grande partie en Java.

JBuilder apporte certaines fonctionnalités spécifiques, disposant notamment d'une JVM propre,
permettant notamment l'exécution de code Java pas à pas.

Selon les éditions, il ne permet que la réalisation d'applications clientes (J2SE) ou également
serveur (J2EE). Des modules supplémentaires pour les applications mobiles, en particulier pour
les téléphones mobiles et les PDA, ou pour les services Web, sont également disponibles.

Certaines versions intègrent des solutions de conception UML ou des outils de débogage et de
test.
JBuilder est disponible sur Windows, Linux, Solaris et Mac OS X.
La version 2008 de JBuilder n'est pas éditée par Borland mais par Codegear, la dernière version
éditée par Borland est JBuilder 2007. Codegear a été achetée par l'éditeur Embarcadero en mai
2008.
JBuilder est un environnement graphique de développement Java 2. Très visuel compatible avec
les JDK standard.
C’est l’environnement de développement Java qui prend en charge plusieurs plateformes et
serveurs d'applications. Il permet le développement d'applications EJB, XML, services Web et
bases de données.
Il permet de construire des applications et des applets pour différentes versions du JDK
(JDK1.1x et plus). Tout programme existant, entièrement conforme à Java 2, peut être ajouté,
travaillé et exécuté dans l’environnement JBuilder.

JBuilder assure le support de l’intégralité des langages pour le développement en XML ou en


Java.

Les fonctionnalités XML de JBuilder se répartissent entre les catégories suivantes :

Présentation, transformation et validation des documents XML


Liaison des données et manipulation par programme des documents XML
Interface avec les données de l’entreprise stockées dans des bases de données

Les fonctionnalités XML dépendent de l’édition de JBuilder.

Le support JBuilder du langage Java comprend :

• JavaBeans pour la réutilisation des composants


• Composants JFC/Swing pour le développement des interfaces utilisateur Java

Le support JBuilder Professionnel comprend de plus :

• JDBC
• Servlets
• JDK (Java Development Kit) multiples

JBuilder Entreprise ajoute le support des éléments de langages suivants :

• Enterprise JavaBeans (EJB) pour l’architecture des composants côté serveur


• CORBA
• Pages JavaServer (JSP) pour les applications basées sur le web

2. La plate-forme Eclipse :

Eclipse est un environnement de développement intégré libre, extensible, universel et


polyvalent, permettant de créer des projets de développement mettant en œuvre n'importe quel
langage de programmation. Eclipse IDE est principalement écrit en Java (à l'aide de la
bibliothèque graphique SWT, d'IBM), ce langage grâce à des bibliothèques spécifiques, est
également utilisé pour écrire des extensions.
La spécificité d'Eclipse IDE vient du fait de son architecture totalement développée autour de
la notion de plugin (en conformité avec la norme OSGi) : toutes les fonctionnalités de cet atelier
logiciel sont développées en tant que plug-in.
La base de cet environnement de développement intégré est l'Eclipse Platform, composée de :

Platform Runtime démarrant la plateforme et gérant les plug- ins


SWT, la bibliothèque graphique de base de l'EDI
JFace, une bibliothèque graphique de plus haut niveau basée sur SWT
Eclipse Workbench, la dernière couche graphique permettant de manipuler des
composants, tels que des vues, des éditeurs et des perspectives.

De nombreux langages sont supportés par Eclipse en 2008 (la plupart grâce à l'ajout de
plugins), parmi lesquels :

Java,
GAP pour system i,
C#,
Ada,
C++,
C,
Cobol,
Objective Caml,
Python,
Perl (EPIC),
Ruby,
COBOL,
Pascal,
PHP (PDT),
Javascript,
XML,
HTML,
XUL,
SQL,
Action script,
Coldfusion, Magik.

3. La plate –forme NetBeans :


NetBeans est un environnement de développement intégré (IDE) pour Java, placé en
open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common
Development and Distribution Licence). En plus de Java, NetBeans permet
également de supporter différents autres langages, comme Python, C, C++, XML,
Ruby, PHP et HTML. Il comprend toutes les caractéristiques d'un IDE moderne
(éditeur en couleur, projets multi-langage, refactoring, éditeur graphique d'interfaces
et de pages web).
Conçu en Java, NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC),
Mac OS X et Open VMS.

Vous aimerez peut-être aussi