한동안은 앱만 만들었어요. 폰에 까는 거요. 마켓에 올리고, 누가 내려받아서, 자기 폰 화면에 아이콘이 하나 생기는 그런 거요. 그게 제가 아는 만든다 의 전부였어요. 플러터라는 도구로 화면을 짜고, 빌드해서, 마켓에 던지고. 그 흐름 안에서 몇 달을 살았어요. 그러다 어느 평일 저녁이었어요. 본업 끝내고 집에 와서 책상 앞에 앉았는데, 머릿속에 좀 엉뚱한 게 하나 떠올랐어요. 그런데 웹사이트는 어떻게 만드는 거지.
웹사이트랑 앱은 제 머릿속에서 완전히 다른 동네였어요. 앱은 폰에 까는 거예요. 설치라는 절차가 있고, 마켓이라는 관문이 있고요. 그런데 웹은 그냥 주소만 치면 누구나 그 자리에 들어와요. 깔 것도 없고, 마켓 심사도 없고요. 회사에서 매일 들여다보는 그 수많은 사이트들이 다 그런 거잖아요. 주소 한 줄 치면 화면이 뜨는. 그게 어떻게 만들어지는 건지는 한 번도 생각해 본 적이 없었어요. 그냥 원래 거기 있는 것 같았거든요. 누가 만드는 건진 모르겠지만 나랑은 상관없는, 엄청 어려운 동네일 거라고 막연히 믿고 있었어요.
그 의문이 떠오른 데는 사정도 좀 있었어요. 앱 만들면서 어딘가에 자꾸 웹 주소가 필요했거든요. 구글 디벨로퍼 등록할 때도 사업자가 운영하는 웹사이트를 내라고 했고, 광고 붙일 때도 사이트 링크 같은 게 자꾸 따라붙었어요. 그때마다 마침 예전부터 끄적이던 블로그가 하나 있어서 그 주소로 겨우겨우 넘겼는데, 그 과정을 몇 번 겪다 보니 웹사이트라는 게 결국 뭐길래 이렇게 자꾸 필요한 거지 하는 궁금증이 슬그머니 쌓여 있었어요. 그게 그날 저녁에 한 줄로 튀어나온 거였어요.
그래서 클로드한테 그냥 물어봤어요. 나 앱은 만들어 봤는데, 웹사이트도 비슷하게 만들 수 있어? 별 기대 없이 던진 한 줄이었어요. 그랬더니 돌아온 대답이 좀 김 빠지게 네, 됩니다 였어요. 넥스트라는 걸 쓰면 된다고요. 그게 뭐냐고 다시 물으니까, 웹페이지를 만드는 틀 같은 거라고 했어요. 플러터가 앱 화면 짜는 틀이라면, 넥스트는 웹 화면 짜는 틀이라는 식으로요. 듣고 나니까 아 그러면 내가 앱 만들 때 하던 거랑 결이 비슷한 거 아냐 싶었어요. 화면을 짜고, 그 화면들을 이어 붙이고. 도구 이름만 바뀐 거였어요. 솔직히 그 한마디 듣기 전까진 웹은 앱이랑은 아예 다른, 훨씬 높은 담장 너머의 일이라고 멋대로 믿고 있었거든요. 그 담장이 그날 저녁에 그냥 슥 낮아졌어요.
한번 만들어 봤어요
머리로 그렇다 하는 거랑 손으로 한번 해보는 건 다르니까, 그냥 작은 걸 하나 만들어 봤어요. 처음 만든 건 무슨 숫자 같은 걸 보여주는 정보 사이트였어요. 들어오면 어떤 예측이랑 숫자가 화면에 쭉 뜨는, 인간지표라는 그런 거요. 사실 그 아이디어는 한참 전부터 머릿속에 있었어요. 그런데 앱으로 만들기엔 좀 무겁더라고요. 누가 이걸 굳이 폰에 깔까 싶은 거요. 깔 만큼 자주 볼 건 아닌데. 그런데 주소만 치면 들어오는 웹이라면, 그냥 궁금할 때 한 번씩 들어와서 보고 나가면 되잖아요. 그 가벼움이 딱 맞았어요. 앱으로는 무거워서 접어뒀던 게, 웹이라는 자리에 옮겨 놓으니까 갑자기 말이 되는 거예요.
그 다음엔 사람을 이어주는 거 하나를 웹으로 풀어봤어요. 서로 호감 같은 걸 주고받게 하는, 투게더에서 해봤던 그 매칭 비슷한 거요. 이것도 비슷한 이유였어요. 앱으로 가자니 로그인이며 뭐며 무겁게 따라붙는 게 많은데, 그냥 주소 하나로 가볍게 들어와서 한번 해보고 나가는 자리로 만들면 어떨까 싶었어요. 만들면서 신기했던 건, 앱 만들 때 한 덩어리씩 잘라서 시키던 그 버릇이 여기서도 그대로 통했다는 거예요. 오늘은 첫 화면 한 장만, 다음엔 다음 화면으로 넘어가는 줄만. 동네는 바뀌었는데 일하는 방식은 똑같았어요. 앱에서 익힌 손버릇을 웹에 그대로 들고 들어간 거예요.
물론 다 똑같진 않았어요. 웹은 웹 나름대로 다른 칸들이 있더라고요. 화면 폭이 컴퓨터냐 폰이냐에 따라 모양이 흐트러진다든가 하는, 앱에서는 별로 안 신경 쓰던 것들이요. 처음엔 그런 게 뜰 때마다 이건 또 뭐지 하고 멈췄어요. 그런데 어차피 막히면 캡처해서 보여주고 물어보는 방식은 똑같으니까, 앱 만들 때 하던 그대로 했어요. 에러 화면 통째로 캡처해서 던지고, 답 받아서 한 줄 고치고. 그 루프는 동네 가리지 않고 똑같이 돌아갔어요.
인터넷에 올리는 것도 명령어 몇 줄이었어요
만드는 것보다 더 막막했던 건 이걸 어떻게 인터넷에 올리지 였어요. 앱이야 마켓이라는 데가 있으니까 거기 던지면 되는 거 알겠는데, 웹사이트는 어디다 올려야 사람들이 주소로 들어올 수 있는 건지 감이 전혀 안 잡혔어요. 무슨 서버라는 걸 빌려야 하나, 그게 또 한 주짜리 삽질이려나 하고 지레 겁부터 먹었어요. 첫 빌드 성공 한 그 새벽부터 마켓 등록 절차 이해하느라 며칠을 갈아 먹었던 기억이 있어서, 웹 올리는 것도 그런 고생길이겠거니 했거든요.
그런데 이번엔 좀 허무할 정도로 쉬웠어요. 클로드가 구글 호스팅이라는 걸 쓰면 된다고 했어요. 파이어베이스라는, 제가 앱 만들면서 이미 쓰고 있던 그 구글 쪽 도구 안에 호스팅이라는 칸이 있더라고요. 그게 만든 웹사이트를 인터넷에 올려서 주소를 만들어주는 자리 였어요. 터미널에 명령어 몇 줄 치니까 잠깐 뭐가 쭉 올라가더니, 여기 주소요 하고 진짜로 주소가 하나 뱉어져 나왔어요. 그 주소를 폰에다 쳐봤어요. 제 폰에서, 방금 제가 만든 화면이 떴어요. 회사에서 매일 들여다보던 그 수많은 사이트들이랑 똑같은 방식으로, 주소 치면 들어오는 한 자리가 생긴 거예요. 책상 앞에서 잠깐 이게 이렇게 간단한 거였나 싶었어요. 어렵다고 멋대로 키워뒀던 게, 막상 해보니 명령어 몇 줄이었던 거예요.
지금 이 페이지도 그렇게 나왔어요
그러다 보니 슬슬 웹으로 자잘한 것들을 만들기 시작했어요. 제가 클로드한테 시킬 때 쓰던 말들, 그러니까 이렇게 시키면 잘 되더라 하는 그 한 줄짜리 문장들이 폴더 여기저기 흩어져 있었거든요. 그걸 한곳에 모아두는 작은 사이트를 하나 만들었어요. 거창한 게 아니라, 그냥 제가 다시 꺼내 쓰기 편하려고요. 그것도 같은 방식이었어요. 넥스트로 화면 짜고, 호스팅에 명령어 몇 줄로 올리고.
사실 지금 이 글을 올려둔 곳, 그러니까 앱초보라는 이 블로그 자체도 그렇게 만든 거예요. 지금 이 글을 읽고 계신 이 페이지요. 어디 다른 데서 사다 쓴 게 아니라, 앱 만들던 그 책상에서, 앱 만들던 그 도구로, 화면 한 장 한 장 짜서 올린 거예요. 이 글의 제목이 어디쯤 뜨고, 본문 글자가 어떤 크기로 보이고 하는 것도 다 그 저녁들에 한 줄씩 시켜서 맞춘 거고요. 처음엔 그냥 글 몇 개 올려두는 자리면 됐는데, 막상 만들다 보니 목록은 이렇게 보이면 좋겠다, 날짜는 여기 작게 넣자 하는 욕심이 한 줄씩 붙어서 지금 모양이 됐어요. 좀 이상한 기분이에요. 웹사이트가 어떻게 만들어지는지 한 번도 생각 안 해봤다고 위에서 썼는데, 정작 그 얘기를 적어 올린 자리가 제가 직접 만든 웹사이트라는 게요. 한때는 구글 등록 통과시키려고 급한 대로 끌어다 쓰던 그 낡은 블로그가, 이제는 제가 처음부터 끝까지 손으로 짠 자리로 바뀌어 있는 것도 그렇고요.
돌아보면 저는 그냥 앱 만드는 사람 이 되려고 시작했어요. 폰에 까는 거 하나 만들어 보자, 월 삼십만 원이라도 벌어보자, 그 정도였어요. 그런데 도구 하나가 손에 좀 익으니까 옆 동네로 넘어가는 문턱이 훅 낮아지더라고요. 앱이 막히면 웹을 해보고, 웹으로 풀 수 있는 건 웹으로 풀고. 어느 순간 보니까 앱 만드는 사람 이 아니라 필요하면 일단 한번 만들어 보는 사람 쪽에 와 있었어요. 거창한 결심으로 영역을 넓힌 게 아니에요. 그냥 매번 어, 이것도 되네 가 한 번씩 쌓인 거예요. 웹도 되네, 올리는 것도 되네, 블로그도 되네. 두 달 동안 제가 진짜로 배운 건 어쩌면 이 되네 들의 정체였는지도 몰라요. 그 되네 들이 줄줄이 이어져서 어느새 책상 위에 앱 폴더랑 웹 폴더가 나란히 켜져 있게 됐어요.

