Langage de programmation Java
Java est un langage de programmation orienté objet qui peut écrire des logiciels d'application multiplateformes. Il s'agit d'un langage de programmation Java et d'une plate-forme Java lancés par Sun Microsystems en mai 1995. (C'est-à-dire que le nom général de JavaEE(j2ee), JavaME(j2me), JavaSE(j2se)).
L'outil le plus populaire n'est pas nécessairement le « meilleur ». Ce qui est le mieux pour le développement dépend du scénario d'utilisation. Cependant, lors du choix d'un outil, la popularité est un facteur important qui ne peut être ignoré, non pas parce que la popularité d'un outil augmente sa valeur, mais parce qu'une communauté largement utilisée apporte des ressources et un soutien inestimables.
Les outils populaires sont plus faciles à apprendre car de nombreuses personnes seront prêtes à vous aider. S'il est open source, il y aura moins de problèmes. Comme il y a plus de personnes qui examinent le code et effectuent des tests, davantage de situations peuvent être envisagées.
Dans de nombreux cas, il y aura un concurrent opposé, comme Apache et Nginx - deux serveurs Web. Apache est davantage utilisé, mais les principaux sites Web utilisent davantage Nginx, ce qui signifie que les meilleurs ingénieurs privilégient davantage Nginx - dans de nombreux cas, la popularité peut être le point le plus important pour distinguer les outils.
Cette liste contient la plupart des outils nécessaires au développement d'applications Java. Y compris les plus populaires et les moins populaires, ils bénéficient tous d’un fort soutien de la communauté. Les débutants en Java doivent se familiariser avec ces outils et se familiariser avec l'écosystème.
Version linguistique
La plus populaire : Java 8
Prochaine popularité : Java 7
Java 8 est probablement la plus rapide acceptée parmi toutes les versions. C'est peut-être parce que Java 8 apporte des fonctionnalités de langage moderne très attendues, telles que les expressions lambda, qui résolvent les défauts de verbosité pour lesquels Java a longtemps été critiqué. Bien entendu, la performance est également un aspect majeur.
Bien que de nombreuses applications Java et applications majeures soient désormais écrites en Java 8, il existe également un grand nombre d'applications Java qui utilisent encore Java 7 ou 6.
Je n'entrerai pas dans les eaux boueuses de Java EE et Spring, car en parler s'accompagne toujours de beaucoup de querelles, et en termes de nombre d'utilisateurs, ils semblent assez égaux. Certains développeurs tiers utilisent également les deux.
Données
RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.9, 1.10)
DZone Guide to the Java Ecosystem, édition 2015 (graphiques 1 et 2)
Éditeurs et IDE
Les plus populaires : Eclipse et IntelliJ IDEA (controversé)
Le deuxième plus populaire : Netbeans
Eclipse et Netbeans sont tous deux gratuits, ouverts source. Eclipse est célèbre pour sa communauté forte et ses plug-ins riches (il est très pratique de développer des plug-ins Eclipse), ce qui rend la plateforme Eclipse très évolutive, mais cet IDE démarre lentement. Netbeans se différencie en intégrant Maven et Git. IntelliJ est connu pour ses performances et est un produit commercial. Il existe des versions gratuites et payantes.
Données
RebelLabs Java Tools and Technologies Landscape Report 2016 (IntelliJ IDEA était le meilleur IDE dans ce rapport, figure 1.11)
Guide DZone de l'écosystème Java, édition 2015 (Eclipse était le meilleur IDE de celui-ci, paragraphe 4)
Web Framework
Le plus populaire : AngularJS, SpringMVC
Le deuxième plus populaire : Java Server Faces (JSF )
Deux des trois enquêtes ont montré que Spring MVC est plus populaire que Java Server Faces (JSF), et l'enquête de DZone a montré que Spring MVC et JSF sont au coude à coude. Avec le développement des frameworks JavaScript sur le Web, ceux-ci ne sont peut-être plus importants. Une enquête montre qu'AngularJS est plus populaire sur le front-end que les frameworks Java purs.
Données
RebelLabs Java Tools and Technologies Landscape Report 2016 (figure 1.16)
DZone Guide to the Java Ecosystem, édition 2015 (le graphique 3, le paragraphe 5 montre une égalité)
JSF et Spring MVC Tie in Java / JVM Frameworks Sondage
Application Server
Le plus populaire : Tomcat
Deuxièmement populaire : Wildfly
Tomcat est depuis longtemps le framework de serveur d'applications Java le plus populaire. Il s'agit d'un framework léger et, dans certaines autres enquêtes, Jetty - un autre framework d'application léger - devance Wildfly - le serveur d'applications Java EE le plus populaire. Tomcat est sans aucun doute l’acteur dominant des applications Java légères et constitue le meilleur choix pour l’architecture des microservices.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.13)
Guide DZone de l'écosystème Java, édition 2015 (graphique 4)
Grand débat sur les serveurs d'applications 2013 de RebelLabs (pour une analyse plus approfondie des cas d'utilisation des serveurs d'applications)
Cadre de test
Tests unitaires
Le plus populaire : JUnit
Vraiment le meilleur framework de test Java
Simulation
Le plus populaire : Mockito
Le framework de tests simulés Java le plus populaire.
Tests de navigation Web automatisés
Le plus populaire : Selenium
Selenium n'est qu'un test de navigation automatisé. Les développeurs utilisent souvent cet outil en conjonction avec d'autres frameworks de test pour tester des applications Web à grande échelle.
Tests de tests de développement pilotés par le comportement (BDD)
Les plus populaires : Cucumber-JVM, Spock
Cucumber n'était qu'un projet Ruby au début, mais maintenant il l'est utilisé par tous les principaux langages de programmation grand public implémentés. Spock prend en charge le langage Groovy piloté par JVM et bien sûr Java. Il peut essentiellement faire tout ce que Mockito peut faire.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2014
Guide DZone sur la livraison continue, édition 2015 (page 20)
Système de contrôle de version
Le plus populaire : Git
Le deuxième plus populaire : Subversion
N'oubliez pas que l'utilisation de Git est plus flexible que la simple utilisation de Github et de simples commits. Aujourd'hui, Git a gagné la guerre du contrôle de version et de nombreux utilisateurs de Subversion et CVS se tournent progressivement vers Git.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.18)
Intégration continue
Le plus populaire : Jenkins
Deuxième plus populaire : Pas de serveur CI
Il y a aussi un géant évident dans ce domaine. Le système de plug-in flexible de Jenkins a progressivement conquis le domaine au cours des cinq dernières années. Parmi les autres concurrents de Jenkins, de plus en plus de personnes choisissent le serveur No CI. Vient ensuite le bambou.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.13)
Guide DZone sur la livraison continue, édition 2015 (page 20)
DZone Guide de l'écosystème Java, édition 2015 (paragraphe 4)
Bases de données
Les plus populaires : OracleDB
Deuxièmement populaire : MySQL
Parmi tous Parmi les outils, la base de données peut être considérée comme la plus dépendante des scénarios d'utilisation. Selon l'application que vous souhaitez créer, vous aurez peut-être besoin d'une base de données légère de magasin de valeurs-clés ou d'une base de données stockant de nombreuses colonnes. Pour la plupart des applications, une base de données générale peut répondre aux besoins, c'est pourquoi ces deux bases de données peuvent être classées en tête.
Oracle est l'un des rares logiciels commerciaux mentionnés dans cet article, ce qui signifie qu'il possède de nombreuses fonctionnalités « de niveau entreprise ». Si vous préférez les logiciels open source, MySQL et SQLite sont fortement recommandés.
Données
Classement des bases de données DB-Engines
Guide DZone des bases de données 2016
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.14, il s'agit du uniquement spécifique à Java)
Mappage relationnel objet
Le plus populaire : l'API de persistance Java (JPA) / Hibernate
Le deuxième plus populaire : la connectivité de la base de données Java API (JDBC)
Hibernate est si populaire qu'il est devenu le standard de l'API Java Persistence il y a de nombreuses années.
Données
Guide DZone de l'écosystème Java, édition 2015 (paragraphe 4)
Rapport sur le paysage des outils et technologies Java de RebelLabs 2014 (page 31)
Analyse de code statique
Le plus populaire : FindBugs
Le moins populaire : SonarQube
Ces deux outils sont très différents, il est donc difficile de comparer. FindBug est un simple outil d'analyse de code statique et SonarQube est un outil complet pour l'analyse de la qualité du code, la vérification de la syntaxe et la mesure du code.
Données
Guide DZone sur la livraison continue, édition 2015 (page 20)
Rapport sur le paysage des outils et technologies Java de RebelLabs 2014 (page 2)
Syntaxe Vérifiez
Le plus populaire : Vérifiez
Le deuxième plus populaire : Eclipse
Les grands IDE Java ont cette fonctionnalité, mais si vous avez besoin d'un programme spécifique pour effectuer spécifiquement une vérification de type, Le chèque est un bon choix.
Données
Guide DZone de la livraison continue, édition 2015 (page 20)
Gestion manuelle d'entrepôt
Le plus populaire : Sonatype Nexus
Le deuxième plus populaire : JFrog Artifactory
De nombreux développeurs n'utilisent pas de référentiels manuels pour gérer les JAR, les WAR, les bibliothèques et les applications. Mais si vous souhaitez faire cela, Nexus est le meilleur choix. Les deux sont des logiciels commerciaux, Apache Archiva étant une option open source.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2014 (page 45)
Inversion de contrôle
Le plus populaire : Spring Framework DI
Le deuxième plus populaire : Google Guice
Le framework Spring fait du bon travail en matière d'inversion de contrôle, mais les développeurs de Google ont également créé un bon outil. Dagger n'a pas beaucoup d'utilisateurs dans ce domaine, mais il devient progressivement populaire, notamment dans le développement Android. Pokémon Go l'utilise également.
Données
Sondage de reddit.com/r/java
Analyse des performances
Aperçu des performances Java
Le plus populaire : VisualVM
Le deuxième plus populaire : Aucun profileur
Un nombre considérable de développeurs n'utilisent pas d'outils d'analyse des performances (ils ont peut-être des équipes professionnelles d'optimisation des performances pour le faire) . YourKit est également une bonne alternative à VisualVM.
Test de chargement
Le plus populaire : JMeter
Le suivant le plus populaire : LoadRunner
En plus de ces deux outils, il existe de nombreux autres outils pour chargement Il s'agit d'un outil de test de performances, il est donc préférable de mener suffisamment d'études de marché avant de l'utiliser. JMeter est un logiciel open source et LoadRunner est un logiciel commercial. L’avantage des logiciels commerciaux est qu’ils disposent d’une large gamme de services et peuvent exécuter des tests dans le cloud.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.19)
Guide DZone sur la livraison continue, édition 2015 (page 20)
Compilation Automatisation et gestion des dépendances
Le plus populaire : Maven
Le deuxième plus populaire : Gradle
Maven occupe sans aucun doute la position de leader, mais Gradle est également largement utilisé, et il est toujours des outils de compilation standards Android.
Données
Rapport sur le paysage des outils et technologies Java de RebelLabs 2016 (figure 1.12)
Guide DZone de l'écosystème Java, édition 2015 (graphique 4)
Bibliothèque de journaux
La plus populaire : Log4j
La deuxième bibliothèque de journaux la plus populaire n'est pas encore claire, et il existe relativement peu d'enquêtes dans ce domaine. Les scénarios de contenu de cet article tournent autour des bibliothèques et paramètres de journalisation populaires en Java.
Ce qui précède est l'inventaire des outils Java les plus populaires. Pour plus de contenu connexe, veuillez prêter attention au site Web PHP chinois (www.php. .cn) !