-
Xcode의 에이전트를 사용하여 UI 프로토타입 생성하기
Xcode의 에이전트를 사용하여 앱의 프로토타입을 만드는 방법을 알아보세요. AI를 사용하여 상호작용의 프로토타입을 만들고, 레이아웃을 반복하며, 디자인 관련 과제를 해결하는 창의적인 솔루션을 생성하기 위한 다양한 기법을 살펴보세요. 아이디어를 비판적으로 평가하여 사용자 중심의 세련된 앱 경험으로 향상하는 방법을 알아봅니다.
챕터
- 0:00 - Introduction
- 2:56 - Exploring UI possibilities
- 7:31 - Making your app feel lived in
- 11:19 - Tuning key moments
- 17:31 - Next steps
리소스
관련 비디오
WWDC26
-
비디오 검색…
안녕하세요, 저는 Sam이고 Apple 디자인 팀의 프로토타이퍼입니다 생태계 전반에서 사람들이 사랑하는 상호작용과 즐거운 순간들은 반복, 시행착오, 세밀한 튜닝의 결과물입니다 앱 제작이 그 어느 때보다 쉬워진 지금 의도를 담은 디자인이 차별화의 핵심입니다 바로 여기서 프로토타이핑이 등장합니다 프로토타이핑은 다양한 디자인 아이디어를 빠르게 시험하는 과정이며, 그 어느 때보다 중요합니다
오늘은 Xcode의 새 도구를 활용해 앱 개발 초기 디자인 과제를 해결하는 방법을 알려드리겠습니다 미완성된 초기 생성 인터페이스에서 의도적이고 독창적인 디자인으로 나아가는 방법입니다
Xcode 에이전트를 활용해 개발 과정에서 창의적인 출발점을 찾는 방법을 알려드리겠습니다 다음으로는 실제 콘텐츠를 불러와 앱에 생동감을 더하는 방법을 다룹니다 마지막으로 앱의 핵심 순간과 상호작용을 다듬는 기법들을 살펴보겠습니다 시작하기 전에 Xcode 내의 두 가지 강력한 기능을 먼저 익혀두는 것이 좋습니다 함께 살펴보겠습니다 첫 번째는 코딩 에이전트입니다 코딩 에이전트를 사용하면 만들고 싶은 것을 설명하는 것만으로 아이디어를 현실로 구현할 수 있습니다 먼저 새 대화 버튼을 누른 뒤 원하는 코드 변경 사항이나 구현할 기능을 입력하세요
나머지는 에이전트가 알아서 처리합니다
두 번째는 Xcode previews입니다 Xcode previews를 사용하면 변경할 때마다 다시 빌드하지 않고 UI를 시각화하고 조작할 수 있습니다 미리 보기를 사용하려면 먼저 Swift 파일에 미리 보기 뷰가 지정되어 있어야 합니다 그게 무엇인지 모르셔도 걱정하지 마세요
Show Canvas 버튼을 클릭하면 Swift previews에 접근할 수 있습니다 미리 보기가 바로 표시됩니다 코딩 에이전트와 Xcode previews를 함께 쓰면 앱의 핵심 화면 프로토타이핑을 크게 향상시킬 수 있습니다 에이전트는 실제 네이티브 코드를 생성하므로 앱 개발을 이어가면서 그 코드를 그대로 활용할 수 있습니다 이 도구들에 비판적 사고를 맡기지 마세요 궁극적으로 앱을 사용하는 사람들에게 최선의 경험을 만드는 판단은 여러분의 몫입니다 코딩 에이전트는 최선의 경험이 무엇인지 함께 찾아가는 프로토타이핑의 협력자로 생각하세요 최종 결정권은 항상 여러분에게 있습니다 이제 UI 가능성 탐색부터 시작해 보겠습니다 독서 클럽을 관리하는 앱을 만들고 싶다고 가정해 보겠습니다 저처럼 빨리 시작하고 싶으실 수도 있습니다 Xcode 에이전트에게 이렇게 요청하고 싶을 수 있습니다 "정기적으로 모이는 독서 클럽 관리 UI를 만들어 줘" 흥미로운 결과가 나올 수 있지만 프롬프트가 모호해서 몇 가지 문제가 생깁니다
에이전트가 임의의 레이아웃을 생성했습니다 작동은 되더라도 이런 앱을 구성하는 여러 방법 중 하나에 불과합니다
프롬프트에 명확히 정의되지 않아 앱 기능을 임의로 추측했습니다 투표 기능이나 포토 갤러리는 원하지 않는다면 결함 있는 출발점에 갇히거나 얽매이기 쉽습니다 예를 들어 다른 기능 세트에서 더 적합했을 임의의 내비게이션 요소에 묶여버릴 수 있습니다
원하는 기능이 표시되도록 인터페이스를 수정하다 보면 기능이 비대해지고 어색하며 세련되지 않을 수 있습니다 이를 피하려면 프롬프트를 훨씬 더 구체적으로 작성해야 합니다 처음부터 앱에 원하는 기능과 핵심 요소들을 충분히 생각해 보세요 앱이 해결해야 할 문제에 대해서는 에이전트보다 여러분이 더 잘 알고 있습니다 스타일 관련 단서를 제공하세요 앱이 전달하고자 하는 분위기나 느낌에 대한 직관이 있다면 프롬프트에 표현하세요 예를 들어 독서 클럽이라면 카페의 따뜻한 분위기와 그 색상을 담고 싶으신가요? 아니면 종이의 질감과 아름다운 타이포그래피를 강조하고 싶으신가요? 마지막으로, 가장 중요하게는, 여러 가지 옵션을 요청하세요 초기 단계는 여러 가지 방향을 평가하고 탐색하기에 가장 좋은 기회입니다 더 나은 프롬프트 예시를 보여드리겠습니다 자세히 읽고 싶으시다면 잠깐 멈춰도 됩니다
먼저 여러 가지 변형을 요청합니다
원하는 기능을 구체적으로 명시하고 각 변형에 고유한 이름의 Swift preview를 지정합니다 짜잔! Xcode의 코딩 에이전트가 프롬프트에 따라 10가지 솔루션을 생성했습니다 이렇게 클릭해서 이동할 수 있습니다 계속 이어집니다
코딩 에이전트가 Club Hub라는 이름의 탭 구조 버전을 생성했습니다 Cozy라는 이름의 이 변형은 시스템 New York 서체를 사용하며 현재 도서 제목과 모임 장소를 명확히 보여줍니다 진행 상황을 추적하는 레이스트랙 메타포를 사용한 흥미로운 버전도 만들었습니다 Editorial이라는 이 버전은 타이포그래피가 아름답고 레이아웃이 매우 깔끔합니다 Blueprint atelier는 그리드에서 상세 페이지로 이동합니다
그리고 이건... 시도해볼 만하긴 했네요 생성된 제안들에서 마음에 드는 요소들이 각각 다를 수 있습니다 그럴 때는 마음에 드는 변형과 다른 것과 조합하고 싶은 요소를 명시하는 프롬프트로 이어가세요 자신에게 맞는 결과에 도달하는 데 도움이 됩니다 독서 클럽 앱을 위해 생성된 변형들 중 마음에 드는 기능 목록을 나열하는 것으로 시작하겠습니다 이번에도 각 반복 작업에 고유한 이름의 Swift preview를 요청합니다 에이전트는 제가 원한 요소들만으로 순위표와 현재 도서 이미지를 포함한 새로운 하이브리드를 만들었습니다
이 과정을 즐겨보세요 요약하자면, 넓게 펼치고, 리믹스하고, 반복하세요
다양한 변형을 만들어 어떤 요소나 아이디어가 영감을 주는지 살펴보세요 Xcode 코딩 에이전트의 가장 큰 장점은 새롭고 흥미로운 개념을 지치지 않고 계속 만들어낸다는 것입니다 독서 클럽 앱을 위해 Cozy Club 변형에서 영감을 받은 디자인에서 레이스트랙 시각 요소를 통합한 디자인으로 발전시켰습니다
그다음 중립적인 외관을 가진 것으로... 단순화하고 중복을 줄인 것으로 발전시켰습니다 이 방향이 반복 작업에 좋은 출발점이라고 생각합니다 앱 구조에 대한 방향이 잡혔으니 인터랙티비티와 세부 개선 작업으로 넘어가겠습니다 이제 실제 콘텐츠를 가져와 앱에 생동감을 더하는 방법으로 넘어가겠습니다 앱 개발 초기에 다양한 사람들이 앱을 써보고 개선 방향을 안내할 피드백을 제공하는 것이 좋습니다 하지만 일부 앱은 사용자가 직접 콘텐츠로 시험해볼 수 있는 상태가 되려면 아직 시간이 걸릴 수 있습니다 다행히 에이전트가 앱을 실제로 사용하는 사람 역할을 하여 앱이 실제 사용될 때 어떤 느낌인지 파악하는 데 도움을 줍니다 이미지와 함께 에이전트를 활용하면 빈 템플릿에서 풍부하고 생동감 있는 실제 사용에 가까운 모습으로 바꿀 수 있습니다 앱에 생동감을 더하는 프롬프팅 팁들을 알아보겠습니다 첫째로, 다시 한번 강조하지만 미리 보기를 하나가 아닌 여러 개 요청하세요 둘째, 직접 엣지 케이스를 생각해 보세요 예를 들어 제 앱에서 아직 모임이 예정되지 않은 경우 상세 영역이 어떻게 보일까요? 에이전트가 놓치는 부분을 최소화하도록 반복할 인터페이스 상태를 구체적으로 명시하세요 샘플 콘텐츠가 앱 사용자에게 그럴듯하도록 충분한 맥락을 제공해야 합니다 이 경우 토론과 같은 샘플 콘텐츠가 도서를 중심으로 이루어져야 합니다 무한히 늘어날 수 있는 인터페이스 요소들에 주의를 기울이세요 클럽의 회원 수, 메시지 대화 길이 이전 도서 수 등을 고려하세요 긴 입력과 같은 경우도 포함될 수 있습니다 텍스트가 잘리는 것이 적절한가요? 아니면 여러 줄을 사용해야 할까요? 해당되는 경우, 에이전트에게 예시 콘텐츠를 별도 파일에 재사용·수정 가능하도록 작성해 달라고 요청하세요 제가 사용할 프롬프트 예시를 보여드리겠습니다 상상할 수 있는 엣지 케이스를 구체적으로 명시합니다
샘플 모델을 쉽게 수정하고 향후 프로토타입에서 재사용할 수 있도록 만들어야 합니다 마지막으로 각 변형에 수정 시 참조할 수 있는 설명적인 이름의 Swift preview를 지정합니다 Xcode가 제시하는 결과입니다 각 변형마다 자체 탭이 있어 빠르게 전환할 수 있습니다
이 예시에서 새 도서 지정이나 계정 관리를 위한 빈 화면 UI가 없다는 것을 알았습니다 계정 관리와 클릭 유도 컨트롤을 추가해 해결했습니다 이 변형에서 다음 모임 설명이 너무 길면 도서 표지를 가릴 수 있다는 것을 알았습니다 잘라내기를 허용해 해결했습니다 사실 도서 제목이 표지와 중복된다는 것을 알고 단순화했습니다
리더보드에 참가자가 너무 많으면 매우 길어진다는 것을 알았습니다 그러면 스크롤을 많이 해야 토론을 볼 수 있습니다 대신 순위를 항상 볼 수 있도록 하고 확장 컨트롤로 전체 목록을 볼 수 있게 했습니다
도서 표지들에 UI가 반응하는 것을 보고 상세 페이지에서 색상에 맞게 뷰가 조정되도록 시도해 봤습니다 이처럼 실제 콘텐츠를 인터페이스에 가져오면 사람들이 앱을 어떻게 경험할지 더 잘 이해할 수 있습니다 실제로 앱을 사용하는 사람들의 피드백을 받는 것이 가장 좋은 방법입니다 하지만 이것은 프로토타이핑의 피드백 단계에 미리 대비하는 훌륭한 방법입니다 이제 애니메이션과 상호작용의 핵심 순간 튜닝에 집중하겠습니다 지금까지 Xcode의 에이전트가 내비게이션, 컨트롤 등 인터페이스의 정적 요소를 반복 개선하는 방법을 설명했습니다 서체와 색상도 포함해서요 하지만 SwiftUI는 정적인 것을 넘어 상호작용, 애니메이션, 전환의 세계로 나아갈 수 있게 합니다 다소 어려울 수 있으므로 앱의 핵심 순간을 완벽하게 튜닝하는 애니메이션 스타일과 기법을 알아보겠습니다 첫 번째 애니메이션 스타일은 이즈입니다 이 스타일에서는 물체가 천천히 가속하거나 감속하거나, 또는 둘 다 합니다 애니메이션 시간을 직접 설정할 수 있습니다 스프링은 이름처럼 스프링 힘에 끌리는 물체의 특유한 움직임을 모방합니다 스프링에는 stiffness, damping, mass라는 세 가지 조정 가능한 파라미터가 있습니다 애니메이션 외에도 UI에서 마주칠 수 있는 다른 동적 요소들이 있습니다 누군가가 요소를 드래그하거나 상호작용할 때 그 요소가 얼마나 무겁게 느껴져야 할까요? 이것이 바로 마찰과 관성입니다 한번 살펴보겠습니다
이 Music 예시에서 이 시트를 닫을 때 무게감을 느낍니다
기기 모션입니다 가속도계나 자이로스코프 같은 센서에서 발생하는 기기 모션에 앱이 어떻게 반응하나요? Wallet에서 Apple Cash 카드에 홍채 빛 시차 효과가 나타나는 것처럼요
아니면 햅틱은요? 앱이 핵심 순간이나 특별한 모드를 전달하기 위해 햅틱을 어떻게 활용하나요 Find My에서의 햅틱 활용처럼요
찾으려는 물체에 가까워지고 있음을 알려주는 것처럼요 이 앱에서 핵심 순간은 애니메이션과 관련이 있어서 이 부분에 집중하겠습니다 애니메이션을 튜닝할 때 각 값은 약간씩 다른 느낌을 줍니다 이 인터페이스에 맞는 값을 어떻게 빠르게 결정할까요? 한 가지 방법은 Xcode previews를 사용해 코드의 관련 상수를 수정하는 것입니다 이 방법은 잘 작동하지만 관심 있는 상수들이 코드 여러 곳에 흩어져 있으면 컨텍스트 전환이 불편할 수 있습니다 인터페이스에 관련된 특정 파라미터를 튜닝하는 커스텀 UI를 만드는 것이 더 쉬울 수 있습니다 이 원칙을 보여주는 간단한 인터페이스가 있습니다
여기서 인터페이스 요소를 목표 지점으로 던져 이 상호작용에 관련된 스프링 속성들을 이해합니다 메뉴 버튼을 누르면 다른 파라미터를 시험해볼 수 있는 튜닝 패널이 나타납니다
여기서 Xcode가 크게 도움이 됩니다 UI를 직접 만들지 말고 에이전트에게 조정 가능한 파라미터를 표시하는 UI를 만들도록 요청하세요 Xcode 에이전트에게 UI 튜닝 패널 제작을 요청할 때 몇 가지 모범 사례가 있습니다 반복하고 싶은 내용을 최대한 구체적으로 설명하세요 다양한 애니메이션 스타일이나 스프링 곡선의 세부 사항을 탐색하고 계신가요? 애니메이션에 여러 요소가 있나요, 아니면 뷰 계층에서 요소가 들어오고 나가는 전환이 있나요? 튜닝 패널을 이해하기 쉽게 유지하려면 애니메이션을 단계별로 나누도록 요청하세요 이렇게 하면 여러분과 에이전트가 애니메이션의 특정 부분에 대한 공통 어휘를 갖게 됩니다 예를 들어 이 애니메이션은 두 단계로 이루어집니다 1단계에서는 뷰가 상세 페이지로 전환됩니다 2단계에서는 이후 모든 콘텐츠 행이 시간차를 두고 애니메이션으로 나타납니다
튜닝 패널은 다양한 목적에 유용하다는 것을 인식하세요 애니메이션 파라미터 튜닝뿐만 아니라 앱 상태, 색상, 폰트 스타일, 시각적 오프셋 전환에도 유용합니다 마지막으로 더 넓은 창에서 UI를 나란히 배치하는 튜닝 패널 레이아웃을 지정해 보세요 이렇게 하면 컨텍스트 전환 없이 UI 설정을 토글하고 효과를 확인할 수 있습니다 예를 들어 콘텐츠를 가리는 이 튜닝 패널 레이아웃은 더 큰 창에서 이렇게 표시됩니다
이 전환에 뭔가 잘못된 것 같습니다 지연과 시간차 등장 타이밍과 관련이 있는 것 같습니다 완벽하게 튜닝해 보겠습니다 사용할 프롬프트 예시를 보여드리겠습니다 개요에서 애니메이션을 관리하기 위한 튜닝 패널을 원한다고 명시합니다 애니메이션의 단계를 명시합니다 관심 있는 파라미터와 옵션을 명시하고 어색한 모달이 아닌 UI 옆에 나란히 표시되도록 합니다
에이전트는 스프링 예시처럼 토글할 수 있는 뷰를 줬지만 어색하고 뷰가 가려져 있습니다 하지만 이 크기 조절 컨트롤을 클릭하면 더 넓은 캔버스에서 전환을 튜닝할 수 있습니다
이제 튜닝 패널과 UI를 앞뒤로 이동하지 않고 애니메이션을 편안하게 조정할 수 있습니다 애니메이션의 특정 단계를 단독으로 확인할 수 있는 개별 컨트롤을 만들었습니다 이 다양한 파라미터가 애니메이션에 어떤 영향을 미치는지 빠르게 파악할 수 있습니다
지연과 시간차 등장과 관련된 값을 줄여야 할 것 같습니다
바운시 프리셋 애니메이션 스타일도 시도해 보겠습니다
좋습니다, 정말 좋은 느낌이네요 도서 표지가 전환된 후 실행되는 애니메이션 시퀀스가 부드럽고 즐겁습니다 다시 한번 보겠습니다
이것은 Xcode에서 코딩 에이전트와 함께 프로토타이핑하는 가장 강력한 흐름 중 하나입니다 뷰의 여러 구성을 관리하거나 다양한 애니메이션 또는 상호작용 파라미터를 결정할 때마다 튜닝 패널을 만들고, 피드백 루프를 줄이고 앱에 최적인 것을 찾으세요
오늘 많은 것을 다뤘습니다 에이전트를 디자이너가 아니라 최선의 앱 경험에 도달하는 데 도움을 주는 협력자로 생각하는 것이 핵심입니다
코딩 에이전트를 여러분의 프로세스에 활용하는 더 창의적인 방법을 찾아내실 거라 믿습니다 더 알아보시려면 "Xcode, agents, and you" 영상을 시청하세요 이 도구들은 궁극적으로 앱을 사용하는 사람들에게 최선의 경험을 찾는 데 도움을 주기 위해 있습니다 핵심은 바로 여러분의 판단력입니다 감사합니다
-
-
- 0:00 - Introduction
Why intentional prototyping matters for standing out, and what the session covers — using Xcode coding agents and previews to find creative starting points, bring in real content, and tune key moments and interactions.
- 2:56 - Exploring UI possibilities
Craft prompts that generate multiple UI variations at once and remix the most promising elements into refined iterations.
- 7:31 - Making your app feel lived in
Use agents to populate prototypes with realistic sample data and cover edge cases, including empty states, long text, and unbounded lists.
- 11:19 - Tuning key moments
Explore techniques for refining the dynamic elements of your prototype and build custom tuning panels to adjust animation parameters in real time.
- 17:31 - Next steps
The throughline of the session — treating agents as collaborators rather than designers, with your judgment as the key to finding the best experience — and a pointer to "Xcode, agents, and you."