JavaRush /Java Blog /Random-KO /Eclipse, NetBeans 또는 IntelliJ IDEA? Java 개발을 위한 IDE 선택
Bender
레벨 1
Маунтин-Вью

Eclipse, NetBeans 또는 IntelliJ IDEA? Java 개발을 위한 IDE 선택

Random-KO 그룹에 게시되었습니다
Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 1우리는 JavaWorld 리소스의 프로그래머이자 편집자인 Martin Heller의 기사를 각색한 내용을 여러분의 관심에 제시합니다. Java 개발에 가장 널리 사용되는 세 가지 IDE에 대해 이미 들어보셨을 것입니다. 산업용 프로그래머의 90%는 Eclipse, NetBeans 또는 IntelliJ IDEA를 사용하며 이러한 IDE 각각에는 고유한 장점과 단점이 있습니다. 이 기사에서는 어느 것이 귀하에게 적합한지 이해할 수 있도록 설명하려고 노력할 것입니다. 물론 직장에서 세 가지를 모두 시도해보고 자신에게 가장 적합한 것이 무엇인지 찾는 것이 더 좋습니다. 어떤 리뷰도 이를 대체할 수 없습니다.

개발 환경이란 무엇입니까?

매우 짧은 대답은 개발 환경은 프로그램을 만드는 데 사용하는 프로그램 또는 여러 프로그램이라는 것입니다. 이 프로세스에는 실제로 코드 작성, 디버깅, 실행 및 버전 제어 시스템과의 통합이 포함됩니다. 이전 개발자는 메모장이나 명령줄과 같은 간단한 텍스트 편집기(때로는 구문 강조 표시 없이도)를 자주 사용했다면 이제는 올인원 프로세서, 통합 개발 환경 또는 IDE를 사용하는 경우가 가장 많습니다.

IDE란 무엇입니까?

통합 개발 환경 또는 영어로 통합 개발 환경(IDE)은 소프트웨어 개발을 위한 도구가 포함된 프로그램입니다. 일반적으로 최신 개발 환경에는 다음이 포함됩니다.
  • 코드 강조 기능이 있는 텍스트 편집기;
  • 컴파일러 또는 통역사;
  • 클래스 브라우저, 개체 검사기 및 클래스 계층 다이어그램
  • 조립 자동화 도구;
  • 디버거;
  • 버전 제어 시스템(Git)과의 통합을 위한 도구;
  • 그래픽 사용자 인터페이스의 디자인을 단순화하는 도구입니다.
이전에 이러한 IDE를 사용해 작업한 적이 있지만 이번 연구에서는 MacBook Pro 노트북에 IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE 및 NetBeans 8.1 Java EE를 설치했습니다. 여러 오픈 소스 Java 프로젝트에서 IDE를 테스트했습니다.

IDE에서 기대할 수 있는 것

"건강한 Java 개발자"를 위한 최신 IDE는 Java 8, Scala, Groovy 및 그가 정기적으로 사용하는 기타 Java 가상 머신 언어를 지원해야 합니다. Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails 및 Vaadin을 포함하여 주요 애플리케이션 서버와 가장 널리 사용되는 웹 프레임워크에 대한 지원도 유용할 것입니다. IDE는 Git, SVN, CVS, Mercurial 또는 Bazaar와 함께 Ant, Maven 또는 Gradle과 같은 모든 버전 제어 시스템 빌드와 호환되어야 합니다. 또한 개발 환경에서는 스택의 데이터베이스 및 클라이언트 계층과 작업할 수 있고 내장된 JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate 및 Java Persistence를 지원하는 것이 중요합니다. API. 마지막으로, IDE를 사용하면 불필요한 스트레스 없이 시스템을 편집, 생성, 디버그 및 테스트할 수 있기를 바라는 것이 논리적입니다. 이상적으로 개발 환경은 지능형 코드 완성뿐만 아니라 지능형 리팩터링 및 코드 메트릭도 지원합니다. 대부분의 경우 테스트 프레임워크와 스텁을 지원하는 것이 유용합니다. 팀에서 티켓 시스템과 CI/CD를 사용하는 경우 이에 연결하려면 IDE가 필요합니다. 그리고 컨테이너와 클라우드에서 배포 및 디버깅이 필요한지 여부를 결정하세요. 우리는 기본적인 기대치만 나열했으며(추가할 사항이 있을 수도 있음) 이제 경쟁사에 대해 자세히 살펴보겠습니다.

