크로스 플랫폼

 

1. 개요
2. 예시
3. 적용 게임
3.1. 풀 크로스 플랫폼
3.2. 부분 크로스 플랫폼


1. 개요


둘 이상의 플랫폼에서 실행 가능한 소프트웨어라는 것을 뜻하는 용어. 예시로, 한 앱이 안드로이드와 아이폰에서 '''기능상, 외관상의 차이 없이 똑같게''' 실행된다면 그 앱은 크로스 플랫폼으로 개발된 것이라 볼 수 있다.
대부분의 멀티플랫폼 프로젝트와 플랫폼은 JAVA 기반이나 .NET 언어와 같은 바이트코드를 사용하는 언어로 개발되었다.

2. 예시


  • 웹 사이트[1][2]
  • Java 또는 .NET CORE로 개발한 앱들[3]
  • LLVM/Clang: . 윈도우, 리눅스, 맥을 모두 지원한다.
  • 일렉트론 : UI는 HTML, 프로그램은 JS로 구현한다. Sublime Text, Atom(에디터), 비주얼 스튜디오 코드 등. 이 프로그램들은 일렉트론 프레임워크를 통해 개발되었다.
  • Ruby, Python, Node.js: 기타 스크립트 언어들로 작성한 프로그램들[4]
  • Xamarin: 개요에서 설명한대로 안드로이드, 아이폰, 윈도우폰 앱 개발이 가능하다.
  • 안드로이드 스튜디오: 윈도우, 리눅스, 맥을 모두 지원한다.
  • Unity: 역시 크로스 플랫폼을 지원하는 게임 엔진이며 모바일 플랫폼 외에 다수 플랫폼 지원[5]
  • Flutter, React Native: 크로스개발의 끝판왕 종착역이라 할 수 있다. , 안드로이드, iOS에서 모두 동일한 코드로 가장 좋은 결과물을 보여준다.
  • Qt(프레임워크): 윈도우, 리눅스, 안드로이드, iOS 등의 대부분의 메이저 OS를 동일한 코드 (C++, QML)로 네이티브 기반의 개발이 가능하며 C++ 크로스 플랫폼의 최강자이다.
  • 어도비 에어: 플래시HTML5를 사용하는 앱 개발 도구. 안드로이드, iOS, PC 지원
  • Mono(모노) : .NET Core가 출시되기 이전까지 많은 개발자들이 사용하던, .NET 언어를 멀티플랫폼으로 구동시켜주는 런타임이다. 현재도 GTK# 개발 시 많이 사용되고 있다.
  • .NET Core: .NET Framework 을 크로스 플랫폼에서 사용할 수 있게 해준다. 모노의 사실상의 후속작이자 asp.net 웹서버를 윈도우 맥 리눅스에서 구동케해줄 뿐 아니라 3.0 에서는 wpf winforms 도 지원한다.
  • XAMPP: 윈도우, 리눅스, 맥에서 모두 실행할 수 있는 PHP 서버 툴이다.
  • 오피스 스위트: 오픈오피스, 리브레오피스, WPS Office[6]
  • 외부 연결 장치 드라이버: 프린터, 복합기, 외장형 블루레이 디스크 등. 이 제품들은 사용자가 윈도우즈에만 연결하리란 법이 없다. macOS리눅스에 연결할 수도 있다. 따라서 제조사들은 설치 디스켓에 윈도우즈용, 맥용, 리눅스용 드라이버을 같이 담아 제공하거나 회사 홈페이지에 각각의 운영체제용 드라이버들을 다 같이 다운받을 수 있게 한다.
  • 그래픽 및 이미지 편집: 김프
  • 미디어 플레이어: VLC, MPlayer
  • 압축 프로그램: 7-Zip
  • 기타 리눅스발 GNU 제품: 위의 김프, 7-Zip, gcc, Vim, MPlayer 등은 원래 리눅스용으로 먼저 개발한 걸 기반으로 윈도우즈에서도 돌아갈 수 있도록 크로스 플랫폼으로 다시 만든 것들이다. 리눅스는 태생부터 GNU를 표방한 운영체제다. 따라서 리눅스에서 돌아가는 것들은 누구나 자유롭게 수정하고 배포할 수가 있다. 바로 이때문에 리눅스용으로 만든 제품을 윈도우즈나 맥에서도 돌아갈 수 있도록 마개조(!!!)하는 경우가 엄청 많은 것이다. 무료로 내려받아 사용할 수 있는 크로스 플랫폼 중 리눅스발 GNU 또는 오픈소스 제품이 압도적으로 많은 이유가 이 때문이다.

