웹 서비스만 놓고 평가했을 때,

 

https://hajunho.com/002

Clumsy Bird - A Flappy Bird clone using MelonJS

ellisonleao.github.io

 

- ellisonleao.github.io 의 소스를 사이트에 올렸다.

클릭해서 실행해 보면, Windows, Linux, MAC, Android, iOS 던 상관없이 실행이 가능함을 알 것이다.

 

팩맨도 있다.

https://hajunho.com/004/

HTML5 Pacman

hajunho.com

이미 웹 브라우저로 이 글을 보는 독자들은 한 번 누르면 실행 되니 접근성이 매우 좋다. 그게 유명 브라우저든 웹뷰던 아류 브라우저든 관계없이 실행된다. 집 근처 가게에 가는 것처럼 접근성이 좋다. 택시나 지하철, 버스를 타지 않아도 된다.

 

간단한 게임이나 CRUD와 view layout 기술을 보면

크게 어려움 없는 기술 난이도에서 사용자에게 먼저 다가갈  있는, 초기 시장 개척이 쉽다는 것이 바로 웹의 장점이다.

 

그렇게 개척된 시장은 결국 native service에 의해 잠식당한다. Windows의 경우 Visual Studio(그래도 gcc), Linux의 경우 VIM... gcc, MAC의 경우 Xcode GCC. gcc가 아니라 msvc라 해도 좋고, llvm이라고 해도 좋다. 결국은 ARM instruction set이던, x86 기반 명령어던 아래쪽에서는 같으니까.

 

이미 아래쪽에서는 같은데 중간에 각 회사들의 철학에 맞춰 다르게 갔다가 HTML5에서 처음 합쳤다. 그리고 또 회사는 기술력과 미래에 대한 생각이 달라 시간이 흐르면, 또 각자의 길을 간다. AI를 제외하고는 남한과 북한처럼 딱히 합칠 이유도 없어지고 있다. OpenGL에 가장 많은 돈을 쓴 애플이 Metal로 전환하는 것. Eclipse에 기여하던 회사들이 그 기술을 이용하여 다시 각자의 길을 가는 것 등... IT 분야에 있다 보면 타짜의 대사가 딱 떠오른다.

 

이 바닥엔 영원한 친구도 원수도 없어.

 

빙하기, 간빙기처럼 기업에 따라, 기업 총수에 따라, 킬러 기술에 따라 변하는 것이 이 바닥이라.

 

서로 잘해보자고 붙었다가, 혼자 잘 살아 보겠다고 헤어졌다가, 상황이 여의치 않자 다시 만나거나, 한 명의 천재 혹은 슈팅스타가 나와 모든 것을 통합하던지 하는 것이 이 바닥이다.

 


웹의 경쟁 상대들과 비교했을 때,

 

웹의 미래를 보려면 같은 서비스를 만드는 다른 방식인 native 개발 방식을 봐야 한다. 절대적으로 평가하는 필드가 아니라 개발 방식에 따른 서비스의 유저 점유율이 미래를 결정하기 때문이다. 웹의 사용성은 native의 사용성을 따라갈 수 없다. 그래서 최근 마이크로 서비스가 유행했다.

 

돈이 도는 곳에 유행의 파급력이 있다. 은행권이 그렇다. 사용성 때문에 혹은 CRUD가 대부분이기에. 보안 기법은 웹 기반 사람들이 기득권이 되어 버렸었다. 그러나 토스와 카카오 뱅크가 은행의 기득권 세력을 바꾸고 있다. 범접하기 힘든 사용성과 함께 빠르게 금융 시장을 잠식해 나가고 있다. 그래서 빠르게 따라가려고 하는 사람이 지지하는 트렌드가 바로 마이크로 서비스이다. 잘게 나누고 사용성 높은 API를 쓰는 것을 마이크로 서비스로 보면 되겠다. 용어가 어려운 분은 영어 단어 사전에 담긴 단어들이 바로 마이크로 서비스고  단어로 문장을 쓰면 하나의 서비스가 나온다고 생각하면 되겠다. 단어라기 보다 , 절로 봐도 무방하다.

 