IntelliJ 아이디어

Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 2기능과 가격 측면에서 IntelliJ IDEA는 무료 Community 에디션과 확장된 기능을 갖춘 유료 Ultimate 에디션의 두 가지 버전으로 제공됩니다. Community Edition은 JVM 및 Android 개발을 위해 설계되었습니다. 무료 버전은 Java, Kotlin, Groovy 및 Scala를 지원합니다. 기계적 인조 인간; 메이븐, 그래들, SBT; 버전 제어 시스템인 Git, SVN, Mercurial 및 CVS와 함께 작동합니다. Ultimate Edition은 웹 및 기업 개발에 적합합니다. 이 IDE 버전은 Git, SVN, Mercurial 및 CVS뿐만 아니라 Perforce, ClearCase 및 TFS에서도 작동합니다. 여기에서 JavaScript와 TypeScript로 작성할 수 있습니다. 당연히 Java EE, Spring, GWT, Vaadin, Play, Grails 및 기타 여러 프레임워크가 지원됩니다. 물론, 데이터베이스 작업을 위한 SQL과 도구 없이는 불가능했습니다. 가격 정책을 수립할 때 이 IDE 개발자를 안내하는 아이디어는 상업용 버전(Ultimate)이 전문가의 컴퓨터에서 자리를 잡아 생산성이 향상된다는 것입니다. Java 프로그래머가 연간 $50,000(또는 그 이상)을 벌면 유료 IDE IntelliJ IDEA(연간 구독의 경우 $500)에 지출된 투자 수익은 작업 속도가 약간만 빨라져도 매우 빠르게 나타날 것입니다. 이후 몇 년 동안 기업의 가격은 하락하고 스타트업과 프리랜서의 경우 가격이 훨씬 낮아지며 학생, 교사, Java 챔피언 및 오픈 소스 개발자에게는 완전히 무료입니다. IntelliJ IDEA는 심층적인 코드 이해, 스마트한 인체공학, 내장된 개발 기능, 다국어 지원으로 깊은 인상을 남깁니다. Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 3
그림 1. IntelliJ IDEA는 Java 코드의 통계 분석을 기반으로 경고 및 추측 횟수를 보여줍니다. 그림에 표시된 대로 가정을 클릭하면 가정을 더 자세히 연구할 수 있습니다. 대부분의 경우 선택 항목과 수정 옵션이 포함된 목록을 받게 됩니다.

코드에 대한 깊은 이해

구문 강조 표시 및 간단한 코드 완성은 모든 최신 Java 편집기에서 일반적입니다. IDEA는 더 나아가 “스마트 자동 완성” 기능을 제공했습니다. 이 용어는 개발 환경이 주어진 상황에 적용할 수 있는 가장 관련성이 높은 기호 목록을 표시한다는 것을 의미합니다. 기호 목록은 "일반적으로 허용되는" 컨텍스트뿐만 아니라 개발자의 프로그래밍 스타일, 특정 연산자를 사용하는 빈도에 따라 달라집니다. "체인 완성"은 현재 컨텍스트에서 메소드나 게터를 통해 허용되는 적용 가능한 기호 목록도 표시합니다. 또한 정적 멤버 또는 상수의 경우 IDEA는 필요한 import 문을 자동으로 추가합니다. 자동 완성의 모든 경우에 IDEA는 런타임 시 기호 유형을 추측하고 선택 항목을 구체화하며 필요한 경우 유형 캐스트를 적용합니다. Java 코드에는 다른 언어의 스니펫이 문자열로 포함되는 경우가 많습니다. IDEA는 SQL, XPath, HTML, CSS 또는 JavaScript 코드를 Java 문자열 리터럴에 삽입할 수 있습니다. 이러한 의미에서 IDE는 여러 언어로 코드를 리팩터링할 수 있습니다. 예를 들어 JPA 매핑에서 클래스 이름을 바꾸면 IDEA는 해당 JPA 엔터티와 표현식 클래스를 업데이트합니다. 코드 조각을 리팩토링할 때 개발자에게는 한 가지 (아주 자연스러운) 욕구가 있습니다. 즉, 이 코드의 모든 복제본도 리팩토링되기를 바라는 것입니다. IDEA Ultimate는 중복 및 유사한 조각을 찾아 리팩토링을 적용합니다. IntelliJ IDEA는 코드를 로드할 때와 입력할 때 직접 구문 분석합니다. 이는 의심되는 문제(위 이미지 참조)를 지적하고 선택적으로 발견된 문제에 대한 가능한 빠른 수정 목록을 제공합니다.

