크로스플랫폼

내위키
Dennis (토론 | 기여)님의 2020년 7월 15일 (수) 22:44 판

Cross-platform.

멀티 플랫폼(multi-platform)이라고도 하다. 주로 소프트웨어에 쓰이는 개념으로, 같은 소프트웨어가 여러 플랫폼(하드웨어, 운영체제)에 걸쳐 구현되는 것을 뜻한다. 예를 들어 소프트웨어 개발자들이 애용하는 편집기인 비주얼 스튜디오 코드는 개발사인 마이크로소프트의 본진인 윈도우는 물론이고, 맥, 리눅스에서도 잘 돌아간다. 각자 키보드가 디렉터리 구조 차이 같은 것들이 있긴 하지만 어떤 운영체제에서도 거의 비슷하게 사용할 수 있다. 이는 비주얼 스튜디오 코드가 크로스 플랫폼 프레임워크인 일렉트론을 기반으로 하고 있기 때문이다. 일렉트론은 HTMLCSS, 자바스크립트를 기반으로 한 Node.js를 돌리는 식으로 동작한다.

모바일 소프트웨어 업계에서도 최근에는 크로스 플랫폼 바람이 불고 있다. 안드로이드와 iOS가 각자 광범위한 세력을 가지고 있어서 많은 앱들이 양쪽 OS를 지원하고 있는데, 각자 네이티브로 개발하려면 안드로이드는 자바 또는 코틀린, iOS는 오브젝티브C 또는 스위프트 개발자가 필요하며, 각자 다른 언어로 개발되는 소스 코드를 관리하는 것도 점점 복잡해진다. 크로스 플랫폼 개발 환경을 사용하면 같은 언어로 양쪽 OS에 대응하는 앱을 만들 수 있기 때문에 필요한 개발자의 수도 줄어들고 소스 코드 관리도 편해지기 때문에 특히 개인 개발자나 소규모 스타트업들이 크로스 플랫폼에 더 많은 관심을 가지고 있다. 이러한 수요에 따라 다양한 크로스 플랫폼 개발 환경이 등장하고 있는데, HTML자바스크립트 기반의 아파치 코르도바, 각 OS의 네이티브 인터페이스를 이용하는 페이스북의 리액트 네이티브와 마이크로소프트자마린, 그리고 네이티브 UI를 일체 무시하고 자기가 UI를 싹 그려버리는[1] 구글플러터와 같은 도구들이 가장 널리 쓰이고 있다.

각주

  1. 하지만 구글의 머티리얼 UI와 애플의 쿠퍼티노 UI를 둘 다 지원하기 때문에 선택에 따라 안드로이드에서도 iOS와 거의 비슷한 인터페이스의 앱을 돌릴 수 있다.