클라우드 IDE 차기 : AWS Cloud9 vs. Eclipse Che vs. Eclipse Theia

의존성이 많은 프로그래밍 프로젝트에 새로운 개발자를 데려 오는 것은 때때로 악몽 일 수 있습니다. 나는 회사가 마침내 포기하고 이전 컴퓨터를 구성하려고 한 달 동안 문제를 겪은 후 개발자에게 새 컴퓨터를 구입하는 극단적 인 경우를 보았습니다. 일반적으로 새 개발자를위한 새 개발 환경을 설정하는 데는 3 일에서 2 주가 소요될 수 있습니다.

이 문제는 웹 기반 개발자 작업 공간의 동기 중 하나입니다. 또 다른 동기는 로컬 개발을위한 머신이 상당한 CPU 및 RAM 리소스를 필요로하여 하드웨어 비용을 증가 시킨다는 것입니다. 이러한 리소스를 통해 개발자는 프로젝트를 신속하게 구축 할 수 있습니다. 웹 기반 작업 공간에 액세스하기위한 컴퓨터는 로컬 개발 용 컴퓨터보다 저가형 하드웨어를 사용할 수 있습니다.

추가 이점으로 웹 기반 개발자 작업 영역은 구성을 중앙 집중화하고 표준화 할 수 있습니다. 버그 보고서에 대한 응답으로 "내 컴퓨터에서 작동합니다"라는 말을 몇 번이나 들었습니까? 표준화 된 환경은 이러한 문제를 제거 할 수 있습니다.

이 기사에서는 웹 기반 개발자 작업 영역을 제공하는 세 가지 클라우드 IDE에 대해 설명합니다. 이클립스 테이아 (Eclipse Theia)와 이클립스 체 (Eclipse Che)는 현재 이클립스 재단 (Eclipse Foundation)의 후원을 받고있는 상당히 최근의 무료 오픈 소스 프로젝트입니다. 세 번째 인 AWS Cloud9는 현재 Amazon Web Services에서 소유하고 통합 된 구형 제품입니다.

이클립스 테이아

Eclipse Theia는 브라우저에서 Visual Studio Code 개발 환경을 제공하는 오픈 소스 프로젝트입니다. Electron 쉘의 데스크탑에서도 실행할 수 있습니다. Theia는 Visual Studio Code의 언어 서버 프로토콜을 사용하여 언어 별 코드 완성 및 최신 코드 편집기에서 기대하는 기타 기능을 제공합니다.

Visual Studio Code 용으로 작성된 언어 서버를 활용할 수 있기 때문에 Theia는 JavaScript, Java, Python 및 TypeScript를 포함하여 60 개 이상의 사용 가능한 언어 서버에 액세스 할 수 있습니다. Theia는 디버그 어댑터 프로토콜도 지원합니다.

Theia 자체는 TypeScript로 작성되었으며 PhosphorJS를 쉘 및 드래그 가능한 도크 레이아웃의 기초로 사용합니다. 명령 줄 기록을 유지하기 위해 브라우저 다시로드시 다시 연결되는 터미널을 통합합니다. 원하는 경우 Theia에 대한 자신의 확장을 만들 수 있습니다.

Theia를 시도하는 세 가지 주요 방법이 있습니다. 하나는 Docker에서 실행하는 것입니다.

docker run -it -p 3000 : 3000 -v“$ (pwd) : / home / project : cached”theiaide / theia : next

두 번째는 Gitpod에서 실행하는 것입니다 (아래 사이드 바 및 스크린 샷 참조). 세 번째는 Eclipse Che 버전 7 이상을 실행하는 것입니다 (다음 섹션 참조). Che의 이전 버전에서 사용 된 Java UI 대신 Theia를 UI로 사용합니다.

Eclipse Theia 프로젝트에는 TypeFox, Ericsson, Red Hat, IBM, Google 및 ARM의 기여가 포함됩니다. 프로젝트 로드맵에는 VS Code 확장 (언어 서버 외), 테스트 프레임 워크와의 통합 및 기타 개선 사항을 지원하는 플러그인 시스템이 포함됩니다.

TypeFox Gitpod

Gitpod는 작업 공간에서 GitHub 저장소를 열도록 설계된 상용 호스팅 환경 (위의 스크린 샷 참조)입니다. Gitpod IDE는 오픈 소스이며 Eclipse Theia를 기반으로합니다. 현재 무료 베타 테스트 단계에있는 Gitpod는 오픈 소스 프로젝트에 대해 항상 무료로 제공되지만, 결국에는 비공개 저장소를 열고 매월 100 시간 이상 사용하려면 구독이 필요합니다.

Gitpod.io 클라우드는 현재 전 세계 3 개 지역의 Google Cloud 인프라에서 호스팅되는 여러 Kubernetes 클러스터에서 실행됩니다. Gitpod 제품은 비공개 호스팅에도 사용할 수 있습니다.