인간 공학

Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 4IntelliJ IDEA는 개발자가 이미 생산성이 높은 상태에 있으면 그 상태에서 벗어나지 않도록 설계되었습니다. 왼쪽 첫 번째 그림과 같은 프로젝트 창은 간단한 마우스 클릭만으로 사라지므로 프로그래머는 코드 편집기 창에 집중할 수 있습니다. 코드를 작성하는 동안 필요한 모든 작업에는 팝업 창의 기호 정의를 포함하여 빠르게 호출할 수 있는 키 조합이 있습니다. 처음에는 이러한 모든 조합을 기억하기 어렵지만 점차 익숙해지고 사용하기만 하면 됩니다. 그러나 프로그래머가 키보드 단축키를 사용하지 않더라도 실습에서 알 수 있듯이 IDEA 작업에 쉽고 빠르게 익숙해집니다. 특히 IDEA 디버거에 주목하고 싶습니다. 변수 값은 해당 소스 코드 옆에 있는 편집기 창에 직접 표시됩니다. 변수의 상태가 변경되면 강조 표시 색상도 변경됩니다.

내장 도구

IntelliJ IDEA는 Git, SVN, Mercurial, CVS, Perforce 및 TFS를 포함한 대부분의 버전 제어 시스템에 통합 인터페이스를 제공합니다. IDE에서 직접 변경 사항을 관리할 수 있어 매우 편리합니다. IDEA를 테스트할 때 소스 코드의 최신 변경 사항이 편집기 창에 주석으로 표시되기를 원했습니다(예를 들어 Visual Studio에서 발생함). 알고 보니 IDEA에는 이를 위한 특별한 플러그인이 있습니다. IDEA에는 빌드 도구, 테스트 런타임, 적용 범위 도구 및 내장 터미널 창이 함께 제공됩니다. IntelliJ에는 자체 프로파일러가 없지만 플러그인을 사용하여 타사 프로파일러에 연결할 수 있습니다. 예를 들어 JetBrains의 전 수석 개발자가 만든 YourKit 또는 VisualVM(NetBeans 프로파일러의 리패키지 버전)이 있습니다. 소스가 없는 클래스에 온갖 종류의 알 수 없는 일이 발생할 때 Java에서 디버깅하는 것은 고통스러운 일이 될 수 있습니다. IDEA에는 이러한 경우를 위한 디컴파일러가 포함되어 있습니다. Java의 서버측 프로그래밍에는 데이터베이스와의 빈번한 상호 작용이 필요하므로 IDEA Ultimate 프로그래머는 SQL 및 데이터베이스 작업을 위한 도구의 편리함을 높이 평가할 것입니다. 그러나 해당 기능이 누군가에게 충분하지 않은 경우 SQL IDE(DataGrip)가 내장된 IDEA Ultimate 버전을 구입할 수 있습니다. 그러나 일반 IDEA Ultimate 구독보다 약간 더 비쌉니다. IntelliJ IDEA는 모든 주요 JVM 애플리케이션 서버를 지원하며 이러한 서버에서 배포 및 디버그가 가능하므로 모든 Java Enterprise 프로그래머에게 익숙한 어려움이 사라집니다. IDEA는 또한 개발 환경에 특별한 Docker 도구 창을 추가하는 플러그인을 통해 Docker를 지원합니다. 그런데 IDEA에는 수많은 플러그인이 있습니다.  

진정한 다국어

