크로스 플랫폼(Cross Platform)이란?
"교차"를 뜻하는 "Cross"와 Platform의 합성어로, 다양한 플랫폼에서 사용할 수 있는 이라는 뜻을 가진다.
C언어의 경우 제작한 소스 코드를 각각 운영체제에 맞는 컴파일러로 컴파일해서 실행시키게 된다.
그렇게 되면, C언어로 프로그램을 짜고, 윈도우 버전, 맥 버전, 리눅스 버전을 만들기 위해서 각각의 컴파일을 3번해줘야한다.
Java는 크로스 플랫폼을 지원하는 언어이다.
자바 프로그램이 컴퓨터 안에서 바로 실행되는 것이 아니라, JVM(Java Virtual Machine)이라는 가상의 공간에서 실행된다.
Java 컴파일러는 소스코드를 컴파일해서 "바이트 코드"를 생성하게된다.
그리고 사람들은 그 바이트 코드를 자신의 운영체제에 맞게 설치된 JVM위에 실행을 시키기만 하면된다.
이렇게 되면 Java 소스코드를 한번만 컴파일해도 되기 때문에, C언어 컴파일 방식 보다 유지 보수 면에서
그리고 다양한 웅영체제를 지원하는데 있어서 훨씬 편리하게된다.
그럼? 크로스 플랫폼을 지원하는 도구는 어떤것들이 있을까?
먼저 대표적으로 게임 분야이다.
안드로이드 버전과 아이폰 버전을 동시에 출시하는 경우도 많고,
유지보수와 관리 목적의 편의성을 목적으로 크로스 플랫폼으로 제작하는 경우가 많아졌다.
예) 유니티(Unity3D), 언리얼 엔젠(Unreal Engine), 게임메이커 스튜디오, 코코스 3D등이 있다.
웹/ 모바일 어플리케이션에서는
c#기반인 자마린이 있다.
자마린은 iOS, Android, OSX, Windows등 플랫폼으로 포팅 가능한 크로스 플랫폼 개발 도구이다.
양대산맥으로는 리액트 네이티브이다.
리액트(React)는 페이스 북에 의해 만들어진 '자바스크립트 라이브러리'이다.
React.js는 웹 프런트 엔드 프레임워크이고, React Native는 자마린과 비슷한 기능을 수행하는 크로스 플랫폼 개발 도구이다.
React Native는 자바스크립트를 기반으로 해서 안드로이드, iOS, UWP(Universal Windows Platform)의 프로그램들을 개발할 수 있다.
그외에는 Electron이라고 있는데
디스코드, 아톰, 비쥬얼스튜디오 코드, 워드 프레스, 슬랙, 깃허브 데스크톱, 도커등이 제작된 플랫폼 도구라고 한다.
참고 자료
'용어 정리 > 모르는 IT 용어 정리' 카테고리의 다른 글
[모르는 IT 용어 정리] MIME가 뭐지? (0) | 2020.04.28 |
---|---|
[모르는 IT 용어 정리] 비지니스 로직이란? (0) | 2020.04.21 |