native는 브라우저만 뜻하지 않는다. 다른 공통 프레임워크가 있다. 브라우저 기준으로 나눈 것이 WEB 이다. 3D 세상이 된 지 오래고 unreal engine 이 이 분야를 통일하면서 unreal engine 같은 3D 엔진이 웹과 같은 통합 표준이 되어 가기도 한다. webGL처럼 이미 통합 시장을 먹은 WEB도 시장을 뺏기지 않으려고 꾸준히 진화하고 있다.

 

그러나 unity나 경량화된 프레임웍이 아무리 잘 나온다고 해도 하드웨어에 가장 밀착된 OS에서 제공하는 native API를 쓰는 것보다 더 사용자를 만족시킬 수는 없다. 물론, 그 native API를 제공하는 OS 보다 WEB 브라우저를 제공하는 OS 성능이 더 좋으면 평가 기준은 달라질 것이다. browser 또한 native API로 만들어진 하나의 프레임워크로 보면 좀 더 atomic 하게 떼서 사용자의 정말 가려운 부분을 긁어 줄 수 있는 것이 무엇이냐? 하면 결국 WEB은 아니다.

 

그러나 WEB은 항상 기회가 있다. 3D, IoT, AI 기술이 딱히 필요 없는 필드에서는 비용을 낮추기 위해 단기적인 개발만 한다면 WEB 기술보다 더 나은 선택지는 없다. 물론, 임직원이 계속 상주하거나 회사가 S/W를 계속해야 할 회사라면 자체 운영체제, 컴파일러까지도 고려해 보는 것이 좋겠다. 애플처럼 더 좋은 게 있으면 버리고 잘하는 회사의 제품을 살 수 있는 능력이 되는 것도 쉽지 않다. 그런 협상에서 우위를 점하기 위해 자체 솔루션 보유도 필수이다. 쉽게 말하면, 솔루션 비용으로 견적 30억을 받았는데, 우리도 비슷한 거 있다고 하면 15억으로 깎을 수 있다는 것이다.

 


다양한 측면에서,

 

unreal engine이던, 브라우저던, 하이브리드라고 명명하는 어떤 프레임웍이던 OS를 벗어나기는 힘들다. 자본주의 세상에서 거대 IT 회사는 OS 단위로 구분되어 있다고 봐도 무방하다. 애플의 OS, 마이크로소프트의 OS, 캐노니컬의 OS, 구글의 OS 등이다. 예를 든 회사도 하드웨어에 종속적이다. Intel, AMD, ARM. 사실상 ARM은 설계도만 만드는 회사니 하드웨어와 소프트웨어를 동시에 잘 만드는 회사는 애플뿐이다. 삼성은 가능성이 있고, 만들긴 하지만 잘 만들지는 못한다. 구글, 페이스북, 캐노니컬 같은 회사 역시 하드웨어를 하려고 많은 노력을 하지만 번번이 실패했다. 공산주의에 비해 경쟁을 우선시하는 민주주의 성공한 이유가 바로 여기에 있다. 그런 실패들은 다음 성공을 위한 거름이 되기 때문이다. 망한 회사의 특수 기술을 익힌 엔지니어가 성공할 회사의 기술을 담당한다고 보면 이해가 빠를 것 같다.

 

엄청난 돈이 돌아가는 모바일 분야를 보자. OS가 아닌, OS 개발사의 도움을 받지 않은, 그러나 휴대폰의 모든 기능을 회사 구분 없이 개발할 수 있게 만드는 framework는 모두 실패할 수밖에 없었다. IoT 나 3D, AI 기술이나 프레임워크를 만들기도 벅차고 임베디드 환경이기 때문이다. 이미 ram와 cpu 자원이 좁아터진 곳에 거대한 것을 넣겠다고 하면 이미 기획이 잘못된 것이다. view 부분만, 자동 업데이트 부분만, 푸시 서비스 같이 꼭 필요한 native 기능만 넣겠다고 하면 문제가 없다. 그렇게 페이스북 리액트 네이티브, IBM의 센차가 실패했다. IBM 센차의 경우 공식 홈페이지 메인 화면에 not supported라고 적었다가 최근에는 java script 만 광고하고 있고. 리액트 네이티브로 IoT를 하겠다고 다짐했던 많은 기업들은 프로젝트가 실패하며 최소 10억을 날렸다. 실리콘벨리도 마찬가지였다.

 

최근에는 휴대폰이 컴퓨터보다 더 비싸다는 생각이 든다. 100이면 좋은 데스크톱을 사는데 휴대폰은 200을 줘야 하기 때문이다.(잠시... 돈의 가치는 먼 훗날 변할 것이니 글 버전을 올리지 않으려면 단위를 빼는 게 나아 보였다) 그런데 만약 윈도즈와 맥, 리눅스에서 똑같이 개발할 수 있는 프레임웍을 만들래.라고 하면 참 우습게 보인다. 언리얼 엔진이 있고, 또 웹이라는 것이 이미 있기 때문이다. 구미에 맞는 툴을 선택해서 기능을 쓰면 될 것이 굳이 그들을 통합하는 통합 프레임웍을 만들 필요는 없다. 만약 그게 가능하다면 차라리 통일된 OS를 만드는 것이 나을 것이다.

 

IoT, AI, 3D 분야는 web이 가져가기는 힘들다. WEB 호스팅 사업자로서 웹 개발도 꽤 오래 한 것 같다.

크롬으로 접속해서  https://hajunho.com/jjj/

hajunho@kakao.com

hajunho.com

를 보면, 내 얼굴을 3D 로 띄우는 정도의 기능은 가능하다. 이 정도로 무식하게 생기진 않았는데 ㅠㅠ

데이터 시각화나 3D 모델하우스, 가상 차량 탑승 정도 수준에서는 가능하다. 고성능 게임은 미래에도 완전히 불가능 하다. 물론, 고성능 위에 새로운 용어를 만들고 시대에 따라 의미가 변하는 고성능의 스펙을 절대적으로 고정 해버리면 가능하다.(말 장난하면 가능하다는 뜻) 웹 브라우저에서 해당 기능만 떼서 서 개발할 능력이 있는 사람을 네이티브 개발자라고 보면 되겠다. 네이티브 개발자는 운영체제가 지원해 주지 않은 기능 때문에 머리 아파하고, 웹 개발자는 브라우저나 웹 프레임웍이 제대로 구현해서 올려주지 않은 네이티브 API 때문에 머리 아파 한다. 답답한 것은 신기술의 경우 OS 를 만든 회사에서 제공하는 프레임웍이 아니면 적용되는데 꽤 시간이 오래 걸린다는 점이다. S/W 분야는 패치 속도가 참 중요하다. 내가 아무리 요리를 잘해도 가져오는 재료에 문제가 있다면 어쩔 수 없다. 내가 아무리 기계를 잘 만들어도 사 오는 부품에 결함이 있다면 어쩔 수 없다. 그 부품의 결함이 빨리 눈에 보이는 것이라면 다행이지만 running time에 결함이 발견되는 경우가 있다. runtime error... 퍼블리싱이 된 경우는 사용자가 제품을 사용하는 중에 난다는 것이다. 그래서 리액트나 하이브리드, 그리고 대기업에서 자체적으로 만드는 여러 프레임웍을 경험해 봤을 때, 추상화가 덜 되어 다양한 프로그래밍 기법을 써야해서 처음에는 어렵기는 하지만 자유도가 높은 운영체제의 API를 직접 쓰는 native 쪽이 오히려 스트레스가 덜하다고 할 수 있겠다. low level을 할 수 있다는 것은 어렵기도 하지만 자유도가 높다는 뜻이다.

 

일론 머스크의 물리학적 사고의 방법과 일치한다.

http://www.ttimes.co.kr/view.html?no=2017112111417749226&ref=face

“나는 사업도 물리학의 사고방식으로 접근한다”

남들은 평생 하나 도전하기도 벅찬 일들을 동시에 해나가고 있는 엘론 머스크. 과연 그의 뇌 구조는 어떻게 작동할까? 힌트는 문제를 해부해 근본부터 다시 고민하는 제1원리 사고법.

www.ttimes.co.kr

 

 


결국은 사용성.

 

제품은 사용자를 위해 만든다.

비슷한 가격, 크기와 디자인, 기능의 제품이 있을 때 사용성은 경쟁에서 가장 중요한 포인트이다.

 

결국 이 글의 포인트는 사용성과 접근성이다.

WEB을 접근성으로 많이 이야기들 한다. 그래서 글의 첫 부분에 해당 서비스를 올린 것이다. 접근성은 충분히 알고 있으나 주요 고려 사항이 아니라는 것이다.

 

 익스플로러가 있지만 구글이 크롬을 만들었다. 사용성을 위해서. 크롬이 있지만 국내에 스윙브라우저, 웨일 브라우저 등 크롬의 크로미움을 가져가서 자사 제품의 사용성을 높이기 위해 WEB browser 시장에서 싸우고 있다.

 

크롬이 잘하고 있지만 크롬북이 실패한 이유와 또 앞으로 도전한다고 해도 실패할 이유를 잘 알고 있다. 웹이 세상을 통일할 거라 생각해서 미국 가서 샀고, 직접 오래 사용해 봐서 알 수 있었다. 인터넷 뱅킹 안되고 자주 하던 게임도 안되기 때문이었다. 그 이후로 7년 정도 지나서야 서서히 인터넷 뱅킹이 되기 시작했다. 아직 정부의 인터넷 사이트를 제대로 쓰기에는 부족해 보인다. 직접 경험해 보면 알 수 있다.  IT 시장 경쟁에서 승부를 결정짓는 한 단어를 말하라고 하면,

 

Usability, 사용성

 

이다. 일 것이다.

 

그리고 선두에 있는 player를 알아보자. framework의 경우 OS 이기도 한 Android, iOS 딱 두 개만 쓰는 native API 중심의 TOSS와 카카오 뱅크이다. 물론, 은행권의 보수적 성향 때문에 둘 다 컨소시엄에서 별 % 는 못 가져가고 있고 그 이름은 다른 은행들의 이름으로 향 후 대체될 가능성이 크긴 하다. 기억하기 위해서 이후 이 글의 version을 올리더라도 TOSS와 카카오 뱅크의 이름은 남겨두려고 한다.

 

그리고 사용성의 유일한 적은 바로 "무지" 다.

 

한 번도 안 써 본 사람은 있어도 한 번만 쓴 사람은 없다.

한 번도 안 먹어 본 사람은 있어도 한 번만 먹어 본 사람은 없다.

 

라는 것. 바로 TOSS와 카카오 뱅크를 두고 하는 말이다. 그리고 두 회사는 시장 진입 시점을 제외하고 WEB을 안 하려고 한다. 애플의 경우 API 제한뿐 아니라, 단순히 WEB view 기능만 제공하는 APP의 경우 심사에서 탈락을 시키는 경우가 많아지고 있다.

 

App Store는 2020년 4월부터 UIWebView를 사용하는 새로운 앱을 수락하지 않을 예정이며, 2020년 12월부터 UIWebView를 사용하는 앱 업데이트를 수락하지 않을 예정입니다.

 

 

http://www.yes24.com/Product/Goods/24038953?OzSrank=5

오리지널스

통념을 깨고 대세를 거스르는 독창적인 사람들스티브 잡스, 마틴 루서 킹, 에이브러햄 링컨…. 세상을 변화시킨 독창적 리더들은 어떻게 사고하고 행동하는가? 그들은 우리와 무엇이 다른가? 와

www.yes24.com

구매하기

 

이 책에서 말하는 것이 무엇인지 아는 두 회사라 앞으로의 전략일 예상해보면, 네이티브호 사용성에서 계속 승부를 볼 것 같다. 혹은, 웹으로 빠르게 접근하고 사용성을 높이기 위해 네이티브로 전환할 것이다.

 

그래서 결론,

개발자로서 웹을 평생 하겠지만, 웹의 미래는 어둡다. 결국 하드웨어를 가장 효율적으로 쓰는 OS, 그리고 그 OS에서 제공하는 API를 가장 효율적으로 쓸 수 있는 native 앱, 프로그램, 어플리케이션이 승리할 것이라 생각하기 때문이다. 사용성 때문에. 물론, 여론 조작 언론 조작 등으로 계속 살아나갈 수는 있을 것이고 그것을 계속 보고 있기 때문에 나 역시 웹을 놓기 힘들다. 지금 글을 수정하는 브런치 조차 모바일 웹 브라우저가 아닌 브런치 앱으로 접근하도록 하고 있다.

 

왜냐면 유저의 유저빌리티를 높이기 위해서.

+ Recent posts