개발자

프로젝트 IDX 리뷰 : 구글 클라우드 기반 프로그램과 호환성 높은 개발환경

Martin Heller | InfoWorld 2024.06.07
2023년 8월, 구글 개발과 UX 부문을 이끄는 소수의 인력이 멀티플랫폼 및 풀스택 앱을 위한 개발 환경 설정의 어려움을 토로하면서 이 문제를 해결하기 위한 실험적 프로토타입을 제안했다. 개발을 위한 기술 스택 설정의 어려움은 새로운 문제가 아니다. 적어도 퍼스널 컴퓨터가 등장하기 시작한 1980년대 초부터 쭉 문제였다.
 
프로젝트 IDX는 코드 OSS(Code OSS)를 기반으로 하며, 코드를 생성, 설명, 번역하고 단위 테스트를 쓸 줄 아는 생성형 AI 모델인 제미나이(Gemini)가 적용된 브라우저 기반 개발 환경이다. 프로젝트 IDX의 목표는 인기 있는 프레임워크와 언어를 사용해서 풀스택 웹 및 멀티플랫폼 애플리케이션을 손쉽게 빌드, 관리, 배포할 수 있게 하는 것이다.
 
ⓒ Google

코드 OSS는 마이크로소프트 비주얼 스튜디오 코드의 완전한 오픈소스 버전이다. 후자는 무료 소프트웨어임에도 몇 가지 독점적인 부가 기능이 있다.
 
프로젝트 IDX는 8월에 발표된 시점에는 대기 목록에 등록해야만 받을 수 있었고 필자의 신청은 12월에야 승인됐는데, 최근 베타 프리뷰로 전환됐다. 여전히 많은 부분이 다듬어지지 않은 프리뷰 버전이고 아직 프로덕션 환경에서 사용하기에는 적합하지 않지만 흥미롭게 설계된 요소나 유용한 부분이 있다. 구글은 계속해서 기능을 추가하는 중이다.
 
프로젝트 IDX와 경쟁하는 제품으로는 AWS 클라우드9(Cloud9), 깃팟(Gitpod), 온라인 IDE(Online IDE), 리플릿(Replit), 스택블리츠(StackBlitz), 이클립스 체(Eclipse Che), 코드애니웨어(Codeanywhere), 깃허브 코드스페이스(GitHub Codespaces) 등이 있다.
 

느낌은 비주얼 스튜디오 코드

아직 미완성인 프로젝트 IDX를 유망하게 보이게 하는 여러 특징이 있다. 우선 비주얼 스튜디오 코드를 사용하는 사람에게 익숙한 환경이다. VS 코드 중에 코드 OSS에 포함되지 않은 부분은 마이크로소프트 자체의 맞춤 구성된 부분인데, 이 맥락에서는 그다지 중요하지 않다.
 
이러한 맞춤 구성 중 일부는 제미나이 기반 IDX AI로 대체된다. IDX AI는 사용자가 코드를 입력하는 중에 코드를 제안한다. 또한 AI 기반 코드 채팅 기능을 통해 코드와 관련된 도움을 요청하고 새 코드를 생성하고 다른 언어로 코드를 변환하고 코드를 설명하고 단위 테스트를 쓸 수 있다. IDX AI는 AI가 생성한 코드를 기반으로 라이선스가 필요할 수 있는 부분을 찾아 알려주기도 하는데, 필자는 관련 팝업 메시지를 아직 직접 본 적은 없다.
 
프로젝트 IDX는 VS 코드와 유사한 만큼 익숙하게 느껴진다. 왼쪽 상단의 “햄버거” 메뉴는 VS 코드의 상단 메뉴 표시줄을 대신하며 대부분의 메뉴 항목을 동일하게 제공한다. 아래에 세로 행으로 배열된 아이콘은 오른쪽에 있는 다음 열의 내용과 연결된다. 현재 보이는 화면에서는 파일 탐색기, 현재 파일의 코드 개요, 현재 파일의 타임라인, 앱의 종속성이 나와 있다. main.dart가 나와 있는 큰 편집 창에는 최대 4개의 탭이 표시된다. 오른쪽 미리보기 창에는 IDX AI 창과 부가적인 코드 파일 탭도 표시할 수 있다. 오른쪽 하단의 넓은 영역에는 코드 문제, 출력, 디버그 콘솔, 터미널이 표시된다. ⓒ IDG
 