IDEA는 Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS 및 기타 프레임워크에 대한 코드 지원을 확장했습니다. 아마도 이들 모두가 Java에만 해당되는 것은 아니라는 점을 눈치채셨을 것입니다. IDEA는 Groovy, Kotlin, Scala, JavaScript, TypeScript 및 SQL과 같은 다른 언어를 즉시 "이해"합니다. 이 목록에 원하는 언어가 없으면 현재 특히 R, Elm 및 D를 지원하는 19개의 IntelliJ 언어 플러그인이 있습니다.

이클립스 IDE

Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 5 약 10년 전, 최고의 IDE에 대한 질문에 한 Java 개발자는 자신 있게 Eclipse라고 대답했습니다. 수년 동안 이 개발 환경은 Java IDE 중에서 자신있게 손바닥을 차지했습니다. 이 환경은 주로 Java로 작성된 완전 무료 오픈 소스입니다. 그러나 모듈식 아키텍처를 통해 Eclipse를 다른 언어와 함께 사용할 수 있습니다. IBM이 시작한 Eclipse 프로젝트는 2001년에 등장했습니다. 그들은 Smalltalk를 기반으로 하는 IBM Visual Age 개발 환경 제품군을 대체하기를 원했습니다. 이름에서 알 수 있듯이 주요 목표는 Microsoft Visual Studio를 능가하는 것이었습니다(영어로 eclipse는 eclipse를 의미함). Java의 이식성은 Eclipse가 크로스 플랫폼 환경이 되도록 도와줍니다. 이 IDE는 Linux, Mac OS X, Solaris 및 Windows에서 실행됩니다. 좋든 나쁘든 Java Standard Widget Toolkit(SWT)은 Eclipse의 모양과 느낌을 부분적으로 담당합니다. Eclipse는 JVM 덕분에 성능이 향상되었습니다. Eclipse는 다소 오래된 하드웨어와 JVM의 고대 버전에 기반을 두고 있기 때문에 매우 느리게 작동합니다. 오늘날에도 속도가 느린 것 같습니다. 특히 많은 플러그인을 연결하는 경우 더욱 그렇습니다. Eclipse의 리소스 오버헤드 중 일부는 파일이 로드되거나 코드가 업데이트될 때마다 실행되는 내장 증분 컴파일러로 인해 발생할 수 있습니다. 이는 텍스트를 입력할 때 오류를 잡아내는 유용한 기능입니다. 빌드에 관계없이 Eclipse 프로젝트는 Java 요소의 유형, 참조 및 선언 계층에 대한 정보가 포함된 컨텐츠 모델을 유지합니다. Eclipse의 현재 버전은 Neon(4.6.0)입니다. 웹 개발자를 위해 Eclipse Java EE IDE를 설치했습니다(이것이 유일한 옵션은 아니며 다른 것을 선택할 수 있습니다). 여기에는 최소한의 Eclipse SDK가 포함되어 있으며 요청 시 플러그인이 추가됩니다. 그건 그렇고, 이 IDE에서 플러그인을 사용하는 것은 마음이 약한 사람을 위한 것이 아닙니다. 타사 플러그인은 공식 사양에 이에 대한 언급이 없지만 서로 충돌하는 경우가 많습니다. Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 6
그림 2. 왼쪽부터 4개의 Eclipse 도구 모음(패키지 탐색기, Java 편집기, Java 클래스 구조, 작업 목록)이 있습니다. 이 그림에서 Eclipse에 로드된 프로젝트는 JUnit 테스트 프레임워크입니다. 패널을 쉽게 교체할 수 있습니다.

플러그인 지원

Eclipse의 플러그인 생태계는 IDE의 장점이자 주요 문제점 중 하나입니다. 때로는 전체 어셈블리가 충돌하고 프로그래머가 작업을 처음부터 다시 시작해야 하는 것은 플러그인의 비호환성 때문입니다. 현재 Eclipse용으로 작성된 공식 및 비공식 플러그인이 1,700개가 넘으며 훌륭하게 작동할 수도 있고 그렇지 않을 수도 있습니다. Eclipse 플러그인은 100개 이상의 프로그래밍 언어와 거의 200개에 달하는 애플리케이션 개발 프레임워크를 지원합니다. 대부분의 Java 서버도 지원됩니다. Eclipse에서 새 서버 연결을 지정하면 약 30개의 애플리케이션 서버를 찾을 수 있는 공급업체 폴더 목록으로 이동하게 됩니다. Apache Tomcat 변종만 해도 무려 9개가 있을 것입니다. 상용 공급업체는 솔루션을 함께 묶는 경향이 있습니다. 예를 들어 Red Hat JBoss Middleware 항목은 하나만 있고 그 안에는 JBoss AS뿐만 아니라 WildFly 및 EAP 서버 도구도 있습니다.