이클립스 체

Eclipse Che는 팀과 조직을 위해 설계된 오픈 소스 개발자 작업 공간 서버 및 클라우드 IDE입니다. 현재 베타 버전 인 Che 버전 7은 IDE의 기반으로 Eclipse Theia를 사용합니다. 이전 버전의 Che는 GWT 기반 IDE를 사용합니다. Che 작업 영역은 Docker, OpenShift 또는 Kubernetes의 컨테이너에서 실행됩니다.

Che를 퍼블릭 클라우드, 프라이빗 클라우드에서 실행하거나 모든 운영 체제에 설치할 수 있습니다. Che는 Ubuntu, Linux, MacOS 및 Windows에서 테스트되었습니다. //che.openshift.io/에서 호스팅되는 셀프 서비스 작업 공간에서 Che를 실행할 수도 있습니다.이 경우 무료 OpenShift 또는 Red Hat 로그인이 필요하거나 생성해야합니다.

또한 Eclipse Che는 OpenShift 용 새로운 개발 환경 인 Red Hat CodeReady Workspaces의 핵심으로 구성됩니다. Red Hat에서 지원하는 것 외에도 CodeReady Workspaces에는 지원되는 Red Hat 기술로 사전 구축 된 스택이 있으며 Red Hat SSO를 포함하여 개발자 팀 간의 인증 및 보안을 처리합니다.

Eclipse Che 프로젝트에는 CodeEnvy (Che의 원래 개발자), Docker, IBM, Red Hat 및 TypeFox를 포함한 20 개 이상의 회사의 기여가 포함됩니다. Che 로드맵에는 Theia 통합 및 Theia 및 Che 용 플러그인 시스템 완료가 포함됩니다.

AWS Cloud9

2017 년에 Go IDE로 언급 한 Cloud9 IDE는 이제 Amazon Web Services에 속합니다. 브라우저 기반의 다국어 코드 편집기, 여러 언어를위한 디버거, AWS 서비스에 대해 사전 승인 된 터미널 외에도 Cloud9는 이제 협업 코딩을 허용합니다.

관리 형 Amazon EC2 인스턴스 또는 SSH를 지원하는 Linux 서버에서 Cloud9 개발 환경을 실행할 수 있습니다. Cloud9에는 40 개 이상의 프로그래밍 언어에 대한 도구가 포함되어 있지만 5 개만 디버거가 있고 7 개만 Linting이 있으며 12 개가 코드 완성 기능이 있습니다.

EC2에서 Cloud9를 실행하는 경우 기본적으로 30 분 후에 Cloud9를 닫은 후 EC2 인스턴스가 자동으로 중지되고 코드가 Amazon EBS 스토리지에 유지됩니다. 자체 Linux 서버에서 Cloud9을 실행하면 코드가 로컬 저장소에 유지됩니다. 기본 인스턴스가 중지 된 후 Cloud9를 다시 시작하면 Cloud9는 자동으로 인스턴스를 다시 시작하고 중단 한 부분에서 편집 세션을 복원합니다.

저장소 또는 로컬 파일에서 Cloud9 인스턴스를 쉽게 채울 수 있습니다. 아래 스크린 샷에서 Cloud9 명령 줄의 Git을 사용하여 Keras 용 GitHub 저장소를 확인했습니다. 커밋 권한이있는 저장소를 기반으로 프로젝트를 편집하는 경우 명령 줄에서 필요에 따라 저장소를 업데이트하고 변경 사항을 가져올 수 있습니다. Cloud9에는 버전 제어에 대한 그래픽 지원이 없습니다.

아래 스크린 샷 오른쪽의 개요보기는 파일 내 전체 탐색에 적합합니다. 왼쪽 상단에 표시된 이동 메뉴는보다 일반적인 탐색에 적합합니다. 간단한 코드 재 포맷이 있지만 Cloud9에는 리팩토링 기능이 없습니다.

AWS Cloud9는 Amazon Lightsail, AWS CodeStar, AWS Lambda 함수 및 AWS CodePipeline과 통합됩니다. Lambda 통합이 특히 좋은 것 같습니다.

어떤 클라우드 IDE?

Eclipse Theia, Eclipse Che 및 AWS Cloud9을 사용하면 브라우저에서 여러 프로그래밍 언어로 코드를 편집하고 디버깅 할 수 있습니다. 레이아웃과 기능에는 차이가 있지만 리팩토링과 같은 상당히 고급 작업을 수행하려는 경우가 아니면 문제가되지 않습니다.

Cloud9는 AWS 프로젝트에서 작업하는 경우 특히 좋은 선택이고 Che는 Red Hat 시스템 용 코드에서 작업하는 경우 특히 좋은 선택 (CodeReady)입니다. Theia는 세 가지 중에서 가장 멋진 편집 환경을 제공하지만 Che 7이 베타 버전에서 나오면 Theia IDE도 갖게 될 것입니다.