JavaRush /Blog Java /Random-FR /Top 10 des bibliothèques Java pour gagner du temps

Top 10 des bibliothèques Java pour gagner du temps

Publié dans le groupe Random-FR
A qui s'adresse cet article : certaines choses intéresseront les débutants qui étudient la quête Java Syntaxe, mais en gros le matériel présenté sera mieux adapté à ceux qui ont déjà franchi l'équateur du cours (comprend les Java Collections et Java Multithreading quêtes) et commence à s'intéresser aux technologies qui vont au-delà du framework Java Core. Au cours de son existence, Java a acquis un bon nombre de bibliothèques. Mais comment savoir lesquels valent la peine d’être utilisés et lesquels ne le sont pas ? Séparer le bon grain de l’ivraie est extrêmement difficile pour un développeur toujours occupé. Dans cet article , Martin Patsov, développeur Full Stack chez Dreamix, parle de son amour pour les bibliothèques open source et suggère celles qu'il trouve particulièrement utiles. Top 10 des bibliothèques Java pour gagner du temps - 1Être ou ne pas être, telle est la question : cela s'avérera-t-il un salut ou un échec ? Cette même bibliothèque Java... Soyez courageux ! Des « SigniOrs » sont déjà passés par là et je vous transmettrai leur expérience. Ne vous laissez pas tromper par ma digression poétique. Il existe vraiment beaucoup de bibliothèques en Java et les comprendre est très difficile. Cependant, je les aime beaucoup. Je peux même être qualifié d'« évangéliste de bibliothèque » ( par « évangéliste » dans le domaine informatique, nous n'entendons pas le compilateur de l'évangile canonique, mais quelqu'un qui promeut professionnellement telle ou telle technologie. Ne le confondez pas avec les gens ordinaires des relations publiques : le plus souvent , un évangéliste informatique a une compréhension approfondie de la technologie dont il fait la promotion - ndlr ). Les bibliothèques sont une partie très importante de l’écosystème open source. De grandes communautés se développent autour d’eux, qui les développent et les soutiennent. Et c'est génial. Le principal avantage des bibliothèques est qu’elles nous permettent d’éviter de réinventer la roue à chaque fois que nous écrivons du code. Utilisez les bibliothèques (code déjà écrit pour des tâches spécifiques) aussi souvent que possible ! Vous gagnerez du temps. Sérieusement, il vaut mieux passer du temps avec sa famille et ses amis.

Top 10

Dans cette note, j'ai mentionné les bibliothèques Java que je préfère utiliser dans mon travail. Tous sont des logiciels open source. Je l'ai choisi sur la base de son utilité, de sa bonne documentation et de son support, ainsi que de ses mises à jour régulières. Je tiens à souligner une fois de plus qu'il s'agit de mon choix personnel et qu'il peut différer considérablement du vôtre.

1. Bibliothèques standards Java

Oui, oui, vous ne le pensiez pas ! Beaucoup de gens sous-estiment, en outre, ils ne connaissent pas la masse de capacités des bibliothèques standard Java et ne savent pas comment libérer leur potentiel en programmation... ou même ne les utilisent pas du tout. Voici une brève description de certains d’entre eux :
  • java.lang . Cette bibliothèque est toujours importée dans n'importe quelle application Java, car elle contient tout ce sans quoi vous ne pouvez pratiquement pas programmer ( String , Double , Enum , Math , etc.).

  • Dans java.util, vous pouvez trouver toutes les collections et structures de données disponibles en Java.

  • Ensuite, nous avons java.io pour lire des fichiers, exécuter des flux, des objets de classe Pipe, etc.

  • Vous avez probablement déjà entendu parler des trois premiers. Mais tout le monde ne connaît pas java.nio , une alternative à java.io. Cette bibliothèque est responsable des E/S non bloquantes, permettant, comme vous pouvez le deviner, une utilisation intensive en E/S.

  • java.net est utilisé pour travailler avec des sockets, créer des connexions ou de courtes applications réseau.

  • En Java, nous avons également des bibliothèques pour travailler avec l'interface graphique : javax.swing (une extension plutôt obsolète du java.awt encore plus ancien ).

  • Nous pouvons même jouer de la musique et créer des fichiers MIDI en utilisant java.sound .

2. JHipster

JHipster est une plateforme permettant de déployer, développer et créer rapidement des serveurs Web évolutifs avec une charge élevée et utilisant les technologies les plus modernes et à la mode telles que Spring, Spring-MicroServices, Netflix, Docker, Kubernetes, AngularJs, Liquibase, MongoDB, Cassandra, ElasticSearch.
Top 10 des bibliothèques Java pour gagner du temps - 2
Honnêtement, ce « hipster Java » m’a définitivement sauvé des mois de la vie. Je peux certainement dire que JHipster est mon préféré sur la liste et occupe une place particulière dans mon cœur. Cet outil est presque indispensable pour générer une esquisse d'un projet de serveur Web distribué. Il peut générer un fichier pom avec des dépendances, configurer Elastic Search et Connection, il ne vous reste plus qu'à ajouter la logique métier de l'architecture. Les bibliothèques principales et les plus importantes incluses dans le projet généré sont :
  • Spring Boot permet d'accélérer et de simplifier le développement d'applications
  • Angular /AngularJS - Framework JavaScript
Vous pouvez trouver plus d’informations sur JHipster ici .

3. Maven

Maven est l'un des trois outils les plus populaires pour créer des projets Java. Il est responsable de la compilation, de la création des fichiers jar (archives Java), de la création d'une distribution de programme et de la génération de la documentation.
Top 10 des bibliothèques Java pour gagner du temps - 3
Chaque projet moderne se compose de différents fichiers, modules et technologies. Pour faire simple, construire un projet, c'est préparer sa version « de travail », c'est-à-dire un programme qui peut être lancé pour exécution. Cela peut être fait manuellement, sur la ligne de commande, ou vous pouvez écrire des scripts spéciaux. Cependant, il est beaucoup plus facile de le faire en utilisant des applications spéciales. Ils sont appelés « systèmes d’assemblage automatiques ». Maven est l'un des trois programmes de ce type, les deux autres étant Gradle et Ant. De tels systèmes reçoivent le code source du projet en entrée et la sortie est un programme qui peut être exécuté.
La structure du projet (dépendances, configurations, documentation) est décrite dans le fichier pom.xml (POM - Project Object Model), qui doit se trouver dans le dossier racine du projet. Honnêtement, Maven est juste une bonne chose, même si ce n’est pas très clair au début. Si vous n'avez jamais utilisé Maven auparavant, vous manquez quelque chose. Franchement, je ne comprends même pas comment les applications d'entreprise ont été créées avant Maven. Vous pouvez en savoir plus sur Maven en russe ici .

4. Apache Commons

Apache Commons est en fait un projet entier axé sur la création de bibliothèques Java. Ou « un large ensemble de petits utilitaires Java » à des fins diverses. À propos, les utilitaires Apache Commons sont à la base de plusieurs projets très connus, par exemple Tomcat, Hibernate et autres. Voici une courte liste de certaines des bibliothèques Apache Commons les plus couramment utilisées :
Top 10 des bibliothèques Java pour gagner du temps - 4
  • Mathématiques communes . Apache Commons Math Library, le nom dit tout : elle contient des composants pour des opérations et des calculs mathématiques et statistiques complexes.

  • CLI commune . Fournit une API pour analyser les arguments de ligne de commande. Cela ne vaut même pas la peine de penser à créer une application sans la possibilité de transmettre des paramètres et de contrôler son comportement !

  • CSV communs . Peu importe ce que vous développez, vous devrez à un moment donné faire face à la nécessité d'utiliser des fichiers csv. Autrement dit, ils devront être ouverts, lus, modifiés, enregistrés et créés. Je suggère d'utiliser le format RFC 4180 de la classe CSVFormat et l'encodage UTF-8 lors de l'enregistrement/création de fichiers.

  • Communes I.O. Utilisé pour simplifier les opérations d'E/S. Jetez au moins un œil à ReversedLinesFileReader, ça vaut le coup !
Vous pouvez en savoir plus sur Apache Commons (en anglais) ici .

5. Goyave

Guava est un ensemble de bibliothèques principales de Google pour Java. Contiennent-ils de nouveaux types de collections (par exemple multimap et multiset), des collections immuables, une bibliothèque de graphiques, des types fonctionnels ? utilitaires pour la concurrence, les E/S, le hachage, le traitement des chaînes et bien plus encore. Tous ces outils sont utilisés par les spécialistes de Google dans leur travail, et c'est déjà une bonne recommandation.
Top 10 des bibliothèques Java pour gagner du temps - 5
Dans une certaine mesure, Guava est une alternative à Apache Commons. En fait, on peut parler longtemps de Guava (assurez-vous d'y prêter attention !), mais ici je ne mentionnerai qu'une seule chose utile de cette bibliothèque. Peut-être avez-vous déjà rencontré le défi d'organiser vos collections ou de comparer leur contenu ? Qu’en est-il du tri et de la comparaison avancés sur plusieurs colonnes avec plusieurs conditions ? Le composant ComparisonChain est utilisé pour implémenter un tri avancé et complexe pour les collections. Vous pouvez en savoir plus sur Guava (en anglais) ici .

6. google-gson

La bibliothèque google-gson est utile pour convertir des objets Java en JSON et vice versa. Cela s'avère particulièrement utile lors du développement d'applications mobiles et de la création/utilisation d'API REST, ou chaque fois que vous devez convertir un objet Java en sa représentation JSON et vice versa.
Top 10 des bibliothèques Java pour gagner du temps - 6
Vous découvrirez JSON (JavaScript Object Notation), Guava, Apache Commons et d'autres choses intéressantes grâce à la quête Java Collections .
Vous pouvez en savoir plus sur google-gson (en anglais) ici .

7. Mise en veille prolongée-ORM

Hibernate est une bibliothèque conçue pour résoudre les problèmes de mappage objet-relationnel (ORM). Hibernate ORM est utilisé pour stocker des données dans des bases de données relationnelles. Il fournit aux développeurs un moyen plus simple et plus abstrait de procéder. Il utilise JDBC dans sa mise en œuvre. Hibernate est également une implémentation de la spécification JPA.
Top 10 des bibliothèques Java pour gagner du temps - 7
Vous pouvez en savoir plus sur Hibernate ORM (en anglais) ici .

8. Moqueur

Ne vous laissez pas tromper par le nom Mockito. Il ne s’agit pas ici d’un cocktail, mais d’une bibliothèque d’objets factices. Les objets simulés sont des objets qui imitent le comportement d'un objet réel selon un schéma donné. Par exemple, pour les tests unitaires, ces « faux » objets peuvent simuler le comportement des objets métier. Eh bien, la bibliothèque fictive Mockito augmente la commodité de créer et d'utiliser des objets fictifs.
Top 10 des bibliothèques Java pour gagner du temps - 8
Vous pouvez trouver des informations sur Mockito ici .

9. JUnit

JUnit est un framework Java gratuit pour créer des tests unitaires (alias tests unitaires). Cette bibliothèque est l'une des plus populaires, presque tout le monde l'utilise. Nous vous recommandons de vous y familiariser le plus rapidement possible, car très souvent les nouveaux développeurs Java et les stagiaires Java sont obligés de « couvrir le code avec des tests ». Et je dois dire que c’est loin d’être le pire début de carrière.
Top 10 des bibliothèques Java pour gagner du temps - 9
Plus d'informations sur Junit ici .

10.Log4j et Slf4j

Ces deux frameworks sont conçus pour masquer la mise en œuvre d'opérations de routine permettant de consigner certains événements qui se produisent lors de l'exécution d'applications Java. Slf4j est une abstraction pour d'autres frameworks de journalisation (le même Log4j).
Top 10 des bibliothèques Java pour gagner du temps - 10
Plus d'informations sur Log4j et Slf4j .
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION