크로스플랫폼

장민영·2022년 11월 25일

개발을 하다보면 플랫폼 파편화 문제를 겪게 되는데 이것을 해결하게 위해 나온개념이 크로스 플랫폼이다.
크로스 플랫폼이란 여러 os 여러 cpu등에서 동일하게 실행할수 있는 환경을 말한다.
요즘은 다양한 플랫폼을 사용하고 원하는 앱도 워낙 다양해서 크로스 플랫폼이 매우 중요해졌다.

컴퓨터마다 프로그램 실행방식은 다르기때문에 항상 여러버전의 프로그램을 만들어야했는데 이문제를 해결하기 위해 개발자들이 가상의 플랫폼, 가상의 컴퓨터를 만들어서 다양한 컴퓨터위에 가상의 컴퓨터를 켜 놓으면 마치 동일한 컴퓨터에서 실행하는 것처럼 느껴진다. 이제 앱 개발자는 각 컴퓨터에 맞는 앱을 다 만들 필요 없이 가상의 컴퓨터에서 실행되는 프로그램 하나만 만들면 된다. 이건마치 usb나 hdmi처럼 하나의 규격을 정한것과 ㅂ ㅣ슧한네 모니터선을 연결할때 모니터 선이 안맞으면 어댑터를 끼운다 가상의 컴퓨터는 이런거라 생각하면 된다. 이제 앱 개발자들은 가상의 컴퓨터만 생각하고 프로그램을 만들면 된다.
이걸 시도한 언어가 java고 그 가상의 컴퓨터가 jvm 이다. jvm의 의미를 보면 자바를 이용한 가상의 컴퓨터라고 이해하면 되는데 우리가 머신코드라고 하면 컴퓨터가 실행하는 코드라고 생각하면된다. 자바의 슬로건은 write once run anywhere 코드는 한 번만 작성하고 어디서든 실행해라는 의미다. 모든 플랫폼에대해 각각 프로그램을 만드는게 아니라 자바 가상머신에서 동작하는 단 한개의 프로그램만 작성한다.자바 가상머신은 자바로 쓰여진 프로그램이 들어오길 기다리는것이다. 상호간의 약속, 규격을 통해 플랫폼 의존성 문제를 해결했다. 다양한 플랫폼에 이식성이 좋고 범용적으로 사용할수 있기때문에 지금의 인기를 얻었다고해도 과언이 아니다.

profile
개발새발자

0개의 댓글