개발자들의 영원한 로망 "크로스 플랫폼"
개발자라면 누구나 한 번쯤 꿈꿔봤을 겁니다.
“비주얼 스튜디오처럼 강력한 개발툴에, 플랫폼 설정 같은 건 신경 안 써도 되고, 그냥 빌드만 하면 모든 플랫폼에서 잘 돌아가는 마법 같은 언어.”
진짜 크로스플랫폼은 존재하는가?
요즘도 수많은 업체들이 자사의 기술이 “진짜 크로스플랫폼”이라며 홍보에 열을 올리고 있지만, 정작 개발자 입장에서는 실제 써보면 이야기가 좀 다릅니다.
지금도 뭐 각각의 업체에서 모두 자신들의 크로스플랫폼이 찐' 이라며 홍보에 정성을 다하고 있습니다.
물론 지금도 거의 99% 완벽한 크로스플랫폼 개발툴들은 있습니다.
- Qt: 시스템 수준까지 커버 가능한 진정한 크로스플랫폼 프레임워크
- Unity3D: 게임 엔진이지만, 크로스플랫폼 배포에선 독보적
그리곤 또 뭐가 있을까요.
아! 요새 유행하는 플러터요? 아님 maui? 얘네들 정말 크로스 플랫폼 맞아요? 그냥 한번 만들면 별 번거로움 없이 왠만한 기능이 다 잘 돌아가나요?
조금이라도 더 완벽한 개발언어를 찾는 입장에서 사실 시스템레벨까지 내려가지 않는 크로스플랫폼은 진정한 의미로 크로스플랫폼이라고 부르기엔 한계가 있다고 봅니다.
제가 생각하는 기준은 단순합니다:
- OS 구분 없이 화면설계는 한 번만 하면 되는가
- 백그라운드 작업 처리 방식이 동일한가
- 화면 애니메이션 구조가 동일한가
- 비디오 플레이 방식이 동일한가
- USB/시리얼 통신 방식이 동일한가
- 프린터 제어 방식이 동일한가
목적에 따라 다르겠지만 시스템까지 제어하는 개발을 하는 입장이라면 위 여섯가지 항목은 어지간한 프로그램에서는 모두 필수적인 구현요소 입니다. 그리고 이정도만 확인하면 얼추 해당 플랫폼의 지원수준이 어느정도인지 대략적으로 확인할 수 있습니다.
그런데 최근 크로스플랫폼이라는 것들 중 이런 것들을 완벽하게 지원하는 크로스플랫폼이 있던가요? flutter, maui 뭐 기타 어떤 크로스플랫폼을 가져다 놓더라도 제가 아는 선에서는 위 여섯가지를 모두 지원하는 크로스플랫폼은 Qt 말고는 없습니다.
미래엔 달라질까?
그럼 장기적으로 봤을때 지금 개발되고 있는 크로스플랫폼들이 이런것들을 완벽하게 지원할까요?
20년 정도 전쯤에 매크로미디어라는 업체에서 플래시 라는 웹용 멀티미디어 컨트롤을 개발한 적이 있었습니다. 리아(RIA - Rich Internet Application) 라고도 나중에 거창하게 이름이 붙었는데, 지금은 Adobe 가 흡수해서 없어진지 오래지만 당시에는 웹에서는 정말 혁신이라고 할 수 있을만큼의 엄청난 개발툴이었습니다.
구조자체는 액티브엑스같은 형태였어요. 단지 모든 브라우저에서 지원하는한 뷰어가 배포되는 플레이어 같은거죠.
지금으로 치면 웹어셈블리 정도 된다고 보면 될 것 같습니다.
당시 너무 획기적이어서 어느 누구도 그 파워를 따라갈 수 없었을 정도였죠. 뒤늦게 MS 에서 실버라이트라는걸 개발했었지만 브라우저 호환성의 문제가 심각해서 명함도 제대로 못 내밀어 보고 사라졌었습니다.
그 와중에 플래시는 웹시스템을 표방하며 Flex 라는걸 내어놓기도 했습니다. Flex 는 플래시가 모든 컨트롤을 일일히 구현해야 함에서 벗어나 마치 응용프로그램처럼 다양한 컴포넌트들을 기본 제공하는 플래시 플러스 알파 같은 것이었습니다.
Flex 는 한동안 매우 성공했었습니다, 별도의 액티브엑스 컨트롤을 설치하지 않고도 익스플로러 이외의 브라우저에서도 잘 돌아가는 장점때문에 대기업들에서도 차세대 시스템을 구현할때 공격적으로 사용하던 도구였습니다.
그러나 당시 모든 브라우저의 보안성문제에 적극적으로 대치하지 못하고, 당시 무서운 속도로 발전하던 모바일 호환성이 떨어지는 관계로 빠르게 사장되었습니다. 사용자들이 Flash 와 Flex 를 사용할 수 밖에 없었던 웹표준 기술이 발전하면서 웹의 취약한 부분을 대체하기 위해 만들어진 Flash, Flex 가 더 이상 필요없어진것도 이유였습니다.
HTML5 + JS + CSS3 가 Flash 나 Flex 가 가진 근본적인 보안문제를 해결할 수 있으면서도 네이티브로 그 모든걸 구현할 수 있게 된기도 했고요.
"성수역에 새로운 까페 문 열었대!!" "그래? 내일 가보자!!!"
최근 희안하게 예전보다 뭔가 신기술이 나오면 마치 성수동에 새로운 까페가 열렸다는 소식을 듣고 몇시간이고 줄을서서 방문을 하는 것 처럼 개발자들이 열성이더군요.
십여년전에는 애자일, 스크럼 스럽게 프로그래밍을 하지 않으면 마치 제대로 된 개발을 하지 않는 사람 취급을 하더니, 최근엔 분야를 막론하고 플러터, 리액트 모르면 트렌드를 못 따라가는 사람이고, 기껏해야 api 따라 붙이는 정도 작업인 ai 니 프롬프트니 하는것도 뭐 엄청난 거 가르치는 것 처럼 책도 수십권이고 그러더군요.
그냥 이 분야의 본격적인 태동때부터 개발로 밥을먹고 사는 사람 입장에서 너무 유행에 민감하게 개발할 필요는 없다고 말해주고 싶어서 오늘 또 몇자 적어봅니다.
지금 유행하는 것들 1,2년 안에 완전히 사라질 수도 있습니다.
마이크로 소프트는 실버라이트를 포기했고, 윈도폰을 접었으며, 자마린 지원이 힘들어서 때려치고, 맥용 비쥬얼스튜디오 추가 개발도 접었습니다.
블랙베리OS 사라지고, PhoneGap Cordova 사라지고, 어도비Air 정말 획기적이었지만 사라졌고, 개발대회 같은거 개최했었나? 암튼 그래서 1등하면 상준다던 바다 OS 도 사라졌습니다.
크로스플랫폼의 끝(?) 을 본 기술들
|
말하고자 하는건 그거예요.
크로스플랫폼은 사실 각 OS 제작사들의 방해아닌 방해로 인해 완벽한 크로스플랫폼으로 성장하기가 너무나 힘들다.
그래서 말은 크로스플랫폼이지만 실상 코드 열어보면 전부 예외코드 투성이의 지저분한 구조를 벗어날 수가 없다.
결국
"유행은 지나가고, 네이티브는 남는다"
라는 말이 하고 싶었습니다.
뭐 그렇다고요.
'IT트렌드' 카테고리의 다른 글
IT중개업체들의 가짜 프로젝트 등록을 통한 사용유도. (0) | 2025.04.30 |
---|---|
AI, 머신러닝, 내 프로젝트에 정말 필요한 걸까? (0) | 2025.04.28 |
중개업체 프로젝트 등록할때 유의해야 할 점. "어엇! 내 아이디어라고!!" (0) | 2025.04.28 |
부동산 중개수수료 보다 비싼 IT 중개 수수료 (1) | 2025.04.17 |
노코드 오케스트레이션의 한계 (솔루션이 필요한 사람들을 위한) (1) | 2025.04.17 |