본문 바로가기 주메뉴 바로가기 검색 바로가기
아동의 아이폰 앱 개발, 가능하지만 쉽지 않다
상태바
아동의 아이폰 앱 개발, 가능하지만 쉽지 않다
애플의 스위프트 플레이그라운드는 다양한 각도에서 누릴 수 있는 성공과 함께 어린 신규 개발자의 애플리케이션 개발 시작을 돕는다.
By SIMON HILL, WIRED US

2022년 여름, 애플 스위프트 플레이그라운드(Swift Playgrounds) 프로그래밍 언어를 이용한 아동 코드 개발자가 제작한 앱 공개를 인상적으로 보았다. 그 후 필자는 두 자녀가 아이폰 앱 개발에 참여하도록 지도하기로 결정했다. 10세와 13세인 필자의 자녀 모두 코딩 기본 개념을 소개하도록 설계된 과학·기술·공학·수학(STEM) 장난감을 셀 수 없을 정도로 자주 가지고 놀았다. 간혹 간단한 프로그래밍 작업 참여 과정이 포함된 장난감을 접한 적이 있어, 필자는 직접 실제 사용할 수 있는 앱 개발로 한 단계 더 나아가는 것이 흥미로울 것이라고 판단했다.

필자와 필자의 자녀는 자연스럽게 고양이 관련 앱 설정을 다루고는 종이에 앱 개발 개요 설계를 작성했다. 필자는 여름 내내 두 자녀의 자체 개발 앱 1.0 버전 개발 작업을 함께 이어갈 것이라는 낙관적인 생각을 했다. 그러나 두 자녀 모두 예술에 대한 열정이 넘쳐나는 탓에 각각의 구성 요소 제작 담당을 나누는 데 합의하지 못하는 문제를 직면했다. 앱 개발 작업 분배 과정에서 발생한 문제는 빠른 속도로 여러 문제로 이어졌다. 자녀의 애플 앱 개발 과정은 필자의 생각보다 어려웠다. 따라서 직접 애플 앱 개발 작업을 수행한 소수 학생 개발자와 함께 대화를 나누었다.
 
[사진=Apple]
[사진=Apple]

앱 개발 열정 추구
애플 앱 스토어에는 침실에서 앱 개발을 연습한 아동부터 비싼 사무실에 상주하는 전문 개발자팀에 이르기까지 다양한 출신 배경을 지닌 이들이 개발한 앱 약 200만 개가 배포됐다. 미국에만 애플 앱을 접할 수 있는 사용자 수가 1억 2,500만 명에 육박한다는 점에서 iOS 앱 개발 시 얻을 수 있는 장점이 많다. 일부 개발자에게는 앱 수익과 다운로드 횟수가 앱 개발 성공의 척도가 될 수 있다. 그러나 다수 앱 개발자에게는 앱 개발 작업 자체가 명분을 다루고 타인을 돕는 일과 연결되었다. 또한, 개인이 이익을 위해 앱 개발을 추구할 가치가 있다.

7살에 코딩 학습을 시작한 라훌 쿠마르(Rahul Kumar)의 사례를 살펴보자. 쿠마르는 2020년, 코로나19 봉쇄 조치 때문에 침실해서 지루함을 느끼다가 아이폰 앱을 개발하기로 결심한 뒤 고등학교를 졸업했다. 쿠마르는 아버지의 맥북을 이용해 난민과 이민자, 재난 등 각종 위기 탓에 삶의 터전을 잃은 이들과 전 세계 230여 개 지역에서 영어를 구사하지 못하는 이의 긴급 서비스 접근을 돕고자 설계한 긴급 이동 앱인 EmSafe를 개발했다.

쿠마르는 스위프트로 코딩을 시작하기 전 자바와 파이썬을 어느 정도 접했다. 그러나 모두 독학했으며, 부모님의 도움은 일절 받지 않았다. 쿠마르는 “코딩 학습을 시작할 때는 자바와 파이썬으로 코드를 작성하는 것이 어렵다고 느꼈다. 결국, 몇 주간 코드 개발 프로젝트를 끝내지 못했다. 코드 작성 도중 직면한 문제를 다룬 특수한 자원에 손쉽게 접근할 수 없었기 때문이다”라고 밝혔다.

