AI에게 앱을 만들어 달라고 하기 전에 알아야 할 것들
요즘은 ChatGPT나 Claude 같은 AI에게 이렇게 말할 수 있습니다.
“사진을 기록하는 앱을 만들어 줘.”
“메모 앱을 만들어 줘.”
“할 일 관리 앱을 만들어 줘.”
그러면 실제로 코드가 만들어집니다.
예전에는 앱을 만들려면 프로그래밍 언어를 배우고, 책을 읽고, 수많은 문법을 익혀야 했습니다.
하지만 이제는 AI가 코드를 작성해 주는 시대가 되었습니다.
그렇다면 정말 코드를 하나도 몰라도 앱을 만들 수 있을까요?
이 질문에 답하기 전에, 먼저 더 중요한 질문을 해 보겠습니다.
해결하고 싶은 문제가 있으신가요?
앱은 코드를 쓰기 위해 만드는 것이 아닙니다.
앱은 문제를 해결하기 위해 만듭니다.
예를 들어 이런 것들이 있습니다.
- 만화 아이디어를 빠르게 메모하고 싶다.
- 그림을 쉽게 정리하고 싶다.
- 사진과 글을 함께 기록하고 싶다.
- 불필요한 알림 없이 필요한 알림만 받고 싶다.
- 매일 반복하는 불편한 일을 조금 더 편하게 만들고 싶다.
이런 작은 불편함이 앱의 시작점이 될 수 있습니다.
많은 분들이 “어떤 앱을 만들면 좋을까?“라고 생각합니다.
하지만 그보다 먼저 생각해 볼 질문은 이것입니다.
“내가 반복해서 겪는 불편함은 무엇일까?”
“내가 매일 하는 일 중 조금 더 편해졌으면 하는 것은 무엇일까?”
좋은 앱은 기술에서 시작되지 않습니다.
좋은 앱은 문제에서 시작됩니다.
Swift란 무엇인가?
Swift는 애플이 만든 프로그래밍 언어입니다.
iPhone, iPad, Mac용 앱을 만들 때 주로 사용합니다.
예를 들어 화면에 버튼을 하나 만들고 싶다면 다음과 같이 작성할 수 있습니다.
Button("저장") {
save()
}
사진을 표시하고 싶다면:
Image("photo")
글자를 보여주고 싶다면:
Text("안녕하세요")
처음 보면 암호처럼 느껴질 수도 있습니다.
하지만 조금만 들여다보면 생각보다 단순합니다.
버튼을 만들어 줘.
사진을 보여 줘.
글자를 보여 줘.
Swift는 컴퓨터에게 해야 할 일을 설명하기 위한 언어라고 생각하시면 됩니다.
이 시리즈에서는 Swift 문법을 처음부터 끝까지 외우는 것을 목표로 하지 않습니다.
실제로 앱을 만들면서 필요한 만큼 하나씩 알아보겠습니다.
Xcode란 무엇인가?
Swift가 언어라면 Xcode는 작업을 하는 공간입니다.
앱스토어에서 설치할 수 있죠.
Xcode 안에서는 다음과 같은 작업을 할 수 있습니다.
- 코드 작성
- 앱 화면 구성
- 앱 실행
- 오류 확인
- 테스트
- 앱 배포
목수가 망치와 톱을 사용하듯이
애플 플랫폼에서 앱을 만드는 개발자는 Xcode를 사용합니다.
AI가 코드를 만들어 주더라도 그 코드를 넣고, 실행하고, 결과를 확인할 공간은 필요합니다.
그 역할을 하는 것이 Xcode입니다.
앱은 어떻게 만들어지는가?
앱 개발이라고 하면 굉장히 복잡한 작업처럼 느껴질 수 있습니다.
하지만 크게 보면 다음과 같은 과정입니다.
문제 발견 → 아이디어 정리 → 화면 설계 → 개발 → 테스트 → 수정 → 배포
예를 들어 보겠습니다.
“사진과 짧은 메모를 함께 기록하고 싶다.”
이것이 문제입니다.
↓
그러면 필요한 기능을 생각해 볼까요?
- 사진 추가
- 제목 입력
- 메모 입력
- 저장
↓
화면을 구성합니다.
↓
Swift로 기능을 구현합니다.
↓
앱을 실행해 봅니다.
↓
“사진을 추가하는 과정이 너무 불편한데?”
↓
다시 수정합니다.
이 과정을 반복하면서 하나의 앱이 완성됩니다.
처음부터 완벽한 앱을 만드는 것이 아닙니다.
만들고 → 사용해 보고 → 불편한 점을 발견하고 → 고치는 과정을
반복하는 것입니다.
그렇다면 AI는 어디에서 사용하는가?
AI는 이 과정에서 훌륭한 개발 파트너가 될 수 있습니다.
예를 들어 AI에게 다음과 같은 일을 부탁할 수 있습니다.
- 화면 코드를 작성해 달라고 요청하기
- 버튼이나 기능을 추가하기
- 오류가 발생한 이유를 물어보기
- 코드를 설명해 달라고 하기
- 복잡한 기능의 구현 방법을 물어보기
- 작성한 코드를 정리하거나 개선하기
예전에는 개발자가 직접 코드를 작성하는 데 많은 시간을 사용했다면
이제는 AI에게 코드를 작성하도록 요청하고 결과를 확인하는 방식으로 개발할 수도 있습니다.
그렇다고 AI가 앱 개발의 모든 것을 대신해 주는 것은 아닙니다.
AI에게 다음과 같은 질문을 던져 보겠습니다.
“어떤 앱을 만들어야 하나요?”
이 질문에 대한 답은 AI보다 여러분이 더 잘 알고 있을 수도 있습니다.
왜냐하면 여러분이 실제로 어떤 문제를 겪고 있는지는 여러분이 가장 잘 알고 있기 때문입니다.
무엇이 불편한지 발견하는 것, 무엇을 만들지 결정하는 것, 어떤 경험을 제공할지 정하는 것은 사람의 역할입니다.
AI는 그 아이디어를 실제 코드로 구현하는 과정에서 도움을 줄 수 있습니다.
코드를 전혀 몰라도 될까?
어느 정도는 가능합니다.
AI에게 원하는 것을 설명하고 코드를 만들어 달라고 요청하는 것만으로도 간단한 앱을 만들 수 있습니다.
하지만 코드에 대해 아무것도 모른다면 문제가 생길 수 있습니다.
예를 들어 AI가 이런 코드를 만들어 주었다고 해 보겠습니다.
Text("저장")
.foregroundStyle(.blue)
코드를 모른다면 이게 무엇을 의미하는지 알기 어렵습니다.
하지만 조금만 알고 있다면 쉽게 이해할 수 있습니다.
Text("저장")→ “저장”이라는 글자를 표시
.foregroundStyle(.blue)→ 글자의 색상을 파란색으로 설정
그렇다면 글자를 초록색으로 바꾸고 싶을 때는 어떻게 해야 할까요?
.foregroundStyle(.green)
이렇게 직접 수정할 수 있습니다.
텍스트를 바꾸는 것도 마찬가지입니다.
Text("완료")
이처럼 아주 간단한 수정은 AI에게 매번 부탁하는 것보다 직접 하는 편이 훨씬 빠릅니다.
불필요하게 토큰을 사용하는 것도 방지할 수 있죠.
결국 AI 시대의 앱 개발에서 중요한 것은 모든 코드를 외우는 것이 아닙니다.
코드를 읽고,
필요한 부분을 직접 수정하고,
복잡한 부분은 AI에게 도움을 요청할 수 있는 능력이 중요합니다.
이 시리즈에서 하고 싶은 이야기
이 시리즈에서는 처음부터 어려운 프로그래밍 이론을 다루지 않겠습니다.
먼저 아주 간단한 것부터 시작하겠습니다.
Swift에서
.은 왜 붙을까?
()는 무엇인가?
{}는 왜 사용하는 걸까?Navigation은 무엇인가?
화면은 어떻게 만들어질까?
앱은 데이터를 어떻게 저장할까?
그리고 조금씩 기능을 추가하면서 실제 앱을 만들어 보겠습니다.
마지막에는 AI에게 코드를 만들어 달라고 요청하는 방법뿐만 아니라
AI가 만들어 준 코드를 이해하고 직접 수정하는 방법까지 다뤄 보겠습니다.
이 시리즈의 목표는 프로그래밍 언어를 완벽하게 배우는 것이 아닙니다.
내가 해결하고 싶은 문제를 실제 앱으로 만들어 보는 것입니다.
혹시 지금 여러분에게도
“이런 게 있으면 좋겠는데…”
라고 생각했던 것이 있으신가요?
그렇다면 그것이 앱 개발의 좋은 출발점일지도 모릅니다.