크로스 플랫폼
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
크로스 플랫폼은 여러 운영 체제 또는 하드웨어에서 실행되는 소프트웨어, 특히 응용 프로그램을 의미한다. 웹 애플리케이션, 전통적인 애플리케이션, 바이너리 소프트웨어, 스크립트 언어 등이 있으며, 최근에는 비디오 게임에서도 크로스 플랫폼 기술이 활용되어 여러 플랫폼의 사용자들이 함께 게임을 즐길 수 있게 되었다. 크로스 플랫폼 소프트웨어는 자바, 파이어폭스, 오페라, 루비 등을 포함하며, 가정용 게임기에서는 하드웨어의 경계를 넘어 콘텐츠를 공유하는 플랫폼 연동 기능을 의미한다. 일본 게임 시장에서는 1990년대부터 멀티 플랫폼 전략이 사용되었으며, 2000년대 후반부터는 대작 게임들이 PC와 콘솔을 포함한 멀티 플랫폼으로 출시되는 것이 일반화되었다.
'''플랫폼'''은 운영 체제(OS) 또는 응용 소프트웨어가 실행되는 프로세서(CPU) 또는 기타 하드웨어 유형, OS 유형, 이 둘의 조합을 의미할 수 있다.[4] 일반적인 플랫폼의 예로는 ARM 아키텍처 제품군에서 실행되는 안드로이드가 있다. 다른 잘 알려진 플랫폼으로는 리눅스/유닉스, macOS, 윈도우가 있으며, 이들은 모두 크로스 플랫폼이다.[4]
크로스 플랫폼은 여러 종류의 비디오 게임 콘솔에서 출시되는 비디오 게임을 의미한다. 크로스 플랫폼 게임의 예로는 ''마이너 2049er'', ''툼 레이더: 레전드'', ''FIFA 시리즈'', ''NHL 시리즈'', ''마인크래프트'' 등이 있다. 이 게임들은 Wii, 플레이스테이션 3, Xbox 360, 개인용 컴퓨터, 모바일 장치 등 다양한 플랫폼에서 출시되었다.
2. 플랫폼
응용 프로그램은 특정 플랫폼(하드웨어, OS 또는 실행되는 가상 머신(VM))의 기능에 의존하도록 작성될 수 있다. 자바 플랫폼은 많은 OS와 하드웨어 유형에서 실행되는 일반적인 VM 플랫폼이다.
크로스 플랫폼 프로그램은 겉으로는 어떤 운영 체제에서도 거의 똑같이 작동하지만, 운영 체제와 상호 작용하는 부분은 각 OS의 기능에 따라 최적화되어 있어, 한 운영 체제에서 작동하던 것을 다른 운영 체제로 가져가도 작동하지 않는 경우가 있다. 그래서 일부 프로그램은 각 운영 체제 전용 코드를 모든 운영 체제용 패키지에 포함하기도 한다.
Java영어 실행 환경은 Windows영어, macOS영어, Linux영어, UNIX영어, 휴대 전화 등에 존재하기 때문에, Java 바이트 코드로 만들어진 애플리케이션은 이러한 플랫폼에서 똑같이 이용할 수 있다.
모질라 재단이 오픈 소스로 개발하는 인터넷 애플리케이션도 여러 운영 체제에 제공된다. Mozilla영어는 단순한 브라우저나 메일 클라이언트 등의 애플리케이션뿐만 아니라, 해당 애플리케이션에서 작동하는 공통 프로그램도 다룰 수 있다. 예를 들어 Firefox영어의 확장 기능(익스텐션, 애드온)에 FTP 클라이언트 기능을 탑재한 FireFTP영어를 이용하면 Firefox영어에서 FTP를 이용할 수 있다.
Opera영어는 운영 체제 환경에 의존하지 않고 다른 환경으로 이식 가능하고 가벼운 프로그램 코드를 사용하기 때문에, 데스크톱 환경뿐만 아니라 용량이 적은 휴대 전화나 가정용 게임기에도 브라우저 기능을 이식하는 사례가 존재한다.
2. 1. 웹 애플리케이션
웹 애플리케이션은 이상적으로 모든 웹 브라우저에서 접근할 수 있기 때문에 크로스 플랫폼으로 묘사된다. 브라우저가 플랫폼이기 때문이다. 웹 애플리케이션은 일반적으로 클라이언트-서버 모델을 사용하지만, 복잡성과 기능 면에서 매우 다양하다. 기능에 대한 욕구와 호환성 요구를 조화시키기는 어려울 수 있다.
기본적인 웹 애플리케이션은 모든 또는 대부분의 처리를 무상태 서버에서 수행하고, 결과를 클라이언트 웹 브라우저로 전달한다. 애플리케이션과의 모든 사용자 상호 작용은 간단한 데이터 요청과 서버 응답의 교환으로 구성된다. 이러한 유형의 애플리케이션은 월드 와이드 웹 애플리케이션 개발의 초기 단계에서 일반적이었다. 이러한 애플리케이션은 트랜잭션 처리 모델을 따르며, 이는 정적 웹 페이지를 제공하는 것과 동일하다. 오늘날에도, 특히 크로스 플랫폼 호환성과 단순성이 고급 기능보다 더 중요하다고 간주되는 경우에 상대적으로 흔하게 사용된다.
고급 웹 애플리케이션의 주요 예로는 Gmail 및 구글 지도의 웹 인터페이스가 있다. 이러한 애플리케이션은 일반적으로 최신 버전의 인기 있는 웹 브라우저에서만 발견되는 추가 기능에 의존한다. 이러한 기능에는 Ajax (프로그래밍), 자바스크립트, 동적 HTML, SVG, 그리고 리치 웹 애플리케이션의 기타 구성 요소가 포함된다.
동적 HTML을 활용한 리치 인터넷 애플리케이션이 이미 널리 이용되고 있으며, 웹 브라우저도 크로스 플랫폼 환경이다.
2. 2. 전통적인 애플리케이션
웹 애플리케이션이 인기를 얻고 있지만, 많은 컴퓨터 사용자는 여전히 클라이언트/웹 서버 아키텍처에 의존하지 않는 전통적인 응용 소프트웨어를 사용한다. 전통적인 응용 프로그램과 웹 애플리케이션은 기능, 설치 방법, 아키텍처가 서로 겹쳐서 그 차이가 항상 명확하지는 않다.
크로스 플랫폼 프로그램은 겉으로는 어떤 운영 체제에서도 거의 똑같이 작동하지만, 운영 체제와 상호 작용하는 부분은 각 OS의 기능에 따라 최적화되어 있어, 한 운영 체제에서 작동하던 것을 다른 운영 체제로 가져가도 작동하지 않는 경우가 있다. 그래서 일부 프로그램은 각 운영 체제 전용 코드를 모든 운영 체제용 패키지에 포함하기도 한다. 저장된 설정 등 일부 데이터는 다른 운영 체제로 이식해도 정상적으로 작동하는 경우가 있는데, 예를 들어 Mozilla Thunderbird영어의 메일 데이터나 설정 등의 프로파일을 다른 플랫폼으로 가져가면 새로운 플랫폼에서 계속 이용할 수 있다.
Java영어 실행 환경은 Windows영어, macOS영어, Linux영어, UNIX영어, 휴대 전화 등에 존재하기 때문에, Java 바이트 코드로 만들어진 애플리케이션은 이러한 플랫폼에서 똑같이 이용할 수 있다.
모질라 재단이 오픈 소스로 개발하는 인터넷 애플리케이션도 여러 운영 체제에 제공된다. Mozilla영어는 단순한 브라우저나 메일 클라이언트 등의 애플리케이션뿐만 아니라, 해당 애플리케이션에서 작동하는 공통 프로그램도 다룰 수 있다. 예를 들어 Firefox영어의 확장 기능(익스텐션, 애드온)에 FTP 클라이언트 기능을 탑재한 FireFTP영어를 이용하면 Firefox영어에서 FTP를 이용할 수 있다. 즉, Firefox영어가 설치 가능한 다른 OS에서 동일한 기능의 소프트웨어를 이용할 수 있다는 것이다.
Opera영어는 운영 체제 환경에 의존하지 않고 다른 환경으로 이식 가능하고 가벼운 프로그램 코드를 사용하기 때문에, 데스크톱 환경뿐만 아니라 용량이 적은 휴대 전화나 가정용 게임기에도 브라우저 기능을 이식하는 사례가 존재한다.
동적 HTML을 활용한 리치 인터넷 애플리케이션이 이미 널리 이용되고 있으며, 웹 브라우저도 크로스 플랫폼 환경이다.
크로스 플랫폼 애플리케이션 프로그램의 예는 다음과 같다.
2. 2. 1. 바이너리 소프트웨어
전통적인 응용 소프트웨어는 실행 파일 형태의 바이너리 파일로 배포되어 왔다. 실행 파일은 빌드된 플랫폼만 지원하므로, 단일 크로스 플랫폼 실행 파일은 특정 플랫폼에서 실행되지 않는 코드로 인해 매우 비대해질 수 있다. 따라서 일반적으로 각 플랫폼에 맞게 빌드된 일련의 실행 파일이 존재한다.
C 또는 C++와 같이 바이너리 실행 파일로 배포되는 소프트웨어는 단일 코드베이스를 여러 바이너리 실행 파일로 변환(트랜스컴파일)하는 툴셋을 사용하여 각 플랫폼에 대한 소프트웨어 빌드가 필요하다. 예를 들어, 오픈 소스 웹 브라우저인 파이어폭스는 Windows, macOS(애플이 유니버설 바이너리라고 부르는 것을 통해 PowerPC 및 x86 모두 지원), Linux 및 BSD와 같은 여러 컴퓨터 아키텍처에서 사용할 수 있다. 이 경우 Windows, macOS, Linux, BSD는 별도의 실행 파일 배포판이지만 대부분 동일한 소스 코드에서 제공된다. 드물게 여러 플랫폼용으로 빌드된 실행 코드가 팻 바이너리라는 단일 실행 파일로 결합되기도 한다.
다양한 툴셋을 사용하는 것만으로는 다른 플랫폼에서 작동하는 실행 파일을 빌드하기에 충분하지 않을 수 있다. 이 경우 프로그래머는 소스 코드를 새로운 플랫폼으로 ''포팅''해야 한다. 예를 들어, x86 제품군에서 Windows에서 이미 실행되는 파이어폭스와 같은 애플리케이션은 x86(및 잠재적으로 다른 아키텍처)에서도 실행되도록 수정하고 다시 빌드할 수 있다. 여러 버전의 코드는 별도의 코드베이스로 저장하거나 하나의 코드베이스로 병합할 수 있다.
포팅의 대안은 한 플랫폼용으로 컴파일된 애플리케이션이 소스 코드 또는 바이너리를 수정하지 않고 다른 플랫폼에서 실행될 수 있는 ''크로스 플랫폼 가상화''이다. 예를 들어, 애플의 로제타는 인텔 기반 매킨토시 컴퓨터에 내장되어 있으며 이전 세대의 PowerPC CPU를 사용한 매킨토시용으로 컴파일된 애플리케이션을 실행한다. 또 다른 예는 IBM PowerVM Lx86으로, Linux/x86 애플리케이션을 Linux/Power OS에서 수정 없이 실행할 수 있다.
크로스 플랫폼 바이너리 소프트웨어의 예는 다음과 같다.2. 2. 2. 스크립트 및 인터프리터 언어
인터프리터가 여러 플랫폼에서 사용 가능하고, 스크립트가 언어에 내장된 기능만 사용하는 경우 해당 스크립트는 크로스 플랫폼으로 간주될 수 있다. 예를 들어, 유닉스 계열 시스템용 파이썬으로 작성된 스크립트는 파이썬이 윈도우에서도 실행되기 때문에 윈도우에서 거의 수정 없이 실행될 가능성이 높다. 실제로 .NET Framework용 아이언파이썬과 같이 많은 구현이 존재한다. 이는 많은 오픈 소스 소프트웨어 스크립트 언어에도 해당된다.
이진 실행 파일과 달리, 동일한 스크립트를 스크립트를 해석하는 소프트웨어를 가진 모든 컴퓨터에서 사용할 수 있다. 이는 스크립트가 일반적으로 일반 텍스트로 텍스트 파일에 저장되기 때문이다. 개행 문자의 표현과 같은 사소한 문제가 있을 수 있다.
몇 가지 인기 있는 크로스 플랫폼 스크립트 언어는 다음과 같다.3. 비디오 게임
플랫폼마다 개발 난이도가 다르기 때문에, 비디오 게임은 처음에 일부 플랫폼에서만 출시되고 나중에 다른 플랫폼에서 출시되기도 한다. 이는 새로운 게임 시스템이 출시될 때 비디오 게임 개발자들이 하드웨어와 소프트웨어에 익숙해지는 시간이 필요하기 때문이다.
디즈니와 같은 일부 게임은 개발사와 비디오 게임 콘솔 제조사 간의 라이선스 계약으로 인해 크로스 플랫폼이 아닐 수 있다. 예를 들어 디즈니가 소니와 게임 라이선스 계약을 체결하면, 단기간 또는 무기한으로 소니 콘솔에서만 게임을 출시해야 할 수 있다.
가정용 게임기에서 크로스 플랫폼은 하드웨어 경계를 넘어 게임 콘텐츠를 즐길 수 있는 플랫폼 연동 기능을 의미하기도 한다.[21] 다른 하드웨어 제조사 간에는 서드 파티에서만 이루어지지만, 하드웨어 제조사가 출시하는 소프트웨어에서도 일부 존재한다.
가정용 게임기에서는 멀티 플랫폼이라는 용어가 주로 사용되며, 이는 하나의 소프트웨어를 각 하드웨어용으로 별도로 개발하는 것을 의미한다. 유럽 및 미국에서는 멀티 플랫폼 방식이 주류이며, 서양 게임 주요 타이틀 외에도 캐릭터 게임, 시네마 게임, 스포츠 게임에서 많이 사용된다.
일본에서는 1994년까지 닌텐도 하드가 주력이었던 시대에는 소수의 인기 시리즈나 아케이드 게임, PC 게임을 가정용 게임기로 이식한 타이틀에서만 사용되었다. PlayStation과 세가 새턴이 동시기에 발매된 1995년부터 1998년 드림캐스트 발매 직전까지는 중소 규모 게임사나 미소녀 게임 타이틀에서 멀티 플랫폼이 활발하게 이루어졌다. 코나미, 캡콤 등 대형 게임사도 이에 해당했다.
1997년 파이널 판타지 VII처럼 주력 시리즈 최신작을 독점 판매하면 하드웨어 판매량이 높아지는 경우가 있었다. 2001년 닌텐도 게임큐브 발매 이후, 성능이 낮은 PlayStation 2에서도 서드 파티제의 아동·소년 대상 게임이 출시되었으며, 대부분 멀티 플랫폼 방식을 채택했다.
2000년대 초중반에는 인기 시리즈 작품이 처음에는 독점 발매 계약이었지만, 매출 향상을 위해 계약을 파기하고 다른 플랫폼으로 이식되는 경우도 있었다. 2000년대 후반 PlayStation 3와 Xbox 360 시대 이후에는 서드 파티 대작 시리즈가 멀티 플랫폼으로 변화했으며, PC도 추가되어 현재까지 대작 타이틀은 이 방식이 일반적이다. 2020년대에는 드래곤 퀘스트 시리즈, 파이널 판타지 시리즈와 같은 RPG 대작도 멀티 플랫폼이 되고 있다.
멀티 플랫폼은 제작비와 시간을 절약하고 더 많은 사람들에게 구매 기회를 제공하는 장점이 있다. 하지만 하드웨어 성능 차이가 큰 경우 게임 디자인을 재구성해야 할 수도 있다.
3. 1. 크로스 플랫폼 플레이
여러 개발자가 다양한 플랫폼을 사용하여 온라인 게임을 플레이할 수 있는 방법을 구현했다. Psyonix, Epic Games, Microsoft, 밸브는 모두 Xbox 360과 플레이스테이션 3 게이머가 PC 게이머와 함께 플레이할 수 있도록 하는 기술을 보유하고 있어 어떤 플랫폼을 사용할지는 소비자가 결정하도록 한다. PC와 콘솔 게임 간의 이러한 수준의 상호 작용을 허용한 최초의 게임(Dreamcast는 특별 제작된 키보드와 마우스를 사용)은 ''Quake 3''였다.[11][12]
크로스 플랫폼 온라인 플레이를 지원하는 게임으로는 ''Rocket League'', ''파이널 판타지 XIV'', ''Street Fighter V'', ''킬러 인스팅트'', ''파라곤'', ''Fable Fortune'' 및 Windows 10, VR 에디션, 포켓 에디션 및 Xbox One의 Better Together 업데이트를 포함한 ''Minecraft''가 있다.
가정용 게임기에서의 크로스 플랫폼이라는 말은 하드웨어의 경계를 넘어 게임 등의 콘텐츠를 즐길 수 있는 플랫폼 연동 기능을 의미한다.[21] 다른 하드웨어 제조사 사이에서는 서드 파티에서만 이루어지고 있지만, 하드웨어 제조사가 출시하는 소프트웨어에서도 서드 파티 제품에는 훨씬 못 미치지만, 어느 정도 존재한다. 구체적인 기능으로는, 다른 하드웨어 간의 플레이를 가능하게 하는 크로스 플레이, 다른 하드웨어 간의 세이브 데이터 공유를 가능하게 하는 크로스 세이브, 네트워크를 통해 게임을 원격 조작으로 플레이하는 리모트 플레이 등이 있다. 이러한 기능을 이용함으로써, 가정용 게임기 플레이어와 PC 플레이어가 대전이나 협력 플레이를 즐기거나, 집에서는 거치형 게임기로 플레이하고, 외출 시에는 휴대형 게임기로 그 다음을 플레이하는 등, 더 폭넓은 형태로 게임을 즐길 수 있게 되었다.
4. 크로스 플랫폼 소프트웨어의 예
크로스 플랫폼 소프트웨어의 예시는 다음과 같다.
- 자바 (오라클)[4]
- 오페라 (오페라 소프트웨어)[4]
- 파이어폭스 (모질라 재단)[4]
- 도스박스
- 오픈오피스
- 어도비 플래시
- 실버라이트
- KOffice
- 루비
- 엠비즈메이커
- .NET MAUI (마이크로소프트)
LibreOffice는 크로스 플랫폼 바이너리 소프트웨어의 예시로, 마이크로소프트 윈도우, macOS, 리눅스, FreeBSD, NetBSD, OpenBSD, 안드로이드, iOS, iPadOS, ChromeOS, 웹 기반 Collabora Online 등 여러 플랫폼용으로 빌드되었다.[8][9]
대표적인 크로스 플랫폼 스크립트 언어는 다음과 같다.
그 외에도 다음과 같은 크로스 플랫폼 소프트웨어가 존재한다.
- Emacs
- Smalltalk 환경
- Java 애플리케이션
- XUL 애플리케이션
- Presto 애플리케이션
모질라 재단의 오픈 소스 인터넷 애플리케이션군도 여러 운영 체제에 제공된다. 예를 들어 파이어폭스의 확장 기능(익스텐션, 애드온) 중 하나인 FireFTP영어를 이용하면 파이어폭스에서 FTP를 사용할 수 있다.
Opera영어는 가볍고 이식성이 높은 코드를 사용하여 데스크톱 환경뿐만 아니라 휴대 전화, 가정용 게임기 등에도 브라우저 기능을 제공한다.
동적 HTML을 활용한 리치 인터넷 애플리케이션과 웹 브라우저 역시 크로스 플랫폼 환경으로 널리 사용된다.
5. 가정용 게임기에서의 크로스 플랫폼
크로스 플랫폼 또는 멀티 플랫폼은 여러 종류의 비디오 게임 콘솔에서 출시되는 비디오 게임에 적용될 수 있는 용어이다. ''마이너 2049er'', ''툼 레이더: 레전드'', ''FIFA 시리즈'', ''NHL 시리즈'', ''마인크래프트'' 등이 크로스 플랫폼 게임의 예시이다.[21] 이 게임들은 Wii, 플레이스테이션 3, Xbox 360, 개인용 컴퓨터, 모바일 장치 등 다양한 플랫폼에서 출시되었다.
가정용 게임기에서의 크로스 플랫폼은 하드웨어 경계를 넘어 콘텐츠를 즐길 수 있는 플랫폼 연동 기능을 의미한다. 다른 하드웨어 제조사 간에는 서드 파티에서만 이루어지지만, 하드웨어 제조사가 출시하는 소프트웨어도 일부 존재한다. 크로스 플랫폼의 구체적인 기능으로는 다른 하드웨어 간 플레이를 가능하게 하는 '크로스 플레이', 세이브 데이터 공유를 가능하게 하는 '크로스 세이브', 네트워크를 통해 게임을 원격 조작하는 '리모트 플레이' 등이 있다. 이러한 기능을 통해 가정용 게임기 플레이어와 PC 플레이어가 함께 게임을 즐기거나, 장소에 구애받지 않고 게임을 이어할 수 있게 되었다.
가정용 게임기에서 멀티 플랫폼은, 유럽 및 미국에서 주류를 이루는 방식으로, 하나의 소프트웨어를 각 하드웨어용으로 별도 개발하는 것을 의미한다. 콘솔 게임에서는 주로 '''멀티 플랫폼'''이라는 용어가 사용되며, 서양 게임 주요 타이틀 외에도 캐릭터 게임, 시네마 게임, 스포츠 게임에서 많이 사용된다.
5. 1. 일본 게임 시장에서의 멀티 플랫폼
1994년까지의 닌텐도 하드가 주력이었던 시대에는 소수의 인기 시리즈나, 아케이드 게임 또는 PC 게임을 가정용 게임기에 이식한 타이틀 정도에서만 멀티 플랫폼이 사용되었다. 이 시기에는 액클레임 재팬의 서양 게임 타이틀이 적극적으로 멀티 플랫폼을 활용했다.[21]1994년 PlayStation (12월 3일 발매)과 세가 새턴 (11월 22일 발매)이 비슷한 시기에 출시된 이후, 1995년부터 1998년 드림캐스트 발매 직전까지 멀티 플랫폼이 활발하게 이루어졌다. 주로 중소 규모 게임 메이커나 게임 사업을 본업으로 하지 않는 메이커의 작품에서 나타났으며, 특히 『두근두근 메모리얼』이 미디어 믹스로 발전하며 사회 현상을 일으키자, 대부분의 미소녀 게임과 연애 시뮬레이션 게임들이 이 방식을 따랐다. 대형 게임 메이커 중에서는 코나미나 캡콤 등이 멀티 플랫폼을 추진했다.
이 시기에 멀티 플랫폼을 포기한 사례로는 『Enemy Zero』가 세가 새턴 단독으로 변경된 경우가 있다. 이는 주요 개발자인 이노 켄지가 SIE 주최의 PS 관련 행사에서 『D의 식탁』(원작은 3DO 전용)의 PS 이식판이 SS 이식판보다 매출이 저조했던 것에 불만을 표출하며 보복 조치로 취한 행동이었다.
1997년 1월 31일, PS와 SS의 멀티 플랫폼이 주류였던 시대에 PlayStation 독점으로 발매된 『파이널 판타지 VII』처럼, 주력 시리즈의 최신작을 독점 판매하면 하드웨어 판매량이 높아지는 경우가 많았다. 이에 세가는 세가 새턴 단독으로 『사쿠라 대전 시리즈』라는 연애 요소가 포함된 전략 시뮬레이션 RPG 게임을 원작으로 하는 화려한 미디어 믹스 전략으로 대응했다.
2001년 닌텐도 게임큐브가 발매된 이후, 성능이 약간 떨어지는 PlayStation 2에서도 서드 파티제의 아동·소년 대상 게임이 적극적으로 출시되었고, 대부분 이 방식을 채택했다. 컴파일에서 세가로 이어진 『뿌요뿌요』 시리즈가 대표적이며, 거의 모든 주요 타이틀에서 멀티 플랫폼 방식이 사용되었다.
2000년대 초중반에는 『바이오하자드 4』나 『테일즈 오브 심포니아』와 같은 인기 시리즈가 처음에는 게임큐브 독점 발매 계약이었으나, 구매를 망설이는 유저를 타겟으로 한 매출 증대 전략으로 계약을 파기하고 PS2로도 이식되는 경우가 많았다.
2000년대 후반 PlayStation 3와 Xbox 360 시대에는 서드 파티의 대작 시리즈가 양 기종 멀티 플랫폼으로 출시되는 경향이 강해졌고, 이후 PC (Steam 배포가 주)도 추가되면서, 현재까지 일본에서도 대작 타이틀은 멀티 플랫폼이 일반화되었다. 2020년대에는 이전에는 상상하기 어려웠던 「드래곤 퀘스트 시리즈」나 「파이널 판타지 시리즈」와 같은 RPG 대작 시리즈도 멀티 플랫폼으로 출시되고 있다.
6. 장점 및 단점
크로스 플랫폼은 여러 종류의 컴퓨터 플랫폼에서 동작하는 소프트웨어를 개발하고 사용할 수 있게 해준다. 이러한 접근 방식은 개발자와 사용자 모두에게 여러 장점을 제공하지만, 몇 가지 단점도 존재한다.
장점
- 개발 비용 절감: 여러 플랫폼에서 동작하는 하나의 소프트웨어를 개발하면, 각 플랫폼별로 따로 개발하는 것보다 비용을 절약할 수 있다. 소재를 유용할 수 있으므로 제작비나 시간을 절약할 수 있다.[21]
- 더 많은 사용자 확보: 다양한 플랫폼을 지원함으로써 더 많은 사용자가 소프트웨어를 사용할 수 있게 된다. 이는 특히 비디오 게임과 같은 엔터테인먼트 소프트웨어에서 중요하다.[21]
- 개발 시간 단축: 여러 플랫폼에서 동작하는 소프트웨어를 개발하는 데 필요한 시간은 각 플랫폼별로 개발하는 것보다 짧을 수 있다.
- 유지보수 용이성: 여러 플랫폼에서 동일한 코드베이스를 공유하므로, 버그 수정 및 기능 업데이트가 용이하다.
단점
- 성능 최적화의 어려움: 각 플랫폼의 특성을 최대한 활용하여 성능을 최적화하기 어려울 수 있다.
- 개발 복잡성 증가: 여러 플랫폼을 동시에 지원해야 하므로 개발 과정이 복잡해질 수 있다.
- 플랫폼별 기능 제한: 모든 플랫폼에서 동일한 기능을 제공하기 어려울 수 있으며, 특정 플랫폼에서만 사용 가능한 기능을 활용하기 어렵다.
- 하드웨어 종속성: 게임기의 경우 인터페이스나 표시 수단 등의 동작 환경이 하드웨어에 강하게 의존하기 때문에 하드웨어 성능이 현저하게 다르면 게임 디자인을 재구성해야 할 수 있다.[21]
다음은 크로스 플랫폼을 지원하는 소프트웨어의 예시이다.
소프트웨어 | 개발사 | 주요 기능 |
---|---|---|
자바 | 오라클 | 프로그래밍 언어 |
오페라 | 오페라 소프트웨어 | 웹 브라우저 |
파이어폭스 | 모질라 재단 | 웹 브라우저 |
닷넷 MAUI | 마이크로소프트 | 응용 프로그램 개발 프레임워크 |
가정용 게임기의 경우, 하드웨어의 경계를 넘어 게임을 즐길 수 있는 플랫폼 연동 기능을 크로스 플랫폼이라고 한다.[21] 다른 하드웨어 간 플레이를 가능하게 하는 '크로스 플레이', 다른 하드웨어 간 세이브 데이터 공유를 가능하게 하는 '크로스 세이브' 등의 기능이 있다.
참조
[1]
웹사이트
Design Guidelines: Glossary
http://java.sun.com/[...]
java.sun.com
2011-10-19
[2]
웹사이트
SDD Technology blog: Definition of cross platform
https://www.sdd-tech[...]
SDD Technology
2020-10-18
[3]
웹사이트
Xamarin vs Ionic: A Mobile, Cross Platform, Shootout
https://www.codeproj[...]
2016-02-16
[4]
웹사이트
Platform Definition
http://www.linfo.org[...]
The Linux Information Project
2014-03-27
[5]
웹사이트
About Mono
http://www.mono-proj[...]
mono-project.com
2015-12-17
[6]
간행물
Browser and Feature Detection
http://msdn.microsof[...]
2011-10
[7]
서적
Companion Proceedings of the 36th International Conference on Software Engineering
https://repository.g[...]
2014
[8]
뉴스
Collabora Office suite gets a new layout for Android tablets and Chromebooks
https://www.xda-deve[...]
2021-01-15
[9]
뉴스
Collabora Office on iOS and Android Just got Better!
https://adfinis.com/[...]
2021-01-15
[10]
뉴스
Nextcloud Ubuntu Appliance adds Collabora Online to Raspberry Pi image
https://www.muylinux[...]
2021-03-30
[11]
뉴스
Quake III Arena
https://www.giantbom[...]
Giant Bombcast
2013-02-15
[12]
웹사이트
A Closer Look At The Dreamcast Internet Starter Kit
http://www.thedreamc[...]
[13]
웹사이트
The GUI Toolkit, Framework Page
https://web.archive.[...]
[14]
웹사이트
Platform Independent FAQ
http://www.zeta.org.[...]
2009-04-25
[15]
웹사이트
Cross-Platform SDK Libraries for Recognition, Document, Medical, Imaging, and Multimedia
https://www.leadtool[...]
2021-03-03
[16]
웹사이트
12 benefits of Xamarin Cross-platform app development
https://headworks.io[...]
2019-03-15
[17]
웹사이트
WxWidgets Description
http://wxwidgets.org[...]
[18]
웹사이트
Microsoft bids farewell to Windows 7 and the millions of PCs that still run it
https://www.theverge[...]
2020-02-06
[19]
문서
multi-platform
[20]
웹사이트
参考
https://www.itmedia.[...]
[21]
웹사이트
クロスプラットフォーム機能って何? プレイステーションオフィシャルサイト
http://www.jp.playst[...]
2017-10-24
[22]
웹인용
Design Guidelines: Glossary
http://java.sun.com/[...]
java.sun.com
2011-10-19
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com