Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
개발자

젯브레인스 플릿 리뷰 | VS 코드 위협하는 차세대 다중 언어 IDE

Martin Heller | InfoWorld 2022.06.27
젯브레인스 플릿(JetBrains Fleet)은 통합 개발 환경(IDE) 전체를 새롭게 재구축하고자 하는 젯브레인스가 내놓은 새로운 다중 언어 프로그래밍 편집기 및 IDE다. 젯브레인스는 인텔리J 아이디어(IntelliJ IDEA)와 같이 코드를 중심으로 하는 IDE의 기능과 통합을 바꾸지 않으면서 기존 IDE의 사용자 인터페이스와 사용자 경험을 손보는 작업도 하고 있지만 플릿은 그것과는 별개다. 플릿은 젯브레인스의 기존 IDE를 대체하지 않는다.

젯브레인스는 20년에 걸친 IDE 개발 경험을 기반으로 “처음부터 새롭게” 플릿을 개발했으며 “분산 IDE 아키텍처와 재창조된 UI”를 갖췄다고 설명했다. 플릿은 자바에는 인텔리J 코드 처리 엔진을 사용하고, 다른 언어에는 인텔리J 엔진 대신 언어 서버를 사용한다. 비주얼 스튜디오 코드와 비슷한 방식이다.

필자는 전에 플릿이 편집기이자 IDE라고 평가한 적이 있다. 처음 시작하면 가벼운 코드 편집기다. 코드 디렉터리를 로드하면 “스마트(smart)” 모드가 켜져 코드를 인덱싱하고 프로젝트 및 컨텍스트 인식 코드 완성, 정의 및 사용 탐색, 즉석 코드 품질 검사, 빠른 수정과 같은 IDE 기능을 활성화한다. 대규모 프로젝트를 인덱싱하는 데는 다소 시간이 걸릴 수 있다.

많은 측면에서 플릿의 가장 직접적인 경쟁 상대는 언어 서버 아키텍처와 방대한 플러그인 생태계를 보유한 비주얼 스튜디오 코드다. 플릿은 언어 서버 아키텍처는 이미 갖추고 있지만 플러그인 아키텍처는 아직 개발 중이다.
 

플릿 아키텍처

플릿은 독립 인스턴스를 위한 사용 편의성을 목표로 하는 분산 아키텍처를 사용하면서 공동 개발, 원격/클라우드 IDE, 복수 타깃 파일 시스템도 지원한다. <그림 1>에서 볼 수 있듯이 플릿 아키텍처에는 다음과 같은 요소가 포함된다.
 
  • 프론트 엔드 : UI를 제공하고 파일을 파싱하고 지원되는 파일 형식에 대해 제한적인 하이라이트 기능을 제공한다. 워크스페이스 하나에 둘 이상의 프론트 엔드를 연결해 공동 개발을 할 수 있다.
  • 워크스페이스 : 프론트 엔드가 여러 개일 때 프론트 엔드의 공유된 상태를 유지하는 것을 주목적으로 하는 구성요소다. 또한 사용할 수 있는 서비스와 API에 대한 정보를 제공하기 위해 다른 구성요소를 등록한다.
  • 백엔드 : 인덱싱, 정적 분석, 고급 검색, 탐색 등 무거운 작업을 처리하는 헤드리스 서비스다. 이와 같은 모든 작업은 워크스페이스의 요청에 따라 시작되어 응답을 처리하고 필요한 구성요소로 데이터를 보낸다. 헤드리스 인텔리J 아이디어 또는 언어 서버를 백엔드로 사용할 수 있다. 백엔드의 요구사항은 다양할 수 있다. 예를 들어 다이어그램에서는 언어 서버가 소스 코드가 위치한 시스템과 동일한 시스템에서 실행되어야 한다는 요구사항을 볼 수 있다.
  • FSD(Fleet System Daemon) : 일반적으로 소스 코드와 SDK가 위치한 시스템에 연결되는 플릿 에이전트다. 프로젝트를 빌드하고 코드를 실행하고 터미널 명령을 실행하거나 플릿을 대신해 타깃 환경에서 기타 작업을 수행하는 데 사용된다.


플릿은 주로 코틀린(Kotlin)으로 만들어졌으므로 JVM에서 실행된다. UI 프레임워크는 스키아(Skia)를 사용한다. 즉 스키코(Skiko)를 통해 내부적으로 개발한 솔루션이다. 플릿 시스템 데몬에는 러스트를 사용한다.
 

다이어그램은 플릿의 아키텍처를 보여준다. 여러 프론트 엔드는 사용자에 해당하며, 여러 백엔드가 다양한 기능을 수행한다. FSD는 플릿 시스템 데몬으로, 프로젝트를 빌드하고 코드를 실행하고 터미널 명령을 실행하는 데 사용하는 에이전트다. IJ는 인텔리J 엔진이고 LSP는 언어 서버 프로토콜 인스턴스다.

 

INSIDER 전용 콘텐츠입니다. 이 기사를 더 읽으시려면 INSIDER 등록 이 필요합니다. 이미 등록하신 분은 '본인확인' 을 해주십시오.

 Tags 젯브레인플릿 JetBrainsFleet IDE
Sponsored

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.