편집, 리팩토링 및 디버깅

Eclipse를 처음 사용하는 경우 혼란스럽고 혼란스러울 수도 있습니다. 첫 번째 단계는 Eclipse를 설정하고 작업공간, 보기 및 보기의 개념적 아키텍처에 익숙해지는 것입니다. 이는 모두 설치한 플러그인에 따라 결정됩니다. 서버 측 Java 개발의 경우 Java, Java EE 및 Java 탐색 보기, 패키지 탐색기 보기, 디버깅 보기, 웹 도구 명령 동기화 보기, 데이터베이스 개발 보기 및 데이터베이스 디버깅 보기를 사용하게 됩니다. 실제로 필요한 창을 열면 모든 것이 의미가 있습니다. Eclipse는 거의 항상 특정 문제를 해결하는 여러 가지 방법을 제공합니다. 예를 들어 Java 탐색 관점을 사용하여 코드를 볼 수 있습니다. 무엇을 선택할지는 취향과 선택의 문제입니다. 특수 Java 검색을 사용하면 Java 패키지, 유형, 메소드, 필드의 선언, 참조 및 발생을 찾을 수 있습니다. 빠른 검색 액세스 및 미리보기를 사용할 수도 있습니다. 코드 템플릿에서 공통 코드 패턴을 생성할 수 있습니다. Eclipse의 Java 리팩토링은 일반적인 이름 바꾸기 작업부터 덜 명확한 변환(Martin Fowler의 책 참조)에 이르기까지 23가지 작업을 지원합니다. Eclipse는 원격 디버깅을 지원하는 JVM을 사용하는 경우 로컬 및 원격 디버깅을 모두 지원합니다. 디버깅은 매우 표준적입니다. 중단점을 정의한 다음 디버그 탭에서 변수를 확인합니다. 물론 코드를 단계별로 실행하고 표현식을 평가할 수도 있습니다. Eclipse에는 다양한 연령, 가치 및 유용성에 대한 방대한 문서 데이터베이스가 있습니다. 불행하게도 지침에서 현재 버전과 일치하지 않는 그림(예: 오래된 인터페이스 및 버튼 레이아웃)을 찾는 것은 이 IDE에서 흔히 발생하는 일입니다. 불행하게도 문서 업데이트가 늦어지는 문제는 모든 소스 코드 프로젝트에서 매우 흔히 발생합니다.

