Développer en Java/Forges et bibliothèques
En tant que développeur Java, vous devez savoir où vous fournir en bibliothèques.
Le projet Apache[modifier | modifier le wikicode]
L'objectif du projet Apache est de délivrer des briques logicielles open-source développées de façon communautaire. Toutes ces briques sont mises à disposition selon la licence Apache. Il s'agit notamment de fournir des implémentations de JSR.
Apache Commons[modifier | modifier le wikicode]
Apache Commons vise à étendre le JDK en fournissant la plupart du temps des lots de classes utilitaires regroupant des extraits de codes fréquemment utilisés.
Remarquons notamment :
- BeanUtils
- Manipulation de JavaBeans ;
- CLI
- Manipulation d'arguments passés en ligne de commande ;
- Codec
- Différents algorithmes de codage (base64, URL…) ;
- Collections
- Manipulation des collections ;
- Daemon
- Intégration avec les services Windows ou les daemon UNIX. Il s'agit de permettre à une application Java censée fonctionner en permanence sur un système de s'intégrer à la gestion des services pour démarrer ou s'arrêter en même temps que l'OS ;
- FileUpload
- Upload pour les applications Web basée sur Servlet.
- I/O
- Manipulation des flux d'entrés/sorties ;
- Logging
- Une API d'abstraction au dessus des différentes bibliothèques de journalisation ;
- Math
- Mathématiques ;
- Primitives
- Fournit notamment des implémentations des collections disponibles dans le JDK mais permettant de stocker des types primitifs ;
- VFS
- Une API pour les système de fichiers virtuels (FTP, archives zip).
Apache Lucene[modifier | modifier le wikicode]
Ce projet tourne autour des problématiques de recherche
Apache Hadoop[modifier | modifier le wikicode]
Hadoop est un projet ombrelle spécialisé dans le calcul distribué.
Apache extras[modifier | modifier le wikicode]
En partenariat avec Google Code, cette forge, dissociée de celle de la fondation Apache, vise à accueillir des projets liés aux projets Apache mais qui ne peuvent y être mêlé pour des raisons diverses. Par exemple, il peut s'agir de projets qui ne peuvent être sous licence Apache.
Autres projets Apache[modifier | modifier le wikicode]
Les projets Apache sont nombreux et concernent différents domaines d'application :
- Construction de projets
- Ant, Maven, BuildR, Ivy
- Frameworks Web
- Struts, Tapestry, Turbine, Stripes, Wicket, Click
- Bases de données
- Cassandra, Derby
- Serveurs d'applications JEE et composants
- Tomcat, OpenEJB, OpenJPA
JBoss[modifier | modifier le wikicode]
- Le serveur d'application WildFly (anciennement JBoss)
- parmi les serveurs d'application JEE les plus utilisés ;
- Hibernate
- solution de mapping objet-relationnel très plébiscitée
CodeHaus[modifier | modifier le wikicode]
Codehaus n'héberge que des projets sous licence open-sources (Apache notamment). Avant d'être accueillis, chaque projet doit avoir une base de code solide. Codehaus héberge plusieurs projets autour de Java.
Google[modifier | modifier le wikicode]
Java est un des langages utilisés chez Google qui propose certains de ses outils, notamment
- Google Web Toolkit
- Framework RIA pour le web. Les interfaces, écrites en Java sont compilées en JavaScript pour être interprétées par le navigateur ;
- Google Guice
- Un moteur d'injection de dépendances, à l'origine d'une spécification ;
- Guava
- Extension de l'API du JDK, à la manière de Apache Commons ;
- Android
- Système d'exploitation pour périphériques mobiles (téléphones, tablettes) basé sur Linux et dont l'API permet de développer des applications embarquées en Java ;
- Google App Engine
- Ce n'est pas une bibliothèque ni un outil mis à disposition par Google mais une plate-forme de cloud-computing capable d'accueillir des applications Java.
S'ajoute à cela les nombreux projets hébergés sur la forge de Google.
Le consortium OW2[modifier | modifier le wikicode]
Ce consortium s'intéresse plus particulièrement aux intergiciels (middleware), mais regroupent plusieurs projets open-source.