쿠마르는 내부 검토 과정을 위해 앱을 제출할 때마다 프로젝트를 진행하는 데 어려움을 겪었다. 개발 툴과 커뮤니티 지원 자체는 무료이지만, 연간 구독료 99달러인 애플 개발자 프로그램(Apple Developer Program)에 가입한 뒤 앱스토어에 검토와 배포 신청을 위해 앱을 제출해야 한다. 애플은 앱스토어에 배포하고자 하는 모든 앱과 게임이 따라야 할 여러 상세 지침을 발표했다. 쿠마르는 “앱 리뷰(App Review)가 버튼 텍스트나 경고 표시 방법 문제 등 각종 문제점을 발견하므로 속 문제를 해결하려 노력해야 했다”라고 말했다. 쿠마르는 계속 앱의 문제점을 보완할 작업을 이어간 덕분에 결국, 2021년과 2022년 연속으로 애플이 주최한 세계 개발자 컨퍼런스 스위프트 학생 챌린지 우승자(Worldwide Developers Conference Swift Student Challenge Winner)로 선정됐다.

애플은 2016년, 아이패드 앱으로 스위프트 플레이그라운드를 처음 출시했다. 그리고 2020년에는 맥OS 버전을 추가로 출시했다. 스위프트 플레이그라운드는 무료이며, 사용자가 하나의 창에서 코드를 편집하고 다른 창에서는 직접 작성한 코드가 최종 출시될 앱에 반영될 모습을 보여준다. 여러 지시 안내 사항과 함께 기초를 가르치도록 설계됐으며, 사용자가 입력하는 코드 오류를 표시한다. 스위프트 플레이그라운드만 사용해 아이폰 앱을 개발할 수 있다. 다만, 스위프트 플레이그라운드로 개발한 앱 프로젝트를 애플의 전체 운영체제 개발 환경인 Xcode로 전송해야 한다.

쿠마르는 “애플은 플레이그라운드에 입문자 단계에 적합한 코딩 안내를 다수 제공한다. 그러나 플레이그라운드의 입문 지침을 어느 정도 숙지한 뒤에는 상세한 고급 정보가 필요한 수준이 되었다”라고 말했다. 쿠마르는 이해하기 쉽지 않은 개발자 문서를 이해하는 데 필요한 코딩 경험이 부족하다고 느꼈다. 쿠마르는 “주로 해킹 위드 스위프트(Hacking With Swift)와 같이 코딩 튜토리얼을 제공하는 웹사이트를 보고, 깃허브에서 코드 스니펫을 찾아보면서 iOS 앱 개발 방법을 공부했다”라고 밝혔다.

iOS 앱인 Anxiety Relief: Find Your Calm의 개발자인 벤 로빈슨(Ben Robinson)도 쿠마르와 비슷한 이야기를 전했다. 로빈슨은 13살이었을 때 처음 정식 배포할 만한 iOS 앱을 개발했다. 그러나 2년간 프로그래밍을 학습해야 했다.

로빈슨은 “애플의 문서는 처음부터 프로그래밍에 발을 들이려는 학습자에게 겁을 주는 것 같다고 느꼈다. 애플리케이션 프로그래밍 인터페이스(API) 작동 방식을 정확히 이해하지 못하면, 개인적으로 필요한 특정 구성요소를 찾기 어려웠다. 모든 것을 절차에 따라 생각하는 단계에서 코드로 사고를 축약하고 객체 지향 설계나 프로토콜 지향 설계를 활용하는 단계로 정신적 도약을 이루었다”라고 말했다.

처음에는 직접 코드 작성 작업을 하는 모든 요소를 지나치게 사실관계에 따라 이해하지 않으려 하고, 수많은 운영 방식으로 수행하는 기능을 구축하려 했다. 그러나 로빈슨은 iOS 개발자 커뮤니티가 학습자를 적극적으로 지원하면서 코드 작성 시 활용할 만한 풍부한 자원을 제공했다고 전했다. 또, 쿠마르와 마찬가지로 폴 허드슨(Paul Hudson)의 해킹 위드 스위프트 튜토리얼이 유용했다고 전했다. 튜토리얼 영상이 다양한 API를 다루도록 설명하면서 설명 내용에 따라 다양한 앱을 개발하도록 독려했기 때문이다.

로빈슨은 “개인적으로 알고 지내는 앱 개발자가 단 한 명도 없었다. 코드 작성 도중 문제가 발생할 때마다 보통 프로그래밍 분야 질의응답 웹사이트인 스택오버플로(Stack Overflow)에서 찾을 수 있는 답에 따라 움직였다. 프로그래밍을 독학한다면, 누구나 겪는 문제이다. 하지만 문제를 겪었을 때 회복력과 독립심을 강화하는 데 도움이 되었다. 또, 문제가 발생할 때마다 문제를 통한 논리적 사고를 하고, 효과적으로 다룰 수 있다는 자신감을 갖게 되었다”라고 밝혔다.