넷빈즈

Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 7NetBeans는 1996년 프라하에서 대학생 프로젝트로 시작되었습니다. 1997년 IDE는 상용 제품이 되었고, 1999년 Sun Microsystems(Java의 모회사)에 인수되었으며 다음 해에는 오픈 소스 릴리스가 출시되었습니다. 현재 버전 8.1은 Windows, Mac OS X, Linux 및 Solaris를 실행하는 시스템에서 실행됩니다. 이식 가능한 패키지는 Java 시스템이 존재하는 모든 시스템에서 실행될 수 있습니다. 나는 Java EE 번들을 다운로드했는데, 이는 6개의 가능한 다운로드 패키지 중 하나입니다. 이 번들은 JavaScript, HTML, GlassFish 및 Tomcat을 지원하지만 PHP, C/C++/Fortran, Groovy 및 Grails는 지원하지 않습니다. "All Inclusive" 패키지(또는 간단히 "All")에서 얻을 수 있습니다. 그러나 원할 경우 적절한 플러그인(또는 기타 플러그인)을 선택하여 언제든지 위 언어에 대한 지원을 다운로드할 수 있습니다. NetBeans는 Eclipse보다 개수가 적지만 일반적으로 서로 충돌하지 않습니다. 올 가을, Oracle(Sun Microsystems 인수 후 NetBeans 인수)은 모든 권리, 소스 코드, 상표, 도메인 "netbeans.org" 및 기타 여러 인프라와 함께 이 개발 환경을 Apache Software Foundation의 산하로 이전하기로 결정했습니다. 강요. 따라서 이전에는 시스템에 특정 관련 권한이 있었지만 프로젝트의 미래는 여전히 모호합니다. 따라서 업데이트된 플랫폼이 출시된 직후 가장 먼저 Java 8에 대한 지원을 받은 것이 NetBeans였으며 "Java 8 공식 IDE"라고 불렸습니다. 그러나 출시된 지 한 달 만에 이러한 이점은 사라졌습니다. 바로 그때 다른 IDE도 Java 8에 대한 지원을 받았습니다. 그러나 NetBeans의 Java 8 지원은 정말 훌륭하고 IDE는 Java 8 트릭을 "기존" 코드에 통합하는 데 적합하다는 점을 지적하고 싶습니다. 편집기, 코드 분석기 및 변환기는 프로그래머가 Java 8의 일반적인 구성(람다 표현식, 기능 연산자 및 메소드 참조)을 사용하여 코드를 업그레이드하는 데 도움이 됩니다. NetBeans 8의 JavaScript 플러그인은 Node.js와 Gulp 및 Mocha와 같은 최신 JavaScript 도구를 지원하는 것은 물론 Nashorn JavaScript 인터프리터도 지원합니다. Eclipse, NetBeans 또는 IntelliJ IDEA?  Java 개발을 위한 IDE 선택 - 8
그림 3. 여기서 NetBeans는 그림 1에서 IntelliJ IDEA를 연 것과 동일한 Maven 기반 프로젝트를 실행하고 있습니다. 상황에 맞는 메뉴와 리팩토링 하위 메뉴의 향상된 기능을 확인하세요.

편집 및 리팩토링

NetBeans 편집기는 언어를 지원하고, 입력 시 오류를 감지하며, 도구 설명 및 스마트 코드 완성을 도와줍니다. 주관적인 느낌에 따르면 IDE는 Eclipse보다 이 작업을 더 빠르게 처리하지만 IntelliJ IDEA보다 다소 느립니다. 또한 NetBeans에는 프로그래머가 코드를 손상시키지 않고 재구성하고, 소스 분석을 수행하고, 빠른 수정이나 코드 확장을 위한 광범위한 힌트를 제공할 수 있는 다양한 리팩토링 도구(그림 3 참조)가 있습니다. NetBeans에는 이전에 "Project Matisse"로 알려진 Swing GUI 디자인 도구가 포함되어 있습니다. 개발자는 NetBeans 7.1에 도입된 자동화된 리팩토링 도구인 Inspect & Transform을 높이 평가합니다. 이를 통해 프로젝트 코드를 분석하고 개선 사항을 제안할 수 있습니다. 개인적으로는 먼저 단위 테스트를 통해 내 코드를 모두 테스트한 다음 근본적인 변화를 가져올 수 있는 도구를 실행하는 것을 선호합니다. 나는 돌이킬 수 없는 결과를 초래하는 온갖 종류의 자동 수정으로 인해 반복적으로 고통을 겪었습니다.

빌드, 디버깅 및 프로파일링

NetBeans는 Maven 및 Ant에 대한 탁월한 기본 지원은 물론 Gradle용 플러그인도 제공합니다. Maven 프로젝트가 시스템에서 "네이티브"로 처리된다는 사실을 발견했을 때 나는 매우 기뻤습니다. 즉, 가져오는 대신 간단히 열 수 있습니다. NetBeans에는 Maven 종속성에 대한 매력적이고 유용한 그래픽 디스플레이도 포함되어 있습니다. NetBeans Java 디버거는 나쁘지 않지만 몇 가지 주의 사항이 있습니다. 별도의 시각적 디버거를 사용하면 프로그래머는 사용자 그래픽 인터페이스의 스크린샷을 찍고 JavaFX 및 Swing을 사용하여 만든 애플리케이션의 인터페이스를 탐색할 수 있습니다. NetBeans 프로파일러는 CPU와 메모리가 어떻게 사용되는지 더 명확하게 보여주며 메모리 누수를 찾는 데 탁월한 도구를 제공합니다.

