페이스북은 마이크로소프트가 개발한 소스 코드 편집기인 비주얼 스튜디오 코드(Visual Studio Code)를 자사 기본 개발 환경으로 하겠다고 발표했다. 앞으로 페이스북은 마이크로소프트와 협력해 엔지니어가 대규모 원격 개발을 할 수 있도록 비주얼 스튜디오 코드를 위한 원격 개발용 확장 기능 확충에 노력할 예정이다.
페이스북 엔지니어는 수백만 코드를 작성하지만 지금까지는 기본 개발 환경이 지정되어 있지 않았던 탓에 개발자는 개별적으로 원하는 걸 쓰거나 페이스북이 개발한 통합 개발 환경인 누클라이드(Nuclide)를 쓰는 등 개발 환경은 제각각이었다.
누클라이드는 텍스트 편집기 아톰(Atom) 기반으로 구축한 오픈소스 패키지 세트부터 시작한 것으로 페이스북 사내에서 쓰이는 여러 프로그래밍 언어를 지원하기 위해 개발한 것이다. 2018년에는 오픈소스 버전 누클라이드는 없어졌지만 페이스북 사내에서의 이용은 계속되고 있었다고 한다.
하지만 페이스북은 2018년 후반 누클라이드를 비주얼 스튜디오 코드로 전환할 계획을 밝혔다. 확장 기능을 이용해 누클라이드 일부 기능을 비주얼 스튜디오 코드로 옮겼고 이젠 페이스북 사내에서도 많은 엔지니어가 비주얼 스튜디오 코드를 이용하게 됐다고 한다. 반면 누클라이드 공식 사이트는 오픈소스 버전을 없애겠다는 발표 이후 업데이트가 멈춰져 있다.
페이스북은 자사 기본 개발 환경으로 마이크로소프트의 비주얼 스튜디오 코드를 선택한 이유에 대해 비주얼 스튜디오 코드는 인기 높은 개발 도구로 마이크로소프트 뿐 아니라 오픈소스 커뮤니티에서도 많은 투자와 지원을 받았다고 밝혔다. 또 맥OS와 윈도, 리눅스가 지원되며 페이스북 사내에서 열리는 대규모 개발에 필요한 중요 기능을 구축할 만한 명확하게 정의된 확장 API를 제공한다고 말했다. 이에 따라 비주얼 스튜디오 코드에게 개발 플랫폼의 미래를 안전하게 맡길 수 있다는 것이다.
페이스북은 마이크로소프트와 원격 개발 관련 제휴를 맺고 사내 엔지니어가 더 원활하게 원격 개발을 할 수 있는 환경을 마련하고 있다. 페이스북 엔지니어는 로컬PC에서 비주얼 스튜디오 코드를 설치하지만 실제 개발은 데이터센터 내에 위치한 개발 서버에서 직접 이뤄지고 있다고 한다. 따라서 서버 코드를 원활한 방법으로 액세스할 수 있도록 해 효율성과 생산성을 높이는 걸 목표로 한다고 한다.
페이스북은 비주얼 스튜디오 코드 원격 확장 기능을 이용하면 고급 개발 환경에서도 많은 이득이 있을 것으로 기대하고 있다. 페이스북은 마이크로소프트와 협력해 로컬 PC에서 쓰는 것보다 빠르고 특수 하드웨어 작업도 효율적으로 할 수 있는 기능, 오류 걱정 없이 프로젝트별 특정 종속성에 맞게 조정한 전용 개발 환경 구축, 로컬 자원과 도구 성능에 영향을 안 주고 실행 중인 여러 개발 환경을 빠르게 전환할 수 있는 유연성 실현을 목표로 하고 있다.
또 페이스북은 비주얼 스튜디오 코드를 사내에서 이용할 수 있는 통합 개발 환경을 만들기 위해 지속적으로 노력하고 있다. 다양한 프로그래밍 언어를 이용하는 만큼 이를 지원하는 확장 기능 개발을 진행한 게 대표적인 예다. 그 밖에 페이스북은 소스 관리 인프라로 머큐리얼(Mercurial)을 이용하기 때문에 비주얼 스튜디오 코드에서 소스 제어 작업을 직접 수행할 수 있도록 하는 확장 기능 개발에도 노력을 기울이고 있다. 관련 내용은 이곳에서 확인할 수 있다.