클라우드 워크스테이션에서 실행

IDX 코드 OSS 편집기는 클라우드 워크스테이션(Cloud Workstation)이라는 구글 클라우드 VM에서 실행된다. 일반적으로 클라우드 워크스테이션은 시간에 따라 비용이 청구되며 요율은 머신 유형에 따라 시간당 0.16달러에서 9.36달러까지 달라진다. 프로젝트 IDX는 현재 무료다.
 
클라우드 워크스테이션은 널리 사용되는 다양한 IDE와 듀엣(Duet) AI를 지원한다. 프로젝트 IDX는 코드 OSS만 지원하며 듀엣 대신 제미나이를 지원한다. (듀엣 AI와 제미나이의 비교는 흥미로운 주제가 되겠지만 필자는 실제 환경에서 둘의 차이를 구분할 수 없다.) 클라우드 워크스테이션은 일반적으로 사설 네트워크 내부와 스테이징 환경에서 실행할 수 있다. 프로젝트 IDX는 현재 자체 환경으로 제한된다.
 

많은 언어와 프레임워크 지원

프로젝트 IDX에서 내장된 템플릿과 깃허브 가져오기를 사용해 프로젝트를 만들 수 있다. 템플릿은 자바스크립트, 타입스크립트, 다트 언어와 앵귤러, 리액트, 넥스트JS, 뷰, 스벨트, 플러터 프레임워크를 지원한다. 향후 프로젝트 IDX는 파이썬, 고, "AI"도 지원할 예정이다. 원할 경우 닉스(Nix)를 사용해서 작업 공간을 맞춤 구성할 수 있다.
 
이 메뉴에서 생성하거나 가져올 앱의 종류를 처음 선택하게 된다. 각 항목(아래쪽에 있는 "출시 예정" 그룹 제외)을 클릭하면 앱 프레임워크를 지정하고 앱 이름을 설정할 수 있는 화면이 열린다 ⓒ IDG
 
새 웹 앱을 생성하기 위해 들어간 화면에서는 현재 앵귤러, 리액트, Next.js, 뷰, 스벨트 또는 빈 앱까지 6개의 웹 프레임워크 중에서 선택할 수 있다. 빈 앱은 직접 HTML, 자바스크립트/타입스크립트, CSS를 쓸 수 있음을 의미한다. 닉스는 작업 공간을 맞춤 구성하는 데 사용할 수 있는 파일이다 ⓒ IDG
 

깃, 깃허브와 통합

깃허브 가져오기에는 웹, 플러터, "기타"의 세 가지 유형이 있다. "기타"는 현재 명시적으로 나열된 것 이외의 자바스크립트/타입스크립트 프레임워크를 의미하는 것으로 보인다. 명시적으로 지원되는 프레임워크에는 앵귤러, 리액트, Next.js, 뷰, 스벨트가 포함된다.
 
깃허브 프로젝트에 자바스크립트 종속성이 있다면 가져오기가 완료된 후 IDX 터미널 창에서 npm install을 실행할 수 있다. 또한 IDX 내에서 프로젝트를 깃 리포지토리로 변환해 깃허브와 동기화할 수 있다.
 
프로젝트 IDX는 깃, 깃허브와 잘 통합된다. 왼쪽에서 깃 리포지토리를 초기화하고 깃허브에 게시하는 옵션을 볼 수 있다. ⓒ IDG
  
리포지토리를 만들고 깃허브에 인증하면 프로젝트 IDX는 깃허브에 리포지토리를 푸시할 수 있다. 위 화면에서는 앵귤러가 앱에 대해 생성한 깃허브의 일반적인 README.md 파일을 볼 수 있다. ⓒ IDG
 

