macOS에서 Hacker News를 네이티브 앱으로 즐기세요!

by DD
3개월 전
조회수 14

SwiftUI로 제작된 macOS 네이티브 Hacker News 클라이언트가 출시되어, 사이드바, 댓글 스레딩 등 다양한 기능을 제공함

광고 차단(Ad Blocking), 자동 업데이트(Auto-updates), 계정 로그인(Account Login) 등 편의 기능을 통해 웹사이트 방문의 불편함을 해소함

사용자들은 네이티브 앱(Native App)의 장점을 높이 평가하며, 텍스트 크기 조절, 키보드 네비게이션 등 기능 개선을 요청함

CI/CD 파이프라인 구축에 대한 개발자의 경험 공유를 통해 macOS 앱 배포(macOS App Distribution)에 대한 관심을 높임

SwiftUI 기반 네이티브 앱 아키텍처

개발자는 SwiftUI를 사용하여 macOS 네이티브 앱을 구축하여, 표준 macOS 디자인 패턴인 NavigationSplitView를 활용한 레이아웃을 구현했다. 또한, @Observable 매크로를 사용하여 상태 관리(State Management)를 간소화하고, async/await를 활용한 비동기 프로그래밍(Asynchronous Programming)을 통해 사용자 인터페이스(UI)의 응답성을 향상시켰다. 이러한 기술적 선택은 앱의 성능과 사용자 경험을 모두 개선하는 데 기여했다.

광고 차단 및 웹 뷰(Web View) 최적화

앱은 WKContentRuleList를 사용하여 14개의 주요 광고 네트워크를 차단하는 기능을 제공한다. 이는 별도의 확장 프로그램 없이 WebKit 레이어에서 직접 광고를 차단하여, 사용자 경험을 개선하고 웹 페이지 로딩 속도를 향상시킨다. 또한, 팝업 차단 기능을 통해 불필요한 팝업 창을 제거하여, 사용자 편의성을 높였다.

CI/CD 파이프라인 구축 및 자동 업데이트

개발자는 GitHub Actions를 사용하여 macOS 앱 배포를 위한 CI/CD 파이프라인(CI/CD Pipeline)을 구축했다. 이 파이프라인은 빌드, 코드 서명, 노터라이제이션(Notarization), DMG 생성, Sparkle 서명, GitHub Release 생성 및 appcast.xml 배포를 자동화한다. 특히, Sparkle을 통한 자동 업데이트 기능을 통해, 사용자들이 항상 최신 버전의 앱을 사용할 수 있도록 지원한다.

커뮤니티 피드백 및 기능 개선 요청

커뮤니티에서는 텍스트 크기 조절(Text Size Adjustment), 키보드 네비게이션(Keyboard Navigation), 다크 모드(Dark Mode) 강제 적용 등 다양한 기능 개선을 요청했다. 또한, 댓글을 SwiftUI로 구현하거나, 사용자 차단 기능 추가에 대한 의견도 제시되었다. 이러한 피드백은 앱의 사용자 경험을 더욱 향상시키기 위한 중요한 지표로 활용될 수 있다.

Show HN: A native macOS client for Hacker News, built with SwiftUI

댓글 0

첫 번째 댓글을 남겨보세요!