로빈슨은 꾸준히 독학하면서 파티 게임 마피아(Mafia) iOS 앱을 개발해, 친구와 함께 게임을 즐겼다. 로빈슨은 더 나아가 테크 분야에서 전문 경력을 쌓고자 한다. 로빈슨은 “아이디어가 있다면, 망설이지 말고 행동하라! 수많은 아이디어 중 어떤 아이디어가 실현될지 모르는 일이다. 스스로 흥미롭다고 생각하는 아이디어가 있다면, 아이디어를 현실로 만드는 데 필요한 역량을 학습할 수 있다”라며, 앱 개발을 희망하는 학생 개발자에게 조언을 건넸다.

쿠마르도 로빈슨의 조언과 같은 말을 하며, 실제 관심 분야에 초점을 맞춘 소규모 프로젝트 여러 개로 코딩을 시작하는 것이 가장 좋다고 덧붙였다. 바로 코딩을 빠른 속도로 학습하고, 프로젝트를 마칠 동기가 되기 때문이다. 더불어 다른 학습자 여러 명과 적정 시간 동안 모여 단체로 아이디어를 제시하고, 코딩 시작 전 개발하고자 하는 앱을 시각화하는 방법도 제시했다.

결국 포기한 고양이 앱 개발
필자가 자녀와 함께 개발 작업을 시작한 고양이 앱 작업 시작은 느렸다. 두 자녀가 의무감을 느끼고, 아이콘 설계와 고양이와 관련된 진실 작성 과정을 진행했다. 심지어 필자의 가족이 키우는 반려묘 두 마리의 울음소리와 신음소리도 판독하려 했다. 고양이 울음소리를 번역할 수 있는 앱을 개발하고자 새로운 사실을 발견하고자 하는 바람 때문이었다. 코드 작성 작업을 시작했을 때는 필자가 어려움을 직면하는 부분이 갈수록 증가했다. 안타깝게도 필자는 코드 작업에 할애할 시간을 찾는 데 애먹었다. 게다가 필자는 코드 작성에 능숙한 개발자가 아니다. 필자의 자녀 두 명은 튜토리얼 영상을 본 뒤 스위프트 플레이그라운드로 앱 개발 작업을 시작했다. 그러나 예제를 본 뒤에도 개념을 이해하는 데 시간이 걸렸다.

필자는 자녀 두 명과 고양이와 관련된 진실을 보여주는 앱과 임의로 등장하는 인용구 생성 프로그램을 개발하려 모이는 것을 주저했다. 그러나 초기 목표를 달성하기에는 역량이 부족하다는 사실이 분명해졌다. 필자의 자녀 두 명 모두 앱 개발이 전혀 인상적이라고 느끼지 못했다. 또, 필자의 자녀는 추가 기능을 개발하려 자녀를 통제하려는 필자의 노력을 듣지 않았다. 낙관적인 생각으로 이 기사를 작성하기 시작하면서 필자가 자녀와 함께 경험한 긍정적이면서 앱 개발 동기를 부여할 만한 이야기를 작성할 것을 상상했다. 또, 이 기사를 본 뒤 많은 독자가 앱스토어에 접속해, 어린 개발자가 개발한 훌륭한 결과물을 추가로 찾도록 독려할 것을 상상하기도 했다. 하지만 현실은 앱 개발 성공이라는 꿈을 무너뜨렸다.

신학기 시작이 다가올 때, 앱을 완성할 확률은 매우 낮다고 확신할 수 있다. 앱 개발 프로젝트를 진행하는 이에게 성공적으로 마무리하지 못할 것이라고 말하는 것이 좋지는 않지만, 필자는 앱 개발의 어려움을 맛보았다. 필자의 작은 아이가 이미 고양이 울음소리 번역 앱을 개발했다고 알려주었을 때 앱 개발 노력이 실패하기 시작했다. 그리고 서서히 iOS 앱 대신 웹사이트에서 작업하는 것을 제안하기 시작했다. 그리고 필자가 자녀와 함께한 프로젝트는 결국 폐기됐다. (대다수 앱 개발 프로젝트가 마무리 단계 도달 전 중단된다고 확신한다.) 하지만 앱 개발 노력 자체는 흥미로웠으며, 필자와 필자의 자녀 모두 앱 개발 과정의 각종 어려움을 뛰어넘은 모든 앱 개발자를 존경하게 되었다.

** 위 기사는 와이어드US(WIRED.com)에 게재된 것을 와이어드코리아(WIRED.kr)가 번역한 것입니다. (번역 : 고다솔 에디터)

<기사원문>
Sure, Kids Can Develop iPhone Apps. But It’s Not Easy
이 기사를 공유합니다
RECOMMENDED