앱 미리보기, 배포, 공유

프로젝트 IDX는 웹 미리보기 외에, 기반 템플릿이 지원하는 경우 안드로이드 에뮬레이터와 iOS 시뮬레이터에서도 미리보기를 제공한다. 플러터 앱의 경우 세 가지 모두 작동하고 앵귤러 앱에서는 웹 미리보기와 iOS 시뮬레이터만 작동한다. 아이오닉(Ionic) 또는 네이티브스크립트(NativeScript)와 같은 것을 추가하지 않는 한 기본 앵귤러 앱은 네이티브가 아니기 때문이다.
 
작업 공간에서 파이어베이스(Firebase) 호스팅으로 직접 배포할 수 있다. 실험적인 부분이지만 완전한 공유 액세스 권한을 통해 작업 공간을 공유할 수 있다.
 
프로젝트 IDX에는 지원되는 언어와 프레임워크를 위한 확장 기능이 사전 설치돼 제공된다. 오픈VSX에서 제공하는 추가 확장 기능을 지원하는 것으로 되어 있지만, 현 시점에서 3,000개가 넘는 만큼 모두 작동하는지를 확인할 수는 없었다. 
 
현재 프로젝트 IDX의 큰 제약은 동시에 최대 두 개의 프로젝트만 가능하다는 점이다. 프로젝트를 깃허브에 저장하고 IDX에서 번갈아 열면 이 제한을 피해갈 수는 있다.
 
또한 FAQ에 나온 목록 외에도 수많은 버그 리포트가 있다.
 
플러터 앱에는 두 가지 설정 오류가 보고됐다. 위 화면을 보면 필자가 IDX AI의 도움을 받아 두 오류 중 하나를 해결하려고 노력 중인데, 아쉽게도 sudo apt-get을 사용해 크롬을 설치하라는 AI의 조언은 쓸모가 없었다. IDX VM에 현재 sudo나 apt-get이 포함되어 있지 않기 때문이다. 다만 이후 버전에서 포함될 계획일 수도 있으므로 환각 현상이라고 단정할 수는 없다. ⓒ IDG
 

구글 클라우드에 호스팅된다는 장점

프로젝트 IDX에는 기대되는 부분이 많다. 시각적으로 웹용 비주얼 스튜디오 코드(아쉽게도 터미널과 디버거가 없음)와 비슷하다. 깃허브 코드스페이스, 깃팟과 시각적, 기능적으로 모두 비슷하며 이클립스 체와는 기능적으로 유사하다.
 
프로젝트 IDX를 선호할 만한 이유를 꼽자면 구글 클라우드 워크스페이스에 호스팅된다는 점이다. 프로젝트를 구글 클라우드 서비스 또는 구글 클라우드에서 실행되는 다른 프로그램과 통합하려는 경우 큰 장점이다. 반면 기존 코드가 AWS에서 실행된다면 AWS 클라우드9을 사용하는 편이 더 나을 수 있다.
 
프로젝트 IDX를 본격적으로 사용하는 데 대한 필자의 가장 큰 우려는 프로젝트와 서비스를 걸핏하면 없애는 구글의 오랜 관행이다. 구글+, 프리베이스(Freebase), 구글 서치 어플라이언스, 폴리머(Polymer), 구글 도메인을 기억하는가? 모두 한때는 주목받았지만 지금은 사라진지 오래인 서비스다.
 
어쨌든 프로젝트 IDX에는 나름의 매력이 있다. 워크플레이스에서 깃허브 리포지토리를 만들고 최신 상태로 유지하는 한 사용해볼 만한 가치는 있다.

비용 : 무료 베타 프리뷰
플랫폼 : 브라우저 기반, 구글 클라우드에 호스팅
editor@itworld.co.kr 
Sponsored

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

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

Copyright © 2024 International Data Group. All rights reserved.