네이티브 앱, 텍스트 렌더링은 왜 이렇게 어려울까?
저자는 네이티브 macOS/iOS 앱에서 텍스트 렌더링(Text Rendering)의 어려움을 토로하며, 특히 Markdown 지원에 대한 기술적 한계를 지적함.
SwiftUI, AppKit, TextKit 등 네이티브 기술의 미성숙함과 성능 문제를 언급하며, 웹 기술(Web Technologies) 기반의 접근 방식의 효율성을 강조함.
커뮤니티에서는 네이티브 텍스트 렌더링의 어려움에 공감하며, WebKit 또는 Electron과 같은 웹 기술의 대안을 제시함.
일부 개발자는 네이티브 환경에서도 고성능 텍스트 편집기를 구현할 수 있다고 주장하며, 기술적 해결책에 대한 논쟁이 벌어짐.
네이티브 텍스트 렌더링의 기술적 한계
게시자는 네이티브 macOS/iOS 환경에서 Markdown 렌더링(Markdown Rendering)과 텍스트 선택 기능을 구현하는 데 어려움을 겪었다고 밝힌다. SwiftUI, AppKit, TextKit 2 등 다양한 기술을 시도했지만, 성능 저하, 버그, 기능 부족 등의 문제에 직면했다는 것이다. 특히, 스트리밍 텍스트 처리와 같은 현대적인 요구사항을 충족하는 데 어려움을 겪었다고 언급하며, 네이티브 기술의 성숙도 부족을 지적한다.
웹 기술 기반 렌더링의 대안
저자는 네이티브 기술의 한계를 극복하기 위해 WebKit 기반의 렌더링을 시도하고, 웹 기술의 장점을 강조한다. WebKit은 성능, 타이포그래피, 제어 측면에서 우수한 결과를 보였으며, Electron을 사용하여 Markdown 렌더링, 텍스트 조작, macOS 통합 등을 쉽게 구현할 수 있었다고 언급한다. 이는 웹 기술이 텍스트 기반 앱 개발에 있어 강력한 대안이 될 수 있음을 시사한다.
커뮤니티의 다양한 의견
커뮤니티에서는 네이티브 텍스트 렌더링의 어려움에 공감하며, 다양한 해결책과 의견을 제시한다. 일부 개발자는 WebKit을 활용하는 방식을 제안하고, 다른 개발자는 네이티브 환경에서도 고성능 텍스트 편집기를 구현할 수 있다고 주장한다. 또한, Electron과 같은 웹 기술을 사용하는 것에 대한 긍정적인 평가와 함께, 네이티브 기술의 발전을 촉구하는 의견도 제시된다. 기술적 난이도(Implementation Challenges)에 대한 다양한 시각이 존재한다.
성능 및 생산성 트레이드오프
일부 댓글에서는 네이티브 API 대신 웹 뷰를 사용하는 이유가 과거에는 성능 때문이었지만, 현재는 상황이 달라졌다고 주장한다. 브라우저 렌더링 엔진의 발전과 GPU 가속, 그리고 웹 앱의 광범위한 사용으로 인해 웹 기술의 성능이 향상되었다는 것이다. 반면, SwiftUI는 아직 성능 면에서 개선의 여지가 있다는 평가를 받는다. 성능(Performance)과 개발 생산성(Development Productivity) 사이의 트레이드오프에 대한 논의가 이루어진다.