기사 목록
119개의 글이 있습니다
웹사이트를 Swift로 전면 재작성한 방법
This Website Is Now Made in Swift — Sindre Sorhus
- Astro로 만들던 웹사이트를 페이지, 컴포넌트, 스타일까지 Swift로 재작성했으며, 브라우저에는 기존처럼 HTML과 CSS, 소량의 JavaScript를 전달한다.
- 타입과 컴파일 검사를 활용해 페이지 링크, 스타일 변형, 콘텐츠 메타데이터 오류를 빌드 단계에서 발견하고, 생성된 HTML의 링크와 ID도 별도로 검사한다.
- 컴포넌트별 CSS와 스크립트만 페이지에 포함하며, 블로그 글은 압축 기준 약 14KB다. 저자는 SwiftUI와 유사한 작성 방식과 자동완성, 리팩터링을 장점으로 든다.
iPhone Duo의 자세별 size class 정리
Size classes on iPhone Duo
- 접힌 상태의 외부 디스플레이는 세로에서 compact·regular, 가로에서 compact·compact이며, 펼친 상태의 내부 디스플레이는 모든 방향에서 regular·regular를 제공한다.
- 반쯤 펼친 상태와 완전히 펼친 상태는 size class와 화면 크기가 같으므로, size class만으로는 힌지의 접힘 정도를 구분할 수 없다.
- SwiftUI와 UIKit에서 가로·세로 size class를 읽을 수 있으며, ArrangementView 내부에서는 분할 방향에 해당하는 축의 size class가 compact로 바뀐다.
iPhone Duo에서 시트 위치를 지정하는 presentationPlacement
Place a sheet on one side with presentationPlacement on iPhone Duo
- iOS 27의 SwiftUI `presentationPlacement(_:)`와 UIKit `preferredPlacement`는 펼친 iPhone Duo에서 시트를 왼쪽·가운데·오른쪽에 배치하도록 지정한다.
- 완전히 펼친 화면에서 `.trailing`은 시트를 세로 바 옆에 놓아 시트의 닫기·완료 버튼도 세로 컨트롤로 배치하고, `.leading`은 가로 툴바를 유지한다.
- 위치는 시스템 선호값이므로 반쯤 접혔을 때 시트는 힌지를 피하며, 접힌 외부 화면이나 일반 iPhone에서는 화면 너비를 채워 placement가 달라지지 않는다.
Swift 6.4와 Vapor 5 베타, 9월 Swift 생태계 주요 소식
What's new in Swift: September 2026 Edition
- Swift 6.4가 출시됐으며 Swift Package Manager의 기본 빌드 시스템이 Swift Build로 바뀌고, Subprocess 1.0과 JavaScriptKit의 WebAssembly 브리징 성능 개선이 포함됐다.
- Vapor는 10주년을 맞아 Vapor 5 첫 베타를 공개했다. 전면 재작성과 구조적 동시성 지원을 포함하며 EventLoopFutures를 제거하고 Swift HTTP Server를 활용한다.
- Google Cloud Swift SDK, Swift AWS Lambda Runtime 3.0, WasmKit 0.4 등 서버·WebAssembly 관련 도구가 업데이트됐고 Swift Evolution 제안도 심사 또는 채택 단계에 올랐다.
Cloudflare AI Gateway용 비공개 Swift 패키지 공개
Secure Swift Packages for Cloudflare’s AI Gateway
- 모바일 앱에서 AI API 키와 요청이 추적·탈취될 수 있고 사용 비용도 발생하므로, 이를 앱 요청에 직접 포함하는 위험을 글의 배경으로 제시한다.
- 작성자는 이 문제를 해결하기 위해 Cloudflare AI Gateway를 위한 프로덕션용 Swift 패키지 여러 개를 만들었으며, 필요할 때 앱에 배포할 수 있다고 설명한다.
- 패키지는 오픈 소스로 공개하지 않고 유료 구독자에게 GitHub 저장소 접근을 제공한다. 본문 발췌에는 패키지별 기능이나 구현 방식이 나오지 않는다.
iOS 26에서 툴바 항목의 Liquid Glass 배경을 나누는 방법
When toolbar items share a glass background in iOS 26
- iOS 26에서는 같은 가장자리에서 이웃한 툴바 항목이 기본적으로 하나의 Liquid Glass 캡슐을 공유하며, ToolbarItem의 분리 여부나 버튼·텍스트·사용자 지정 뷰의 종류는 병합을 막지 않는다.
- 다른 영역에 놓인 항목, prominent 스타일 또는 role: .confirm을 사용하는 항목, sharedBackgroundVisibility(.hidden)으로 배경을 끈 항목은 이웃과 별도의 캡슐로 표시된다.
- 항목 사이에 ToolbarSpacer를 두면 캡슐을 명시적으로 분리할 수 있다. .fixed는 작은 간격을 만들고, .flexible은 하단 바에서 항목을 양쪽으로 밀어 배치한다.
Swift와 AI 개발 도구: 이번 주 소식
This Week in Swift x AI
- AskHIG는 질문에 맞는 Human Interface Guidelines 가이드만 에이전트에 제공해, 158개 가이드 전체를 컨텍스트에 넣을 때 발생하는 최대 54만 토큰 사용을 줄이도록 설계됐다.
- Swift 개발용 에이전트 skill과 테스트 감사 도구가 소개됐고, SF Symbols CLI는 심볼 검색·필터링·내보내기를 지원해 에이전트가 존재하지 않는 심볼을 사용하는 일을 막는다.
- Xcode 27.1에는 iPhone Duo용 resizability skill이 포함됐으며, Xcode 27.2에는 프로젝트를 에이전트가 다루기 쉬운 JSON 형식으로 변환하는 옵션이 추가됐다.
RocketTrace로 Xcode Instruments 분석을 AI 에이전트에 연결하기
Introducing RocketTrace: Using Xcode Instruments with AI Agents
- RocketTrace는 Instruments 기록을 로컬에서 분석해 측정 근거가 포함된 성능 문제를 영향도순으로 정리하고, AI 에이전트가 읽을 간결한 결과를 제공합니다.
- 벤치마크에서 두 모델은 RocketTrace를 사용해 더 많은 문제를 찾고 토큰을 약 6분의 1로 줄였으며, 분석 시간도 대략 절반으로 단축했습니다.
- 에이전트는 CLI와 Agent Skill로 기록을 시작하고 결과를 단계별로 조회할 수 있습니다. 완전한 분석을 위해서는 상위 항목에 그치지 않고 모든 finding을 읽어야 합니다.
AI 에이전트가 나보다 나은 구현을 선택했을 때
It happened. AI made a smarter decision than me...
- 복잡한 RAG + Jev 워크플로에서 에이전트는 여러 흐름을 시험하고, golden example 프롬프트 결과가 가장 좋은 구성을 선택했다.
- 작성자는 처음에 하드코딩 예외와 병렬 처리 방식을 거부했지만, 데이터베이스 백엔드와 검색 흐름을 직접 시험한 뒤 같은 결론에 도달했다.
- Swift 작업에서 AI의 실수를 고쳐 왔던 작성자는 에이전트의 개선을 경험하며, 자신보다 뛰어난 지능과 함께 일하는 것을 긍정적으로 받아들인다.
서버 사이드 Swift를 위한 Google Cloud 공식 SDK 공개
Introducing the Server Side Cloud Swift SDK | Google Cloud Blog
- Google Cloud가 Swift 6.2 이상과 Swift NIO, HTTP/2, gRPC를 기반으로 한 서버 사이드용 공식 API Client Libraries for Swift를 공개했다.
- google-cloud-swift는 Cloud Storage, AI, IAM을 비롯한 100개 이상의 Google Cloud 서비스에 접근하며 Cloud Run, GKE, Compute Engine에 배포할 수 있다.
- Swift Package Manager로 서비스별 패키지를 추가하고 기본 자격 증명이나 API 키를 설정하면 async/await와 비동기 시퀀스를 사용하는 클라이언트를 구성할 수 있다.