Java 프로그래밍 언어
Java는 크로스 플랫폼 응용 소프트웨어를 작성할 수 있는 객체 지향 프로그래밍 언어로 1995년 5월 Sun Microsystems에서 출시한 Java 프로그래밍 언어이자 Java 플랫폼입니다. JavaEE(j2ee), JavaME(j2me), JavaSE(j2se))의 총칭.
가장 인기 있는 도구가 반드시 "최고"인 것은 아닙니다. 개발에 가장 적합한 도구는 사용 시나리오에 따라 다릅니다. 그러나 도구를 선택할 때 인기도는 무시할 수 없는 중요한 요소입니다. 도구의 인기가 그 가치를 높여주기 때문이 아니라 널리 사용되는 커뮤니티가 귀중한 리소스와 지원을 제공하기 때문입니다.
인기 있는 도구는 기꺼이 도와줄 사람들이 많기 때문에 배우기가 더 쉽습니다. 오픈 소스라면 문제가 덜할 것입니다. 코드를 검토하고 테스트하는 사람이 많아지면 더 많은 상황을 고려할 수 있습니다.
많은 경우 웹서버 두 대인 Apache와 Nginx와 같은 상대 경쟁자가 있을 것입니다. Apache가 더 많이 사용되지만 최고의 웹사이트에서는 Nginx를 더 많이 사용합니다. 이는 최고의 엔지니어가 Nginx를 더 선호한다는 의미입니다. 많은 경우 도구를 구별하는 데 있어서 인기가 가장 중요한 포인트일 수 있습니다.
이 목록에는 Java 애플리케이션을 개발하는 데 필요한 대부분의 도구가 포함되어 있습니다. 가장 인기 있는 항목과 덜 인기 있는 항목을 포함하여 모두 강력한 커뮤니티 지원을 받습니다. Java 초보자는 이러한 도구에 익숙해지고 생태계에 익숙해져야 합니다.
언어 버전
가장 인기 있는 버전: Java 8
다음 인기 버전: Java 7
Java 8은 아마도 모든 버전 중에서 가장 빠르게 승인되는 버전일 것입니다. Java 8에는 오랫동안 비판을 받아온 Java의 장황한 단점을 해결하는 람다 표현식과 같은 오랫동안 기다려온 최신 언어 기능이 포함되어 있기 때문일 수 있습니다. 물론 성능도 큰 측면이다.
현재 많은 Java 애플리케이션과 주요 애플리케이션이 Java 8로 작성되어 있지만 여전히 Java 7 또는 6을 사용하는 Java 애플리케이션도 많습니다.
Java EE와 Spring의 진흙탕에 들어가지는 않겠습니다. 왜냐하면 이에 대해 이야기하면 항상 많은 논쟁이 수반되고 사용자 수 측면에서 꽤 동등한 것 같기 때문입니다. 두 가지를 모두 사용하는 일부 타사 개발자도 있습니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.9, 1.10)
Java 생태계에 대한 DZone 가이드, 2015년판(그래프 1 및 2)
편집기 및 IDE
가장 인기 있는 것: Eclipse 및 IntelliJ IDEA(논란의 여지 있음)
다음으로 인기 있는 것: Netbeans
Eclipse와 Netbeans는 모두 무료이며 Open입니다. 원천. Eclipse는 강력한 커뮤니티와 풍부한 플러그인(Eclipse 플러그인 개발이 매우 편리함)으로 유명하여 Eclipse 플랫폼의 확장성이 매우 뛰어나지만 이 IDE는 느리게 시작됩니다. Netbeans는 Maven과 Git을 통합하여 차별화됩니다. IntelliJ는 성능으로 유명하며 상용 제품입니다. 무료 버전과 유료 버전이 모두 있습니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(IntelliJ IDEA는 이 보고서의 상위 IDE였습니다, 그림 1.11)
Java 생태계에 대한 DZone 가이드, 2015년판 (이번 항목에서는 Eclipse가 최고의 IDE였습니다. 4문단)
Web Framework
가장 인기 있는 것: AngularJS, SpringMVC
다음으로 인기 있는 것: Java Server Faces(JSF )
3개의 설문조사 중 2개에서는 Spring MVC가 JSF(Java Server Faces)보다 인기가 높은 것으로 나타났으며, DZone의 설문조사에서는 Spring MVC와 JSF가 대등한 것으로 나타났습니다. 웹에서 JavaScript 프레임워크가 개발되면서 아마도 이러한 프레임워크는 더 이상 중요하지 않을 것입니다. 설문 조사에 따르면 AngularJS는 순수 Java 프레임워크보다 프런트 엔드에서 더 많이 사용되는 것으로 나타났습니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.16)
Java 생태계에 대한 DZone 가이드, 2015년판(차트 3, 단락 5는 동점을 나타냄)
Java/JVM 프레임워크 설문조사의 JSF 및 Spring MVC 타이
애플리케이션 서버
가장 인기: Tomcat
두 번째 인기: Wildfly
Tomcat은 오랫동안 가장 인기 있는 Java 애플리케이션 서버 프레임워크였습니다. 이는 경량 프레임워크이며, 다른 일부 조사에서는 또 다른 경량 애플리케이션 프레임워크인 Jetty가 가장 널리 사용되는 Java EE 기반 애플리케이션 서버인 Wildfly보다 앞서 있습니다. Tomcat은 의심할 여지 없이 경량 Java 애플리케이션에서 지배적인 역할을 하며 마이크로서비스 아키텍처를 위한 최고의 선택입니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.13)
Java 생태계에 대한 DZone 가이드, 2015년판(차트 4)
RebelLabs의 Great Application Server Debate 2013(앱 서버 사용 사례에 대한 심층 분석)
테스팅 프레임워크
유닛 테스트
가장 인기 있는 제품: JUnit
진정 최고의 Java 테스트 프레임워크
시뮬레이션
가장 인기 있는: Mockito
가장 인기 있는 Java 모의 테스트 프레임워크입니다.
자동 웹 브라우징 테스트
가장 인기 있는 것: Selenium
Selenium은 단지 자동화된 브라우징 테스트입니다. 개발자는 대규모 웹 애플리케이션을 테스트하기 위해 다른 테스트 프레임워크와 함께 이 도구를 사용하는 경우가 많습니다.
행동 중심 개발 테스트(BDD) 테스트
가장 인기 있는 것: Cucumber-JVM, Spock
Cucumber는 처음에는 Ruby 프로젝트였지만 지금은 모든 주요 주류 애플리케이션에 사용되는 프로그래밍 언어가 구현되었습니다. Spock은 JVM 기반 언어 Groovy는 물론 Java도 지원합니다. 기본적으로 Mockito가 할 수 있는 모든 것을 할 수 있습니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2014
DZone 지속적 전달 가이드, 2015년판(20페이지)
버전 제어 시스템
가장 인기: Git
다음 인기: Subversion
Git를 사용하는 것은 Github과 간단한 커밋을 사용하는 것보다 더 유연하다는 점을 기억하세요. 이제 Git은 버전 제어 전쟁에서 승리했으며 많은 Subversion 및 CVS 사용자가 점차 Git으로 전환하고 있습니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.18)
지속적 통합
가장 인기 있는 제품: Jenkins
두 번째 인기: CI 서버 없음
이 분야에도 명백한 거인이 있습니다. Jenkins의 유연한 플러그인 시스템은 지난 5년 동안 점차적으로 현장을 장악했습니다. 다른 Jenkins 경쟁사 중에서 더 많은 사람들이 No CI 서버를 선택합니다. 다음은 대나무입니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.13)
DZone 지속적 전달 가이드, 2015년판(20페이지)
DZone Java 생태계 가이드, 2015년판(4항)
데이터베이스
가장 인기 있는 항목: OracleDB
두 번째로 인기 있는 항목: MySQL
모두 중에서 도구 중에서 데이터베이스는 사용 시나리오에 가장 의존적이라고 할 수 있습니다. 생성하려는 애플리케이션에 따라 경량 키-값 저장소 데이터베이스 또는 많은 열을 저장하는 데이터베이스가 필요할 수 있습니다. 대부분의 애플리케이션에서는 일반 데이터베이스가 요구 사항을 충족할 수 있으므로 이 두 데이터베이스가 최상위에 랭크될 수 있습니다.
Oracle은 이 기사에 나오는 몇 안 되는 상용 소프트웨어 중 하나입니다. 즉, Oracle에는 "엔터프라이즈 수준" 기능이 많이 있습니다. 오픈 소스 소프트웨어를 선호한다면 MySQL과 SQLite를 적극 권장합니다.
데이터
DB-Engines 데이터베이스 순위
DZone Guide to Databases 2016
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.14, 이는 Java에만 해당)
객체 관계형 매핑
가장 인기 있는 것: Java Persistence API(JPA) / Hibernate
다음으로 인기 있는 것: Java Database Connectivity API( JDBC)
Hibernate는 수년 전에 Java Persistence API의 표준이 될 정도로 인기가 높습니다.
데이터
Java 생태계에 대한 DZone 가이드, 2015년판(4항)
RebelLabs Java 도구 및 기술 환경 보고서 2014(31페이지)
정적 코드 분석
가장 인기 있는 도구: FindBugs
가장 인기 없는 도구: SonarQube
이 두 도구는 매우 다르기 때문에 비교하기가 어렵습니다. FindBug는 간단한 정적 코드 분석 도구이고 SonarQube는 코드 품질 분석, 구문 확인 및 코드 측정을 위한 전체 플랫폼 도구입니다.
데이터
DZone 지속적 전달 가이드, 2015년판(20페이지)
RebelLabs Java 도구 및 기술 환경 보고서 2014(2페이지)
구문
가장 인기 있는 항목 확인:
확인
다음으로 인기 있는 항목: Eclipse
대형 Java IDE에는 이 기능이 있지만 유형 검사를 구체적으로 수행하기 위해 특정 프로그램이 필요한 경우 확인하는 것이 좋은 선택입니다.
데이터
DZone Continuous Delivery 가이드, 2015년판(20페이지)
수동 창고 관리
가장 인기 있는 제품: Sonatype Nexus
다음으로 인기 있는 것: JFrog Artifactory
많은 개발자는 JAR, WAR, 라이브러리 및 애플리케이션을 관리하기 위해 수동 저장소를 사용하지 않습니다. 하지만 그렇게 하고 싶다면 Nexus가 최선의 선택입니다. 둘 다 상용 소프트웨어이며 Apache Archiva는 오픈 소스 옵션입니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2014(45페이지)
제어 역전
가장 인기 있는 항목: Spring Framework DI
다음으로 인기 있는 것: Google Guice
Spring 프레임워크는 제어 역전에서 훌륭한 역할을 하지만 Google 개발자도 좋은 도구를 만들었습니다. Dagger는 이 분야의 사용자가 많지 않지만 특히 Android 개발에서 점차 인기를 얻고 있습니다. 포켓몬고(Pokémon Go)도 이를 사용한다.
데이터
reddit.com/r/java 설문조사
성능 분석
Java 성능 개요
가장 인기 있는 것: VisualVM
다음으로 가장 인기 있는 것: 프로파일러 없음
상당수의 개발자는 성능 분석 도구를 사용하지 않습니다(아마도 전문적인 성능 최적화 팀이 이를 수행할 수도 있음). . YourKit은 VisualVM의 좋은 대안이기도 합니다.
로딩 테스트
가장 인기 있는 도구: JMeter
다음으로 인기 있는 도구: LoadRunner
이 두 도구 외에도 다음을 위한 다른 도구가 많이 있습니다. loading 성능 테스트를 위한 도구이므로 충분한 시장 조사를 한 후 사용하시는 것이 가장 좋습니다. JMeter는 오픈 소스 소프트웨어이고 LoadRunner는 상용 소프트웨어입니다. 상용 소프트웨어의 장점은 다양한 서비스를 제공하고 클라우드에서 테스트를 실행할 수 있다는 점입니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.19)
DZone 지속적 전달 가이드, 2015년판(20페이지)
편집 자동화 및 종속성 관리
가장 인기 있는 제품: Maven
다음으로 인기 있는 제품: Gradle
Maven이 의심할 바 없이 선두 자리를 차지하고 있지만 Gradle도 널리 사용되고 있으며 여전히 Android 표준 컴파일 도구입니다.
데이터
RebelLabs Java 도구 및 기술 환경 보고서 2016(그림 1.12)
Java 생태계에 대한 DZone 가이드, 2015년판(차트 4)
로그 라이브러리
가장 인기 있는 로그 라이브러리: Log4j
다음으로 인기 있는 로그 라이브러리는 아직 명확하지 않으며 이 분야에 대한 설문 조사도 상대적으로 적습니다. 이 문서의 콘텐츠 시나리오는 Java의 인기 있는 로깅 라이브러리 및 설정을 중심으로 진행됩니다.
위 내용은 가장 인기 있는 Java 도구 목록이며, 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트(www.php)를 참고하세요. .cn)!