어떤 Java IDE가 더 좋나요? 거인 삼총사의 비교

나는 나열된 시간순으로 수년 동안 Eclipse, NetBeans 및 IntelliJ IDEA의 세 가지 IDE를 모두 사용했습니다. 다른 IDE로 전환할 때마다 생산성이 향상되는 것을 느꼈습니다. 하지만 IDEA가 나의 최종 선택이라고 굳게 확신하면서도 때로는 남은 두 IDE 중 하나로 돌아가야 할 때도 있었습니다. 예를 들어, Eclipse가 Android 개발을 지원하는 유일한 도구였던 당시에는 이러한 경우가 있었습니다(현재는 IntelliJ IDEA를 기반으로 하는 현재 Android용 공식 IDE인 Android Studio가 있습니다). 물론 세 가지 IDE 모두 팬과 비방자가 있습니다. 저는 IntelliJ IDEA를 좋아하는 Java 개발자는 물론 열성적인 Visual Studio C++ 및 C# 팬을 많이 알고 있습니다. 대개 이러한 사람들은 생산성이 향상되었다는 사실에 만족하며, IDEA 유료 버전을 사용한 지 불과 몇 주 후에 연간 구독 비용이 환불됩니다. 그러나 NetBeans 및 Eclipse 사용자는 종종 자신의 도구에 애착을 갖고 왜 다른 프로그래머가 IDEA에 돈을 지불할 의향이 있는지 궁금해합니다. 나는 새로운 Java 개발자에게 Eclipse를 멀리하라고 조언하고 싶습니다. 여전히 가장 널리 사용되는 Java용 IDE라는 사실에도 불구하고 초보자에게는 어렵습니다. 시스템 배포 중이나 일상 작업 중에 Eclipse의 야생에서 길을 잃기 쉽습니다. Eclipse는 모든 IDE 중에서 가장 광범위한 플러그인 생태계를 갖추고 있으며, 동일한 플러그인의 호환되지 않는 세트 설치로 인해 충돌이 발생할 가능성도 가장 높습니다. 불행히도 Eclipse를 사용하는 동안 나는 이 IDE의 또 다른 손상된 어셈블리를 제거하고 "깨끗한" 번들을 설치해야 하는 일을 반복적으로 수행해야 했습니다. NetBeans는 대부분의 개발자에게 적합하고 뛰어난 프로파일러를 갖추고 있어 가끔 사용합니다. 하지만 저는 IntelliJ IDEA Ultimate에 비용을 지불하는 것을 선호합니다. 그리고 NetBeans의 미래는 여전히 불분명합니다. 아직 도구를 구입할 예산이 없는 신규 Java 개발자의 경우 필요에 따라 NetBeans 또는 IntelliJ IDEA Community Edition을 사용하는 것이 좋습니다. 첫 번째는 Java 서버를 코딩하는 사람들이 선택할 가치가 있지만 IntelliJ IDEA Ultimate를 무료로 또는 큰 할인을 받을 수 있는 범주에 속하지 않는 경우에만 해당됩니다(오픈 소스를 개발하는 학생 또는 프로그래머). 프로젝트).

"가벼운" Java IDE

