피드로 돌아가기
Hacker NewsInfrastructure
원문 읽기
Objective-C++ Cocoa UI 도입을 통한 Notepad++ macOS 네이티브 포팅
Notepad++ Code Editor Comes to Mac After 20-Year Wait
AI 요약
Context
Windows 전용 Win32 API 기반의 Notepad++ codebase를 macOS 환경으로 확장하려는 요구 발생. 기존 Wine 또는 CrossOver 기반의 호환 레이어 사용으로 인한 성능 저하와 사용자 경험의 불일치 해결이 필요했던 상황.
Technical Solution
- Scintilla engine 및 핵심 비즈니스 로직을 유지한 채 Windows 의존적인 Front-end 계층만 분리
- Win32 UI를 대체하기 위해 Objective-C++ 기반의 Cocoa API를 적용한 새로운 UI 레이어 설계
- Apple Silicon과 Intel 아키텍처 모두 지원하는 Universal Binary 형태로 빌드하여 하드웨어 호환성 확보
- macOS 표준 메뉴, 다이얼로그, 파일 피커 및 단축키 시스템을 Cocoa API로 구현하여 네이티브 UX 제공
- GNU General Public License 기반의 오픈소스 포팅 방식을 통한 코드베이스 전이
실천 포인트
레거시 소프트웨어의 플랫폼 확장 시 핵심 엔진(Core Logic)은 유지하고 OS 종속적인 UI 계층만 분리하여 재구현하는 전략 검토