dev

아이패드에서 인텔리제이 개발을 해보자

Related POST

컴퓨터 없이 개발(부제: 아이패드와 폰으로 개발)

서론

내가 써본 아이패드는
아이패드 1세대, 아이패드 프로 1세대다.
그때마다 제일 고민했던 것은 아이패드에서의 개발이었다.

ssh로 해서 vi로 sh등을 작성하는 것은 그때도 충분히 가능한 일이었다.
특히, 아이패드 1세대때 탈옥을 하고 나면 정말 리눅스 콘솔처럼
사용이 가능했으니까..

그러나 IDE에 대해선 늘 불만이 있었다.
사실상 앱스토의 앱들도 거의 메모장 수준에 git을 지원하는 정도?

물론 젠킨스나 TravisCI등이 있으니
저장후 push만 하면 자동 빌드가 되는 요새 개발 환경에서는
이제 어느정도 커버가 되는 부분이 있는데
늘 아쉬운건 이클립스나 인텔리J같은
통합 IDE 수준을 기대할 수는 없다는 것이다.
요는 생산성의 문제다.

그래서 사실상 원격 데스크탑, 팀뷰어등의 원격 플레이어가 사실상 해결책이었다.

오늘 발견한 프로젝트가 이 모든 것을 해결해준다.

잠깐 자세히 설명을 하자면

  • 핵심은 JetBrains에서 개발하는 projector 프로젝트들이다.
  • 해당 프로젝트는 자바 Swing어플리케이션을 원격 실행 가능하게 하는 것이다.
  • 서버사이드에서는 JetBrains/projector-server 프로젝트가 작동한다.
  • 클라이언트에서는 JetBrains/projector-client 프로젝트가 작동한다
  • 이 클라이언트 프로젝트에 projector-client-web이라는 웹클라이언트가 있어서 웹으로 자바 스윙 어플리케이션을 엑세스 할 수 있다.
  • JetBrains의 IDE는 자바 스윙 기반이기때문에 인텔리J뿐 아니라 CLion, 파이참, DataGrip, goland등 거의 모든 게 가능하다

위를 한방에 때려주는 것이 바로 JetBrains/projector-docker 프로젝트다.
해당 프로젝트의 README를 읽어보면 알겠지만 2019.1~2020.2버전까지 모두 가능하다.

일단 스샷은 해당 프로젝트의 결과물로 브라우저의 인텔리J 얼티메이트 2020.2로 간단한 Junit 테스트를 해본 것이다.

결과만 먼저 말한다면 사람에 따라서 이제 pc수준의 퍼포먼스도 기대할 수 도 있겠다.

장점

  • 서버에 설치 가능 ㅋ
    • gui 하나도 깔리지 않은 리눅스 서버에 docker로 IDE를 띄우는 것이 가능하다.
    • 원격 데스크탑을 쓸데는 기존에 맥이든 리눅스든 윈도우든 GUI가 깔린 컴퓨터여야 했다.
    • 이제는 진짜 서버 하나로 가능해짐
  • 익숙한 툴 사용으로 인한 생산성 증가
    • 확실하며 가장 큰 장점이다.
    • 인텔리 J의 단축키도 바로 된다
    • 특히 아이패드에서 봤을때 원격 데스크탑 어플과 달리 진짜 인텔리J가 돌아갈 정도의 리얼한 화면.
  • 어떤 컴퓨터에서도 바로 개발 가능
    • pc방이든 모르는 사람 pc든 어디서든 바로 접속해서 개발 시작 가능
    • 개발환경 세팅 자체가 무의미 함

뭐 장점을 쓰다보니 원격 데스크탑과 겹치는 부분이 없잖아 있지만
설명이 충분히 되었으리라 생각한다.

단점

  • 안정성
    • 아직 incubator 태그이미지가 붙어있다.. 즉 experment기 때문에 언제어떻게 죽을지 모른다.
    • 이는 나중에 안정화되고 정식화되면 해결될 문제
  • 핸드폰에서 불가능 : 이게 사실 제일 아쉽다.
    • 핸드폰에서의 화면은 ..다음과 같이 나온다
    • 문제는 이 간격 조절을 마우스가 없으면 불가능 하다는 것
    • projector가 Touch&Scroll을 마우스 왼쪽버튼 스크롤로 인식을 해서 전달을 하지 못하는 듯
  • 아이패드 매직 키보드에는 F1~F12가 없다
    • ..이번에 나온 아이패드 에어 4세대 지름을 막는 가장 큰 원인
    • 그러면 아이패드에서도 사실상 인텔리J의 퍼포먼스를 낼 순 없다.
    • 블루투스 키보드를 따로 사야한다는 이야기
  • 관리 및 업그레이드
    • 플러그인 추가 나 restart IDE를 하면 바로 shutdown이 된다.
    • 물론 이는 docker실행 부분에서 손보면 극복이 가능해보인다.

여튼 완전 아이패드 개발로 대체가 안되는게 결론이긴한데
이게 지금 알파도 아닌 실험판이어서 그렇지
알파판만 나와도 많은 단점이 해결될 수 있어 보인다.

그런데 아이패드 매직키보드는 f키들은 어떻게 해야하지;;

공유하기