KDevelop
1. 개요
KDevelop는 1998년 산디 마이어가 개발을 시작한 자유-오픈 소스 통합 개발 환경(IDE)이다. C, C++, Python, PHP, Java 등 다양한 프로그래밍 언어를 지원하며, 코드 완성, 구문 강조, 프로젝트 관리, 디버깅 등의 기능을 제공한다. KDevelop는 여러 버전으로 발전해 왔으며, 5.x 버전부터 Qt5와 KDE Frameworks 5를 기반으로 한다. KDevelop는 플러그인 기반 아키텍처를 채택하여 기능을 확장할 수 있으며, 다양한 빌드 시스템과 버전 관리 시스템을 지원한다.
-
자바 개발 도구 -
GNU 컴파일러 모음
GNU 컴파일러 모음(GCC)은 리처드 스톨먼이 1987년 처음 출시한 자유 소프트웨어 컴파일러 시스템으로, C, C++, Fortran, Ada, Go 등 다양한 프로그래밍 언어를 지원하며 여러 명령어 집합 아키텍처와 플랫폼에서 널리 사용된다. -
자바 개발 도구 -
J 샤프
J#은 마이크로소프트에서 개발한 .NET Framework 기반의 프로그래밍 언어로, 자바와 유사한 문법을 가지며 기존 자바 코드의 .NET 플랫폼 이전 및 .NET 언어와의 상호 운용성을 지원했으나 현재는 개발이 중단되었다. -
통합 개발 환경 -
터보 파스칼
-
통합 개발 환경 -
IntelliJ IDEA
IntelliJ IDEA는 JetBrains에서 개발한 자바 통합 개발 환경(IDE)으로, 코드 탐색 및 리팩토링 기능으로 주목받았으며, 다양한 개발 환경의 기반이 되었고, Java, Scala, Kotlin 등을 지원한다. -
1999년 소프트웨어 -
냅스터
냅스터는 1999년부터 2001년까지 운영된 P2P 파일 공유 서비스로, MP3 파일 공유를 용이하게 하여 음악 산업에 큰 영향을 주었으며 저작권 침해 소송으로 서비스가 중단되었으나 현재는 음악 스트리밍 서비스로 운영되고 있다. -
1999년 소프트웨어 -
윈도우 라이브 메신저
윈도우 라이브 메신저는 마이크로소프트가 개발한 인스턴트 메시징 클라이언트로, 2005년 MSN 메신저에서 브랜드 변경 후 출시되어 오프라인 메시징, 테마 변경 등의 기능을 제공하고 여러 플랫폼을 지원했으나 2013년 서비스가 종료되었으며 현재는 일부 기능만 이용 가능하다.
2.1. 초기 개발 (1998년 ~ 2008년)
KDevelop는 산디 마이어가 처음 개발했다. 1998년 산디 마이어는 KDevelop를 시작하여 8주 동안 이 프로젝트를 혼자 진행했다. 이후 KDevelop 통합 개발 환경(IDE)은 GPL 라이선스 하에 공개되었으며, 많은 프로그래밍 언어를 지원한다. 랄프 놀든 또한 프로젝트의 초기 개발자로 알려져 있다. KDevelop 0.1 버전은 1998년에 출시되었으며, 1.0 버전은 1999년 말에 출시되었다. 1.x 및 2.x 버전은 초기 코드베이스에서 4년 동안 개발되었다.
베른트 게르만은 재작성을 시작하여 2001년 3월에 KDevelop 3.x 버전을 발표했다. 2004년 2월, KDE 3.2와 함께 출시되었다. KDevelop 3.x 버전 개발은 2008년까지 계속되었다.
2.2. KDevelop 4.x (2010년 ~ 2016년)
2005년 8월부터 더 객체 지향적인 프로그래밍 모델을 갖춘 KDevelop 4.x 버전의 개발이 시작되어, 2010년 5월에 KDevelop 4.0.0 버전이 출시되었다. 이 버전의 마지막 기능 업데이트는 2014년 9월에 출시된 4.7.0 버전이며, 2016년 12월 KDevelop 4.7.4 버전까지 버그 수정 릴리스가 계속되었다.
2.3. KDevelop 5.x (2016년 ~ 현재)
KDevelop 5 버전의 개발은 2014년 8월에 시작되어, 4.x 코드베이스를 기반으로 Qt5와 KDE 프레임워크 5로 이식되었다. 이전 버전에서 사용되었던 사용자 지정 C++ 파서(C++11 구문에 대한 지원이 부족했음)는 새로운 Clang 기반 백엔드로 대체되었다. 통합된 CMakeFile 인터프리터 또한 업스트림 CMake 도구에서 생성된 JSON 메타데이터를 선호하여 제거되었다.
새로운 QMake 프로젝트 관리자 백엔드와 함께 Qt Creator의 파서를 사용하여 QML 및 JavaScript에 대한 의미 체계 언어 지원이 추가되었다.
첫 번째 안정적인 5.x 버전은 2016년 8월에 출시된 KDevelop 5.0.0 버전이었다. 2016년 10월, 공식 Microsoft Windows 빌드가 처음으로 출시되었다.
3. 기능
KDevelop는 KPart 기술을 통해 내장된 텍스트 편집기 컴포넌트를 이용한다. 기본 편집기는 Kate이지만, Qt Designer 기반 편집기로 대체하는 설정도 가능하다. KDevelop는 다음과 같은 다양한 기능을 제공한다.
* 코드 편집 기능: 소스 코드 편집기로서 키워드 하이라이트 표시와 자동 들여쓰기가 가능하다 (Kate).
* 프로젝트 관리: Automake, Qt 기반의 qmake, Java 기반 프로젝트를 위한 Apache Ant 등 각종 프로젝트 관리를 지원한다.
* 개발 편의 기능: 클래스 브라우저, GUI 디자이너, GNU 컴파일러 모음 및 GNU 디버거를 위한 프런트엔드를 탑재하고 있다.
* 생성 기능: 클래스 정의 및 애플리케이션 프레임워크의 생성, 업데이트를 위한 위자드를 제공한다.
* 코드 자동 완성: C 언어/C++ 자동 입력 완성 기능을 제공한다.
* 기타: Doxygen을 기본적으로 지원하고, CVS, Subversion, Perforce, ClearCase 등 버전 관리 시스템을 지원한다.
KDevelop 3는 완전한 플러그인 기반 아키텍처로, 개발자는 플러그인을 컴파일하여 KDevelop의 기능을 쉽게 변경할 수 있다. KDevelop 자체에는 텍스트 편집기가 포함되어 있지 않지만, 플러그인을 통해 편집기를 사용할 수 있다. KDevelop는 프로그래밍 언어와 시스템에 독립적이며, KDE, GNOME, Qt, GTK, wxWidgets 등 다양한 환경을 지원한다.
KDevelop는 C 언어, C++, Perl, Python, PHP, Java, Fortran, Ruby, Ada, Pascal, SQL 등 다양한 프로그래밍 언어와 Bash 스크립트 작성을 지원한다. 또한, GNU (automake), cmake, qmake 등 다양한 빌드 시스템을 지원한다.
C 언어와 C++의 경우, 입력 완성 기능을 사용할 수 있으며, 심볼은 Berkeley DB 파일에 보관되어 재구문 분석 없이 빠르게 검색할 수 있다. KDevelop는 다른 프로그래밍 언어를 위한 새로운 구문 분석기를 만드는 프레임워크도 제공한다.
통합된 디버거를 통해 중단점 설정, 백트레이스 확인 등 디버깅을 그래픽으로 수행할 수 있다. 이는 명령줄의 gdb와 달리 플러그인으로 동적으로 로드하여 이용할 수 있다는 장점이 있다.
Quick Open 기능을 통해 파일 간 빠른 이동이 가능하다.
KDevelop는 50~100개의 플러그인을 제공하며, 주요 플러그인은 다음과 같다.
* 영구적인 프로젝트 전체 코드 북마크
* 텍스트 입력을 빠르게 하는 Code abbreviations
* 스타일 가이드에 따라 코드를 정형화하는 Source formatter
* 정규 표현식 검색
* 프로젝트 전체 검색/대체 (리팩토링에 유용)
3.1. 주요 기능
KDevelop는 KParts 프레임워크를 통해 내장된 텍스트 편집기 컴포넌트를 사용하며, 기본 편집기는 KDE 고급 텍스트 편집기이다. 주요 기능은 다음과 같다.
* 소스 코드 편집기는 구문 강조 및 자동 들여쓰기를 지원한다.
* C/C++ 언어는 Clang 백엔드를 통해 지원된다 (KDevelop 5.0부터).
* Automake, CMake, Qt 기반 프로젝트용 qmake, Java 기반 프로젝트용 Ant 등 다양한 프로젝트 유형에 대한 프로젝트 관리를 지원한다.
* 클래스 브라우저를 제공한다.
* GUI 디자이너가 탑재되어 있다.
* GNU 컴파일러 모음 및 GNU 디버거를 위한 프런트엔드를 제공한다.
* 클래스 정의 및 응용 프로그램 소프트웨어 프레임워크 생성 및 업데이트를 위한 마법사를 제공한다.
* 자동 코드 완성 (C/C++)을 지원한다.
* Doxygen을 기본적으로 지원한다.
* CVS, Subversion, Perforce, ClearCase, Git, Mercurial 및 Bazaar 등 리비전 관리 (SCM)를 지원한다.
3.2. 플러그인 기반 아키텍처
KDevelop 4는 완전한 플러그인 기반 아키텍처이다. 개발자가 변경할 때, 플러그인을 컴파일하기만 하면 된다. 여러 프로파일을 유지할 수 있으며, 각 프로파일은 로드할 플러그인을 결정한다. KDevelop에는 텍스트 편집기가 포함되어 있지 않지만, 이 목적을 위해 플러그인을 사용한다. KDevelop는 프로그래밍 언어 및 빌드 시스템에 독립적이며, KDE, GNOME 및 Qt, GTK+, wxWidgets와 같은 많은 다른 기술을 지원한다.
3.3. 지원 언어 및 빌드 시스템
KDevelop는 C, C++, Python, PHP, Java, Fortran, Ruby, Ada, Pascal, SQL, Bash 스크립팅을 포함한 다양한 프로그래밍 언어를 지원한다. 지원되는 빌드 시스템에는 GNU (automake), cmake, qmake, 그리고 맞춤형 프로젝트용 make가 있다. (KDevelop는 사용자의 Makefile을 훼손하지 않는다.) 또한 스크립팅 프로젝트도 지원된다.
코드 완성 기능은 C 및 C++에서 사용할 수 있다. 기호는 다시 파싱할 필요 없이 빠른 조회를 위해 Berkeley DB 파일에 보관된다. KDevelop는 다른 프로그래밍 언어를 위한 새로운 파서를 작성하는 데 도움이 되는 개발자 프레임워크도 제공한다.
3.4. 디버깅 및 기타 기능
통합된 디버거를 통해 중단점 설정, 백트레이스 확인 등 모든 디버깅을 그래픽 방식으로 수행할 수 있다. 이는 명령줄 GDB와 달리 동적으로 로드된 플러그인에서도 작동한다.
빠른 열기(Quick Open) 기능을 통해 파일 간 빠른 탐색을 지원한다.
KDevelop는 다양한 플러그인을 제공한다. 주요 플러그인은 다음과 같다:
* 영구적인 프로젝트 전체 코드 북마크
* 텍스트를 빠르게 확장할 수 있는 코드 약어
* 저장하기 전에 코드를 스타일 가이드에 맞춰 다시 포맷하는 소스 포맷터
* 정규 표현식 검색
* 코드 리팩토링에 도움이 되는 프로젝트 전체 검색/바꾸기