나는 주로 삼성을 사용하지만 그렇다고 삼성을 믿는 신자도 아니고
애플을 주로 사용하진 않지만 그렇다고 애플을 싫어하는 광신도도 아니다.
그렇지만 항상 나의 발목을 잡고 놓아주지 않는 건,
독자적인 애플의 생태계, 소프트웨어성이 문제다.
태초, 웹의 생테계가 매우 혼란스러워 브라우저마다 제각기 표현하는 방식이 달랐고
누구는 이미지가 왼쪽에 글씨를 가리며 보인다던지, 누구는 이미지가 아예 보이지 않는다던지 등,
표현 방식에 일관성이 없었기에 이는 사용자가 웹을 사용함에 있어서 온전히 불편함을 감수해야 했다.
이런 문제를 해결하고자,
W3C(World Wide Web Consortium)에서 웹 표준을 정의하고 추진하기 시작했다.
특히 웹에서 사용되는 HTML, CSS, JavaScript 언어는 표준에 도달하고자 지속적으로 개선이 되었다.
지금 우리는 웹을 사용하면서 사용자마다 일관된 동작과 시각으로 볼 수 있는 것은,
불협화음을 개선하고자 하는 여러 개발자들의 의지가 있었기에 가능했다.
물론 아직까지 크로스 브라우저 체크는 필수 덕목이다.
<input> 의 브라우저별 작동 방식이 서로 다르며,
이상하게 표준에서 조금씩 엇나간 브라우저들이 지구에 존재하며,
디바이스별 크기나 뷰 포트 크기(네이버 웨일의 사이드 바)는 항시 고려해야될 대상이기 때문이다.
다만, 이것은 Apple의 호환성 문제에 비하면 아무 것도 아니다.
사용자에게 애플스러운? 문제가 생기면
"혹시 맥이나 아이폰 사용중이신가요?"
라고 먼저 물어보게 된다.
Apple은 자체 Webkit 엔진에서부터 오는 문제점과,
Apple이 채택하여 사용중인 HEVC(HEIF)파일 업로드 등
항상 개발할 때 "Apple"이란 제품의 호환을 위해 신중하게 고려해야 해서 머리를 아프게 한다.
애플 독자적 소프트웨어에서는 정말 작은 범주에서부터 큰 문제를 일으킨다.
웹에서는 표준적인 확장명 이미지, 대표적으로 JPG, PNG 파일 형식을 읽을 수 있는데
안드로이드에서는 사진을 촬영하면 기본이 JPG이고 원한다면 AVIF를 사용할 수 있다.
AVIF를 채택하면 호환성에 대해 경고 문구가 나오고 선택권을 부여하는 형식인데
맥북이나 아이폰에서 이미지 기본 형식이 HEIC이라는 점 때문에
파일 검증과 표준 포맷으로 이미지 변환은 선택이 아닌 필수적으로 진행되어야 한다.
폰트의 호환성, 최신 기술의 지원 문제도 있다.
몇몇 폰트들이 브라우저 단계에서 로드되지 않아서 이유를 알아보니 애플 제품(맥북 등)에서는 지원을 하지 않았다.
분명하게도 woff2 형식을 지원한다고 스펙상으로는 명시되어 있었기에,
이 문제에 대해서 찾아내느라(이게 문제가 될 거라곤 생각을 못한) 너무나도 큰 시간과 자원을 낭비했다.
woff2 말고도 woff를 동시 지원하여 해결했지만 참으로 어이가 없었다.
CSS의 동작 방식도 독특한데,
부모 태그에 flex, grid, relative, absolute 가 적용되어 있을 때 width: auto; 의 작동 방식이 사뭇 다르다.
따라서 표준대로 작동하게 하려면 자식 태그에 width: 100%; 기입을 해야 한다.
또 개방적인 안드로이드와는 달리,
안정적으로 애플의 앱을 만들기 위해서는 자사 제품을 소지하고 있어야 하는데
제품 가격들이 그리 만만치 않다는 점들이 불만을 갖게 한다.
이 외에도, 정말 별 거 아니면서도 별 거였던 문제들이 스트레스를 너무 주다보니 주절주절 해버렸다.
진짜 개발할 때 Apple 문제점을 나열하자면 끝도 없이 나열할 수 있을 것 같은데 이제 그만 작성하려 한다.
결과적으로는 애플을 욕하는 게 되버렸는데 폐쇄적인 운영 방침인 애플을 존중하지만
조금 더 개발자 입장에서 친화적인 스탠스로 운영해주길 바라는 입장이다.