NetBeans를 사용해야 하는 12 + α 가지 이유.


java 공부를 시작하면서 처음에 접한 java용 소프트웨어였던 NetBeans에 관한 내용의 글입니다.

NetBeans를 사용해야 하는 12가지 이유에 대해 얘기하고 있습니다.
읽어 보시면 NetBeans를 이해하는데 도움이 될꺼라 생각합니다.

한번쯤은 읽어 보세요. ^^

 :: NetBeans를 사용해야 하는 12가지 이유
 

지난 5월 샌프란시스코에서 열린 2006 JavaOne 컨퍼런스 중 5월 17일자 세션 TS-1387, "Twelve Reasons to Use NetBeans Software(NetBeans 소프트웨어를 사용해야 하는 12가지 이유): 에피소드 2"에서, 썬의 NetBeans 에반젤리스트(Evangelist) Tim Boudreau, 자바 기술 에반젤리스트 Inyoung Cho, 그리고 테크놀로지스트(Tehnologist) Charles Ditzel은 NetBeans IDE가 개발자에게 제공하는 새로운 이점을 독자들에게 이해시키는 동시에 NetBeans의 미래에 대한 방향 감각을 제시하는 데 중점을 둔 바 있습니다. Charles Ditzel은 세션의 목적을 이렇게 요약했습니다. "우리는 NetBeans의 이점들과 성장 과정, 그리고 지난해에 폭발적인 호응을 얻게 된 이유에 대해 설명하고자 합니다."
이번 문서에서는 JavaOne 컨퍼런스에서 발표된 내용을 바탕으로 NetBeans를 사용해야 하는 이유에 대해 살펴보도록 하겠습니다. 세션 발표자료는
2006 자바원 요약 및 후기 사이트에서 다운로드 받으실 수 있습니다.

NetBeans IDE(NetBeans.org)는 지난해에만 총 다운로드 수가 33% 증가하는 등, NetBeans가 소스를 개방한 2000년 6월 이래로 천만 건이 넘는 다운로드를 기록하고 있습니다. 또한 NetBeans는 7만이 넘는 메일리스트 가입자를 보유하고 있을 뿐 아니라 적극적으로 활동을 전개하는 커뮤니티를 탄생시키기도 했습니다. 한편, NetBeans는 모든 자바 플랫폼 상에서 풀 기능을 갖춘 Java IDE로 실행됩니다.

"NetBeans는 플러그인으로 구성되어 있으면서 out-of-the-box 기능 또한 매우 뛰어납니다." Boudreau는 이렇게 얘기합니다. "NB는 플러그인을 추가할 필요 없이 다양한 종류의 개발을 수행하는 데 필요한 툴을 제공합니다. 끝으로, NetBeans는 일종의 플랫폼이므로 NetBeans를 IDE화하는 모든 플러그인을 제거하면 개발자가 자체 로직을 배치하여 애플리케이션의 개발 기간을 크게 단축시킬 수 있도록 하는 순수한 자바 애플리케이션 플랫폼을 구현할 수 있습니다.”

NetBeans는 다양한 썬 개발자 툴의 기초를 형성하고 있습니다. 썬은 최근의 썬 자바 스튜디오 엔터프라이즈(Sun Java Studio Enterprise)에 이어서 썬 자바 스튜디오 크리에이터(Sun Java™ Studio Creator)를 오픈소스로 전환 중에 있으며, 이 두 가지는 모두 플러그인으로서 NetBeans에 포함되고 있습니다.


NetBeans를 사용해야 하는 12 + α 가지 이유

Ditzel은 NetBeans를 사용해야 하는 이유를 12가지로 제한하는 것이 사실상 불가능했다고 털어놓으면서 다음과 말합니다. "다시 볼 때마다 NetBeans는 뭔가 새롭고 흥미로운 것들을 제공하더군요.” 이 커뮤니티에는 엄청난 양의 에너지가 유입되고 있어요!”

자, 이제 이유들을 간추려볼까요?

  1. Out of the Box 기능
    NetBeans는 빠르고 광범위할 뿐 아니라, 일종의 IDE인 동시에 플랫폼이기도 합니다. NetBeans는 엔터프라이즈에서 모빌리티에 이르기까지, 그리고 Jini와 JXTA 기술 등 자바 플랫폼의 모든 특성을 지원합니다. NetBeans는 최신 버전으로, 개발자들은 6.0으로 작업할 수 있습니다. 또한 NetBeans는 VM을 검사하고 아주 세부적인 레벨에서 벌어지는 상황까지 파악해낼 수 있는 프로파일러와 디버거를 제공하는 동시에 Ant, Eclipse, JBuilder를 위한 각종 임포트 기능이 완비되어 있습니다.

  2. NetBeans는 플러그인 에코시스템입니다
    NetBeans 플러그인 에코시스템은 NetBeans IDE 5.0/5.5와 더불어 신속하게 확장되어 플러그인의 생성을 더욱 더 쉽게 만들어주며, 개발자는 모듈 매니저를 통해 플러그인을 관리할 수 있습니다. 또한 업데이트 센터는 최종 사용자 플러그인 다운로드를 보다 쉽고 투명하게 만들어줍니다. 이메일과 웹사이트를 통해 배포되는 플러그인의 수가 점점 더 증가하고 있는 현 상황에서, Boudreau는 다음과 같이 얘기합니다. "최근에 대성공을 거둔 대표적인 플러그인의 예로 여러 영역에 걸쳐 엄청난 규모의 플러그인을 보유하고 있는 nbextras.org를 들 수 있습니다."

    현재 NetBeans 플러그인 프로젝트는 C#을 VB.NET과 더불어 자바 소프트웨어로 전환하고 있는데, 이 플러그인은 코드를 선택하고 변환 프로그램을 통해 .NET에서 자바 언어로 변환할 수 있게 해줍니다.

  3. 개발자 협업
    지리적으로 분산된 그룹에서 코드 작업을 수행하는 사람이라면 누구라도 walk-throughs와 코드 검사(code inspection)의 어려움을 잘 알고 있을 것입니다. NetBeans는 협업 환경을 위해 code-aware 메시징을 갖춘 업데이트 센터의 플러그인을 제공합니다. 따라서 사용자는 각자의 그룹에 속한 타인에게 코드를 디스플레이하고 실행할 수 있고, 개발자는 share.java.net에서 무료 서버에 액세스하여 코드를 살펴보거나 자체적으로 협업 서버를 이용할 수 있습니다.

  4. NetBeans Enterprise Pack 5.5와 Java EE 5 지원
    Java EE(Java Platform, Enterprise Edition) 5.0 지원에는 웹 모듈과 EJB(Enterprise JavaBeans) 3.0이 포함됩니다.

    웹 EJB의 자바 퍼시스턴스와 독립형 애플리케이션이 지원됩니다. 이 기능은 번들로 포함된 Sun Java System Application Server 9 Beta에 배치되며, 기존 데이터베이스 스트럭처의 엔티티 클래스와 데이터베이스 테이블을 생성함으로써 hand-written 엔티티 클래스를 형성하게 합니다. 엔티티 마법사는 엔티티 클래스를 토대로 풀 JSF 애플리케이션이나 애플리케이션 단편을 생성합니다. 이 외에도 모든 Java EE API와 관련하여 코드 완성(code completion) 및 문서화(documentation) 기능이 지원됩니다.

    Cho는 몇 가지 문제점에 초점을 맞추어 SOA 툴과 NetBeans Enterprise Pack의 중요성을 강조하고 있습니다. “첫 번째는 XML 스키마 툴인데, 웹 서비스 컴포넌트 애플리케이션을 이용하여 SOA 애플리케이션을 작성할 경우 라이브 XML 스키마가 매우 커질 수 있습니다. 이럴 때는 스키마 요소와 툴 간의 관계를 가상화할 필요가 있죠. 그렇다면 애플리케이션에 포함시키는 웹 서비스들은 어떻게 조정이 가능할까요? 한 가지 방법은 웹 서비스의 조정 방법을 지정하는 BPEL(Business Process Execution Language)을 이용하는 것으로, 사용자는 웹 서비스 조정을 저작, 구축, 배치, 테스트할 수 있습니다. BPEL 엔진은 SJS Application Server 9에 통합되어 있습니다."

  5. Jackpot
    Jackpot은 NetBeans 6에 모듈로 포함되어 있고, 개발자들은 Jackpot 프로젝트에 관해 알아보고 참여할 수 있습니다. Jackpot은 자바 소스 코드를 검색하여 패턴을 정확하게 변환하고, 최소한의 변경 사항을 다시 소스에 작성합니다. 또한 Jackpot은 변환과 규칙을 사용하여 자바 소스 코드를 안전하게 수정해주며, javac에 의존하여 자바 소스 코드의 풍부한 의미론적 모델을 제공하고 변경된 내용을 검증합니다. 이 외에도 Jackpot은 커스텀 규칙 세트, 감사 오퍼레이터, 변환 클래스 등을 통해 확장이 가능합니다.

    Jackpot의 용도는 다음과 같이 다양합니다.
    • 안티 패턴(가령 lint) 탐지를 위한 소스 감사(auditing) 툴
    • "소프트웨어 고고학(Software Archeology)"
    • 리팩토링
    • 리엔지니어링
    • 애플리케이션을 최신 API 및 기술로 마이그레이트

  6. 모바일 팩
    NetBeans는 Java ME MIDP 애플리케이션 작성, 테스트 및 디버깅 작업을 수행하는 사용자에게 특히 유용하며, NetBeans의 비주얼 MID는 디자이너가 화면 흐름(screen flow) 디자인을 통해 드래그 앤 드롭 기능을 사용하는 GUI를 구축할 수 있도록 해줍니다. NetBeans는 또한 MIDlet 템플릿, 테스트, 디버깅 기능을 지원할 뿐 아니라 디바이스 리소스를 손쉽게 구성할 수 있게 합니다. 사용자는 어떠한 제3자 에뮬레이터라도 드롭 인할 수 있으며, 디바이스 단편화의 문제점을 해결할 수 있습니다. 이 외에도 사용자는 무선 연결 마법사를 이용하여 Java ME 클라이언트/서버 애플리케이션을 신속하게 작성할 수 있습니다. NetBeans는 Java ME 클라이언트와 J2EE 애플리케이션 작성을 위한 마법사 기능을 비롯하여 간편한 국제화 기능을 지원합니다.

  7. NetBeans를 위한 방대한 교육 리소스
    "내가 얘기를 꺼낼 때마다 교사들은 어김없이 연구생에게 도움이 되는 훌륭한 NetBeans 리소스를 알려주곤 합니다"라고 Cho는 설명합니다. 리소스에는 다음과 같은 항목이 포함됩니다.
    • JEDI
    • BlueJ 팀은 현재 NetBeans 팀과 협력하여 새로운 버전의 NetBeans인 NetBeans IDE/BlueJ Edition을 개발 중에 있습니다.
    • NetBeans
    • Java Passion
    • JavaOne 2006 Hands-On Labs

    다음 링크를 살펴보세요.
    NetBeans 사이트
    Flash Demos

  8. NetBeans 프로파일러
    NetBeans 프로파일러는 동적 바이트코드 인스트루멘테이션(dynamic bytecode instrumentation)을 통한 고속 저 오버헤드 프로파일 기능을 제공하며, 실행중인 애플리케이션에 첨부되어 Heap 사이즈, GC 통계, 스레드 카운트, 스레드 상태 등에 대한 애플리케이션의 런타임 작동 상태를 모니터할 수 있습니다. NetBeans 프로파일러는 또한 메소드 당 CPU 타이밍, 호출 트리, HTTP 모니터링, 라이브 데이터 및 수집 데이터, 커스텀 필터 등의 성능을 분석할 뿐 아니라 오브젝트 생성 모니터링과 메모리 누출 탐지를 위한 기능을 제공합니다. 이 외에도 NetBeans 프로파일러는 Visual GC 플러그인과 JConsole 통합 기능을 비롯하여 MBean 템플릿을 포함하고 있습니다.

  9. RCP(Rich Client Platform) 기술
    NetBean의 리치 클라이언트 플랫폼은 개발 시간을 크게 단축시켜 줍니다.

    RCP는 다음과 같은 사항을 처리함으로써 개발 작업 능률을 높여줍니다.
    • 사용자 인터페이스 관리 – 액션, 메뉴, 툴바 등
    • 설정, UI, 스토리지
    • 데이터 프레젠테이션, 에디터, 마법사
    • 구성
    • 스토리지 관리

  10. Matisse GUI 빌더
    100% 자바 플랫폼 GUI 빌더인 Matisse는 마치 종이에 그림을 그리는 것처럼 사용이 간편하며, 손쉬운 국제화(internationalization) 기능과 직관적인 드래그 앤 드롭 GUI 빌더를 제공합니다. Matisse는 플랫폼 별로 UI 디자인 지침이 제공되는 크기 조정 가능 양식을 비롯하여 크로스 플랫폼 레이아웃을 지원합니다. Matisse는 또한 확장식 컴포넌트 팔레트, 기본으로 제공되는 JFC(Java Foundation Classes) Swing, API 컴포넌트 등을 구비하고 있으며, SwingX API 및 라이브러리, JAR, 프로젝트 등의 임포트 컴포넌트와 더불어 확장이 가능합니다.

    현재 차세대형 Matisse 개발이 진행 중에 있습니다.

  11. Java BluePrints에 대한 재조명
    "Java BluePrints는 Java EE와 웹 애플리케이션 작업을 위한 선진 기법을 제시합니다."라고 Boudreau는 말합니다. Java BluePrints Catalog Projects는 java.net에서 임포트할 수 있으며, 현실 세계 문제에 대한 아키텍처와 솔루션, AJAX(Asynchronous JavaScript and XML), 그리고 JavaServer Faces 기술을 이용한 웹 티어를 제공합니다. Java BluePrints는 또한 웹 서비스를 통한 서비스 지향 아키텍처에 사용이 가능하며 EJB 스펙, MDB기반의 비즈니스 티어를 보유하고 있습니다.

  12. 플러그인을 통한 애플리케이션 서버 지원
    NetBeans는 GlassFish 및 Sun Java System Application Server와 긴밀하게 통합되어 있을 뿐 아니라 JBoss, BEA WebLogic 9, IBM WebSphere 6 등을 사용하는 개발자도 NetBeans를 함께 사용할 수 있습니다.

  13. 에디터 강화
    에디터 기능이 한층 보강되었으며, 주요 기능은 다음과 같습니다.
    • 코드 완성
    • 에디터 힌트
    • 네비게이션
    • 소스 툴
    • Eclipse, Emacs 및 NetBeans keybindings

  14. C 및 C
    NetBeans는 C와 C 컴파일을 지원합니다. Sun Studio C/C/Fortran은 NetBeans 자체에서 C/C에 대한 지원이 새로 추가된 NetBeans 상에 구축되므로 이제 C/C 개발자들도 NetBeans를 개발에 사용할 수 있으며, 여기에는 구문 강조, 들여쓰기, 코드 완성, 코드 폴딩, 클래스 뷰어 등의 기능이 포함됩니다.

  15. 탁월한 소유 비용 절감 효과
    NetBeans는 광범위한 out-of-box 기능과 번들 형식으로 포함된 애플리케이션 서버, 수많은 기업 설계 툴, 개발자 협업 툴, 고급 프로파일을 비롯하여 다른 다양한 옵션들을 제공합니다. 저희 측 프리젠터들 얘기로는 향후에도 더 많은 유용한 기능들이 지원될 예정이라고 합니다.



다음 링크를 활용하시기 바랍니다.

NetBeans IDE 다운로드

튜토리얼, 안내서, 기사 내용

포럼 참여메일리스트 가입

NetBeans IDE로의 임포팅과 마이그레이션

플러그인 모듈 카탈로그

NetBeans 커뮤니티 프로젝트 참여


참조 페이지



참조 : http://tong.nate.com/lhs0806/25606604