오늘날 대부분의 Java 개발자는 IDEA, NetBeans 또는 Eclipse를 사용하지만 때로는 더 가벼운 개발 환경이 필요하거나 Java 플러그인을 지원하는 Sublime Text, emacs 또는 vim과 같은 코드 편집기도 필요합니다. 좀 더 가벼운 것을 찾는 사람들을 위해 합리적인 옵션을 아래에 나열했습니다.
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузor уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор codeа, панель взаимодействия для оценки codeа applications, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, How NetBeans or Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная version Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная version (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

나는 가장 중요한 세 가지 Java IDE 각각의 중요한 이점을 설명하고 유용한 작은 경쟁 제품에 대해 간략하게 언급했습니다. 올바른 Java 개발 환경을 선택하려면 장단점을 비교하고 이를 자신의 요구 사항과 프로젝트의 요구 사항에 맞춰야 합니다. 팀에 합류하는 경우 필수는 아니지만 다른 개발자와 동일한 IDE를 사용하는 것이 좋습니다. 팀이 GitHub에서 소스를 호스팅하는 경우 IDE가 GitHub를 지원하면 자연스럽게 더 편리해집니다. 예, GitHub 클라이언트 또는 git 명령줄을 사용하여 IDE 없이 코드 전송을 처리할 수 있습니다. 하지만 서로 다른 시스템 간의 이러한 점프가 얼마나 효과적일까요? IDE가 빌드 시스템을 지원하는 것도 중요합니다. 예를 들어 Maven인 경우 로컬 테스트를 위해 Ant에서 시스템을 다시 빌드하고 싶지 않을 것입니다. 운 좋게도 세 가지 대형 Java IDE 모두 기본적으로 또는 플러그인을 통해 Ant, Maven 및 Gradle을 지원합니다. 그러나 "소형" IDE의 경우 이는 사실이 아닐 수도 있습니다. 프로젝트에 사용되는 JRE 버전을 지원하는 것은 개발 환경에 대한 자연스러운 바람입니다. 버전이 일치하지 않으면 많은 추가 버그가 발생할 확률이 높습니다. 예를 들어 귀하에게는 나타나지만 다른 팀 구성원에게는 나타나지 않습니다. 그러한 상황이 당신의 카르마에 좋은 영향을 미칠 것 같지 않습니다. 솔직히 말하면, IDE가 아직 새 버전의 Java로 업데이트되지 않은 경우 JRE 불일치는 IDE 지원 부족으로 인한 것보다 구성 오류로 인해 발생할 가능성이 더 높습니다. 귀하의 IDE가 프로젝트에 사용되는 프레임워크와 기술을 완벽하게 지원한다면 작업 속도를 높이는 데 정말 도움이 될 것입니다. 어쨌든 당신은 그것을 관리할 가능성이 높습니다. 그러나 IDE가 JPA 문이 JPA 엔터티 및 표현식 클래스(예: IntelliJ)와 어떻게 관련되어 있는지 이해하면 완전히 오해하는 경우보다 JPA 관련 코드에 소요되는 시간이 훨씬 줄어듭니다. 글쎄요, IDE가 프로젝트에 사용되는 테스트 프레임워크와 코드 실행기를 지원한다면 작업 환경을 변경하지 않고도 테스트를 실행할 수 있습니다. 이는 또한 개발 프로세스 속도를 높일 것입니다. 마지막으로 IDE가 프로젝트의 버그 추적 및 티켓 시스템과 호환되면 작업 속도가 빨라집니다. 다시 말하지만 JIRA와 같은 독립 실행형 또는 웹 클라이언트를 사용할 수 있지만 IDE에 직접 남아 있으면서 창을 변경하지 않고도 티켓을 확인하는 것이 훨씬 빠르다는 점에는 동의하기 어렵습니다.

무료인가요, 아니면 유료인가요?

IntelliJ IDEA Ultimate를 테스트한 후, 올바른 개발 환경이 있다는 느낌을 받았습니다. IDE 세계의 일종의 캐딜락입니다. IDEA가 Java를 위한 최고의 IDE라고 분명하게 말할 수는 없지만 저에게는 그렇습니다. 다시 말하지만, 무료는 아니지만 이를 사용함으로써 얻을 수 있는 생산성 향상은 연간 구독의 가치가 있다고 생각합니다. 연간 IntelliJ IDEA Ultimate 구독을 감당할 여유가 없는 초보자의 경우 Eclipse보다는 NetBeans를 사용하는 것이 좋습니다. 물론 오늘날 Eclipse 플러그인의 생태계는 다른 IDE보다 훨씬 더 발전되어 있지만 매우 무성하고 깔끔하지 않습니다. 초보 개발자는 IDE, Java의 정글에 갇히게 될 위험이 있으며 작업에 대한 몰입도가 배경으로 사라질 것입니다. . 또한 "경량" 대안에 대해서도 다루었는데 그 중 두 가지는 교육 목적으로 특별히 개발되었습니다. 글쎄요, 이제 막 언어를 배우기 시작했고 최소한의 환경을 선호한다면 어떨까요?
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION