네이티브로 끝까지 가려다 텍스트에서 막힌 macOS 개발자의 고백
20년 가까이 macOS와 iOS 네이티브 개발을 해온 작성자가 SwiftUI, AppKit, TextKit 2로 마크다운 채팅 UI를 만들다 결국 WebKit과 Electron 쪽이 훨씬 낫다는 결론에 도달한 글이다. 문제는 성능 하나가 아니라 선택, 스트리밍, 스크롤, 접근성, 텍스트 상호작용 같은 ‘사용자가 당연히 기대하는 기본기’가 네이티브 조합에서 계속 깨진다는 점이다.
- 1
SwiftUI만으로 마크다운 문서 전체 선택 같은 기본 텍스트 상호작용을 처리하기 어렵다고 지적함
- 2
NSTextView와 TextKit 2로 내려가도 SwiftUI와의 통합, 스트리밍 성능, 현대적 UI 조합에서 문제가 생김
- 3
WebKit은 마크다운 렌더링, 타이포그래피, 제어권 면에서 훨씬 안정적으로 작동했다고 평가함
- 4
Electron은 텍스트 작업과 마크다운 렌더링, Git diff 같은 기능이 예상보다 쉽게 동작했다고 말함
- 5
채팅·장문 리치 텍스트 앱에서는 웹 기반 접근이 사실상 표준이 된 이유를 설명함
‘Electron 또 씀?’이라는 반응에 대한 꽤 날카로운 반박이다. 리치 텍스트가 제품의 핵심이면 네이티브라는 이름값보다 브라우저의 텍스트 모델이 더 실용적인 선택일 수 있다는 얘기다.
관련 기사
요즘 픽셀 폰트가 그냥 복고 감성이 아닌 이유
1990년대 기기 화면 느낌을 현대 폰트 시스템으로 재해석한 픽셀 폰트 몇 가지를 소개한 글이다. 핵심은 예쁜 복고풍 글자 모양만이 아니라, 실제 제품에서 쓸 수 있게 기준선, 자간, 메타데이터, 세로 메트릭까지 챙기는지가 중요하다는 점이다.
HTML의 `<dl>`이 생각보다 쓸모 많은 이유
이 글은 HTML의 description list, 즉 `<dl>`, `<dt>`, `<dd>`가 단순 용어 사전용 태그가 아니라 이름-값 쌍 UI를 표현하는 꽤 강력한 시맨틱 도구라고 설명한다. 숙소 편의시설, 요금 내역, 기술 용어 설명, 게임 능력치표처럼 흔한 패턴을 중첩 `<div>` 대신 의미 있는 HTML로 만들 수 있다는 얘기다.
HTML을 캔버스 안에 넣는 데모 모음이 등장함
구글 크롬 랩스 저장소에 HTML-in-Canvas 관련 데모와 프레임워크 지원 목록이 정리됐다. Duck Hunt 스타일 폼, 흔들리는 버튼, 셰이더 기반 페이지 전환, 천처럼 매달린 폼 같은 실험적 예제가 포함돼 있고 Three.js와 PlayCanvas 쪽 샘플도 연결돼 있다.
싱글 페이지 앱이 웹을 너무 비싸게 만들었다는 불평
이 글은 싱글 페이지 앱(SPA)이 사용자 경험을 좋게 만든다는 명분 아래 웹의 초기 로딩 비용, 도구 복잡도, 개발 진입 장벽을 키웠다고 비판한다. 페이스북 로그인 페이지의 CSS 3.8MB, 레딧 몇 개 클릭 후 33MB 다운로드 같은 숫자를 들며, 지금의 프론트엔드 생태계가 사람보다 대기업의 요구에 맞춰져 있다고 주장한다.
Tailwind를 떠나며 다시 CSS 구조를 배운 이야기
Julia Evans가 몇 년간 써온 Tailwind를 걷어내고, 의미 있는 HTML과 순수 CSS로 사이트를 다시 정리한 경험을 공유했다. 핵심은 Tailwind를 단순히 버린 게 아니라, Tailwind가 줬던 제약과 시스템을 CSS 코드베이스 안에서 직접 재구성했다는 점이다.
댓글
댓글
댓글을 불러오는 중...