3. 적용 게임


온라인 게임에도 콘솔 게임기, 모바일, PC 사이에 크로스 플랫폼이 적용되는 사례가 늘고 있다. (리스트 - #1(위키) / #2)

3.1. 풀 크로스 플랫폼


※ 출시된 모든 플랫폼에서 풀 크로스 플레이가 지원되고, 최소 3개(2개 이상의 현세대 콘솔 플랫폼 포함) 이상의 플랫폼 지원
게임
적용 플랫폼
Among Us
(어몽 어스)

PC, iOS, 안드로이드, 닌텐도 스위치
Apex Legends
(에이펙스 레전드)

PS4, PC, Xbox One
Asphalt 8: Airborne
(아스팔트 8: 에어본)
[7]
PC, macOS, 안드로이드, iOS
Brawlhalla
(브롤할라)

PS4, PC, Xbox One, 닌텐도 스위치
Call of Duty: Black Ops Cold War
(콜 오브 듀티: 블랙 옵스 콜드 워)

PS4, PS5, PC, Xbox One, S
Call of Duty: Modern Warfare
(콜 오브 듀티: 모던 워페어)

PS4, PC, Xbox One
Call of Duty: Warzone
(콜 오브 듀티: 워존)

PS4, PS5, PC, Xbox One, S
Dauntless
(돈틀리스)

PS4, PC, Xbox One, 닌텐도 스위치
Dead by Daylight
(데드 바이 데이라이트)

PS4, PC, Xbox One, 닌텐도 스위치
Destiny Guardians
(데스티니 가디언즈)
[예정1]
PS4, PS5, PC, Xbox One, S, Stadia
Fantasy Strike
(판타지 스트라이크)
PS4, PC, macOS, 리눅스, 닌텐도 스위치
Fortnite
(포트나이트)

PS4, PS5, PC, Xbox One, S, 닌텐도 스위치, iOS, 안드로이드
Genshin Impact
(원신)
[8]
PS4, PS5, PC, 닌텐도 스위치[예정2], 안드로이드, iOS
Minecraft BE
(마인크래프트 BE)

PS4, PC, Xbox One, 닌텐도 스위치, iOS, 안드로이드
Minecraft: Dungeons
(마인크래프트: 던전스)

PS4, PC, Xbox One, 닌텐도 스위치
Need for Speed: Heat
(니드 포 스피드: 히트)

PS4, PC, Xbox One
No Man's Sky
(노 맨즈 스카이)

PS4, PC, Xbox One
Paladins
(팔라딘스)

PS4, PC, Xbox One, 닌텐도 스위치
Realm Royale
(렐름 로얄)

PS4, PC, Xbox One, 닌텐도 스위치
Rocket Arena
(로켓 아레나)
PS4, PC, Xbox One
Rocket League
(로켓 리그)

PS4, PC, Xbox One, 닌텐도 스위치
Rogue Company
(로그 컴퍼니)

PS4, PC, Xbox One, S, 닌텐도 스위치
Smite
(스마이트)

PS4, PC, Xbox One, 닌텐도 스위치
Spellbreak
(스펠브레이크)

PS4, PC, Xbox One, 닌텐도 스위치
Star Wars: Squadrons
(스타워즈: 스쿼드론)

PS4, PC, Xbox One
World War Z
(월드워 Z)

PC, PS4, Xbox One

3.2. 부분 크로스 플랫폼


※ 출시된 플랫폼 중 일부만 크로스 플레이가 지원되고, 최소 2개 이상의 플랫폼 지원
게임
적용 플랫폼
Aragami
Xbox One, PC, 닌텐도 스위치
PS4[9], PC
ARK: Survival Evolved
PS4, PC, Xbox One, 닌텐도 스위치
ASTRONEER
PC, Xbox One
검은사막
PS4, Xbox One
Blobcat
PC, 닌텐도 스위치
DC 유니버스 온라인
PS4, PC
Deep Rock Galactic
PC, Xbox One
드래곤 퀘스트 빌더즈 2: 파괴신 시도와 텅 빈 섬
닌텐도 스위치, PS4
엘더스크롤: 블레이드
iOS, 안드로이드, 닌텐도 스위치
EVE 발키리
PS4, PC
파이널 판타지 14: 신생 에오르제아
PS4, PC, macOS
파이널 판타지 15
PC(Windows 10), Xbox One
Full Metal Furies
PC, Xbox One
Guns of Icarus Online
PS4, PC, macOS
궨트: 더 위쳐 카드 게임[10]
PC, PS4, iOS, 안드로이드
PC, Xbox One, iOS, 안드로이드
하스스톤
PC, macOS, iOS, 안드로이드
Hero Siege
PC, macOS, iOS, 안드로이드, 닌텐도 스위치
PS4, PC, macOS, iOS, 안드로이드
헌트 쇼다운
PS4, Xbox One
모탈 컴뱃 11
PS4, Xbox One, 닌텐도 스위치
오버로드(게임)
PS4, PC
PC, Xbox One
판타시 스타 온라인 2
PS4, PC
PLAYERUNKNOWN'S BATTLEGROUNDS
PS4, Xbox One
Roblox
PC, macOS, Xbox One, iOS, 안드로이드
스나이퍼 엘리트 V2 리마스터
PS4, PC, Xbox One, 닌텐도 스위치
스트리트 파이터 5
PS4, PC
Tooth and Tail
PS4, PC[11], macOS, 리눅스
Ultimate Chicken Horse
PS4, PC, macOS
PC, macOS, 닌텐도 스위치
워 썬더
PS4, PC, macOS
PC, macOS, Xbox One
Wargroove[12]
PC, Xbox One, 닌텐도 스위치
월드 오브 탱크
PC, Xbox One
월드 오브 워쉽 레전드
PS4, Xbox One

3.3. Xbox Play Anywhere


Xbox OneWindows 10 간 멀티플레이 및 게임 데이터(저장 내용, 업적) 공유 기능을 지원하며 해당 게임 구매 시, 두 가지 기종의 버전을 동시에 소유할 수 있다.

[1] 심지어는 어도비 플래시같이 웹 표준이 아닌 플러그인들도 대부분의 브라우저나 OS에서 거의 동일하게 실행이 가능하다. 오히려 HTML5보다도 규격화 되어 있다. 이는 플러그인 제작사만이 관여하기 때문에 여러 규격이 난립할 가능성이 적기 때문이다.[2] 브라우저로만 한정하면 IE, 엣지, 사파리 등 특정 플랫폼용으로만 나온 것들도 있다. 그리고 웹 표준을 따르지 않는 브라우저(사파리 등)는 따로 거기에 맞춰 사이트를 만들어야 한다.[3] 자바는 JVM을, .NET CORE는 자체 런타임을 사용하기에, 이론적으로는 모든 기기에서 모든 기능이 완벽히 같게 작동한다. 예를 들어서, 자바는 이클립스, .NET CORE는 ASP.NET CORE가 있다.[4] 다만 특정 OS에만 있는 기능을 사용해서 이에 의존성이 생기는 경우도 있다.[5] 보통 UI를 손보긴 해야 한다.[6] 중국산 오피스 소프트웨어.[7] 2020년 9월부터 지원하며 멀티플레이 외에 하나의 플레이어 계정으로 여러 기종 이용이 가능해졌다.[예정1] 크로스플랫폼 기능 추가 예정[8] PC와 모바일 간의 계정 연동 가능[예정2] 해당 플랫폼 출시 예정[9] XBOX ONE과 PC, 스위치는 함께 되지만 PS4는 PC만 가능하다.[10] PS4-XBOX One 유저 간에는 양사의 정책문제로 인해 매칭 불가능. PS4-iOS라던가 XBOX One-안드로이드 등 타 플랫폼 간에는 매칭이 된다.[11] 스팀, GOG간 크로스 플랫폼 지원[12] PS4판만 혼자 크로스 플레이는 지원하지 않는다.