기사 목록
119개의 글이 있습니다
Ruby Native로 Xcode 없이 앱스토어와 구글 플레이 출시하기
Both stores said yes
- Ruby Native를 사용하여 Xcode나 Android Studio를 전혀 열지 않고도 유료 앱 pingrb를 App Store와 Google Play에 성공적으로 출시했다.
- 단일 Rails 코드베이스와 YAML 설정 파일만으로 iOS와 안드로이드의 네이티브 UI 및 푸시 알림 기능을 구현하여 개발 복잡도를 낮췄다.
- Swift나 Kotlin 작성 없이 5일 만에 양대 마켓 심사를 통과함으로써, Rails 개발자가 모바일 앱을 빠르게 시장에 내놓을 수 있는 실질적인 경로를 제시했다.
2026년 Expo 없는 React Native 확장이 레거시 리스크인 이유
Why scaling React Native without Expo is a legacy risk in 2026
- Expo는 단순한 도구를 넘어 iOS, Android, Web을 아우르는 유니버설 런타임이자 표준 오케스트레이션 레이어로 자리 잡았다.
- 전통적인 Bare 방식은 New Architecture 대응을 위해 고도의 네이티브 전문 지식을 요구하며 기술 부채를 가중시킨다.
- Continuous Native Generation(CNG)과 EAS를 통해 네이티브 인프라 관리 부담을 제거하고 OTA 업데이트로 릴리스 속도를 극대화할 수 있다.
Swift defer로 스코프 종료 시 정리 작업 실행하기
Swift Defer. Clean up before you leave.
- Swift의 defer 블록은 선언된 위치와 관계없이 해당 블록이 속한 스코프가 끝나기 직전에 실행되며, 중괄호로 구분되는 함수나 반복문의 범위에 적용된다.
- 임시 파일을 만든 직후 삭제 작업을 defer로 등록하면 함수가 정상적으로 끝나거나 guard의 return을 만나도 스코프 종료 시 정리 코드가 실행된다.
- HealthKit 관찰 루프에서는 각 반복의 처리가 끝난 뒤 completion handler를 호출하도록 defer를 둘 수 있으며, 임시 자원·상태 변경 등의 정리에도 같은 방식을 쓸 수 있다.
편의 API를 컴파일러 알림으로 안전하게 제거하기
Deprecating your own convenience API
- 이전 iOS의 동작을 맞추려고 만든 편의 API에 `@available`을 적용하면, 배포 타깃이 올라갈 때 컴파일러가 사용 위치를 경고나 오류로 알려준다.
- `deprecated`와 `obsoleted`를 함께 지정하면 먼저 경고를 받고 이후 오류로 전환할 수 있어, 기존 코드를 단계적으로 정리할 수 있다.
- iOS 18에서는 텍스트만, iOS 26에서는 아이콘만 표시하는 `ToolbarLabelStyle`을 예로 들어 편의 래퍼의 제거 시점을 관리하는 방법을 설명한다.
Swift 없이 Ruby on Rails 앱을 App Store에 출시한 여정
Ruby on Rails to App Store, No Swift Required
- 반응형 웹과 PWA로 시작하여 최종적으로 RubyNative를 활용해 Swift 코드 한 줄 없이 iOS 앱을 App Store에 성공적으로 출시했다.
- Hotwire Native는 Rails 개발자에게 친숙하지만 Xcode와 Swift에 대한 기초 지식이 필요하며 코드베이스가 복잡해질 수 있는 단점이 있다.
- RubyNative는 YAML 설정과 HTML/CSS만으로 네이티브 앱을 구축할 수 있게 해주며, 개발자가 Ruby 지식만으로도 앱 스토어 심사를 통과하도록 돕는다.
MarkdownEngine: TextKit 2 기반의 macOS용 네이티브 마크다운 에디터 엔진
GitHub - nodes-app/swift-markdown-engine: A native AppKit Markdown editor for macOS, built on TextKit 2 and bridged...
- TextKit 2를 기반으로 macOS 환경에 최적화된 성능과 렌더링을 제공하며 SwiftUI와 연동됩니다.
- 라이브 마크다운 스타일링, 위키 링크, LaTeX 렌더링, 구문 강조가 포함된 코드 블록 등 풍부한 편집 기능을 지원합니다.
- 확장 가능한 서비스 프로토콜 구조로 이미지 제공자, 구문 강조기, LaTeX 렌더러 등을 사용자 정의할 수 있습니다.
SwiftUI 뷰를 재사용 가능하게 만드는 3가지 전략
3 Key Strategies to Make SwiftUI Views More Reusable
- 거대한 뷰의 일부를 독립된 View 구조체로 추출하면 부모 뷰는 화면 구성을 설명하고, 하위 뷰는 구체적인 UI 표현을 캡슐화할 수 있습니다.
- 여러 뷰에 공통 스타일이나 동작을 적용할 때는 ViewModifier로 수정자 묶음을 재사용하면 일관성을 유지하고 본문을 간결하게 만들 수 있습니다.
- 제네릭과 @ViewBuilder를 사용하면 내부 콘텐츠 종류를 미리 정하지 않는 컨테이너를 만들어 텍스트, 이미지, 복합 뷰에 같은 레이아웃을 적용할 수 있습니다.
Vapor 백엔드에 사용자와 bearer-token 인증 추가하기 (3)
Add Users and Authentication to My First Vapor Backend in 2026 Pt. 3
- User와 UserToken 모델을 추가하고 비밀번호 해시와 Postgres 기반 bearer token으로 가입·로그인 및 인증 사용자 조회를 구현한다.
- Link에 user_id 관계를 연결하고 모든 링크 조회·수정·삭제에서 현재 사용자 ID를 조건으로 적용해 사용자 간 데이터 접근을 차단한다.
- 인증이 필요한 링크 API와 /api/me 경로를 구성하고, 모델에 저장된 passwordHash를 노출하지 않도록 공개 응답 DTO를 별도로 사용한다.
Vapor와 Fluent로 LinkVault CRUD 백엔드 만들기
Building My First Vapor Backend in 2026 pt. 2
- Fluent 모델과 AsyncMigration을 정의해 links 테이블을 만들고, Postgres 연결과 마이그레이션을 Vapor 앱에 등록한다.
- 요청 DTO를 데이터베이스 모델과 분리하고, 링크 생성·목록·단건 조회·수정·삭제를 처리하는 HTTP 경로를 구현한다.
- Docker로 Postgres를 실행하고 마이그레이션을 적용한 뒤 curl로 CRUD 동작을 확인해 LinkVault의 첫 상태 저장형 백엔드를 완성한다.
Swift 공식 확장, Cursor·VSCodium 등으로 지원 범위 확대
What's new in Swift: April 2026 Edition
- Swift 공식 확장이 Open VSX Registry에 등록돼 Cursor, VSCodium, AWS Kiro, Google Antigravity에서 사용할 수 있게 됐다.
- 이번 IDE 지원 확대는 각 편집기의 VS Code 확장 호환성을 활용하며, Swift 개발을 지원하는 편집기 선택지를 넓힌다.
- Swift.org는 2026년 4월 8일 이 변경 사항을 발표했으며, 기사에는 확장 설치나 기능별 세부사항은 포함되지 않았다.