CrossPlatform

CrossPlatform

크로스 플랫폼?

크로스 플랫폼 (영어: cross-platform) 또는 멀티 플랫폼 (영어: multi-platform)은 컴퓨터 프로그램, 운영 체제, 컴퓨터 언어, 프로그래밍 언어, 컴퓨터 소프트웨어 등이 여러 종류의 컴퓨터 플랫폼에서 동작할 수 있다는 것을 뜻하는 용어이다. - 위키백과


예를 들어보자. 대중적으로 많이 사용하고 있는 IDE(통합개발환경) 인 비주얼 스튜디오 코드는 마이크로소프트사인 윈도우는 물론, 맥, 리눅스 환경에서도 잘동작한다. 각자 키보드나 디렉터리 구조 차이 같은 것들이 있긴하지만 어떤 운영체제에서도 비슷하게 사용이가능하다.

이는 비주얼 스튜디오 코드가 크로스 플랫폼 프레임 워크인 일렉트론을 기반으로 하고 있기 때문이다. 이처럼 여러종류의 컴퓨터 플랫폼(MAC OS, Linux, Window)에서 동작 할 수 있는 것을 의미한다.

웹 그리고 모바일 시장의 크로스 플랫폼과 네이티브

현재 IT 시장에서 서비스를 출시할경우 앱이 없어서는 안되는 경우가 대부분이다. 웹 뿐만아니라 모바일 소프트 웨어 업계에서도 최근에 크로스 플랫폼 바람이 불고있다.

이는 개발자들이 Android 와 iOS 에 대응하는 각각의 어플리케이션을 중복적으로 개발하지 않고 양쪽 OS에 대응하는 앱을 만들수 있기때문이다. 또한 앱개발에 필요한 개발자가 줄어들기에 소스 코드 관리가 편해질수있다.

크로스 플랫폼의 종류

  • ReactNative - facebook
  • 자마린 - microsorft
  • Flutter - Google

이러한 크로스플랫폼들을 사용하기 위해서는 결국 Native와 관련된 지식과 기술들이 필요하다고 한다. 하지만 구글에서 Flutter 라는 크로스 플랫폼을 만들었는데 이는 기존의 Native UI를 무시하고 사용할수 있다고한다. 하지만 Dart라는 언어를 배워야한다는 것과, 구글은 잘되고있는 사업은 확실하게 밀어주지만 잘되지 않고 있는 사업에 관해서는 확실히 끊어버리기에 Dart만 배워서 먹고살려고 한다면 조심해야한다고 할수있겠다.

마치며

하나의 코드로 여러 플랫폼에서 구동할 수 있는것은 매력있고 효율적으로 보이지만 아직까지는 한계적인 부분이 많다. 운영체제, 하드웨어 별로 차이로 인해 크로스 플랫폼을 기반으로 소프트웨어를 개발할경우 운영체제들이 공통으로 지원하는 기능만을 사용해야 한다. 지금은 아니지만 마치 IE를 대응하는 것과 같은거인가? 앞으로의 개발방향에 있어 Native와 관련된 것들도 살펴보아야겠다.

참조

Author

YoungSang Lee

Posted on

2021-04-03

Updated on

2021-04-07

Licensed under

댓글