1인개발7 최종 조립 및 완성 : 메인 뷰(View)와 사용자 경험(UX) 향상 좋은 UX는 어떻게 사용자의 궁금증을 먼저 해결해주는가?시작하며 : 단순한 '조립'을 넘어 '경험'을 설계하다지난 포스팅 2025.09.03 - [app/metalens] - 생명을 불어넣는 작업 : 재사용 가능한 UI 컴포넌트(Components) 제작 에서 앱의 얼굴을 구성할 모든 UI 부품(Components)을 완성했다. EmptyStateView부터 ScoreCircleView, SummaryCardView 까지, 각자 하나의 책임만을 다하는 잘 만들어진 '레고 블록'들이다. 이제 남은 작업은 이 블록들을 PhotoInspectorView 라는 큰 판위에 조립하여 하나의 완성된 화면을 만드는 것이다. 하지만 이번 포스팅은 단순히 블록을 조립하는 방법을 설명하는 데 그치지 않는다. 한 걸음 더 .. 2025. 9. 4. 생명을 불어넣는 작업 : 재사용 가능한 UI 컴포넌트(Components) 제작 거대한 View를 잘게 쪼개는 것의 미학 시작하며 : 왜 View를 분리해야 하는가? 이전 포스팅까지의 여정으로 앱의 두뇌(ViewModel)와 심장(Service)을 모두 구현 했다. 로직과 UI의 지휘자 : 뷰모델(ViewModel)과 비동기 처리async/await와 @Published로 우아하게 상태를 관리하는 법시작하며 : 왜 '지휘자'가 필요한가? 이전 포스팅까지의 작업으로, 사진 데이터를 주면 분석 리포트를 뱉어내는 강력한 엔진(PhotoMetadataService)johjo.net 앱의 심장을 만들다 : 메타데이터 분석 서비스(Service) 구현ImageIO 프레임워크를 파헤쳐 사진의 비밀을 캐내다시작하며 : '실제 일'을 하는 녀석의 등장지난 포스팅에서 앱의 뼈대(Model)와 소통 규.. 2025. 9. 3. 앱의 심장을 만들다 : 메타데이터 분석 서비스(Service) 구현 ImageIO 프레임워크를 파헤쳐 사진의 비밀을 캐내다시작하며 : '실제 일'을 하는 녀석의 등장지난 포스팅에서 앱의 뼈대(Model)와 소통 규칙(Protocol)을 정의했다. 하지만 아직 앱은 아무일도 하지 못하는 빈 껍데기일 뿐이다. 이제 드디어, 이 뼈대에 살을 붙이고 피를 돌게 할 '심장', 즉 서비스(Service) 레이어를 구현할 차례다. Service는 우리 MVVM 아키텍처에서 '실제 일'을 하는 녀석이다. ViewModel로 부터 "사진 데이터 줄 테니 분석해줘"라는 요청을 받으면, 묵묵히 사진 파일을 파헤쳐 그 안에 숨겨진 비밀(메타데이터)을 캐내고, 우리가 정한 규칙(비즈니스 로직)에 따라 '원본성 점수'를 계산하여 최종 보고서(OriginalityReport)를 만들어내는 역할이다.. 2025. 9. 3. 집을 짓기 전 땅 다지기: 프로젝트 설정과 필수 유틸리티 좋은 앱은 잘 만든 AppError 와 Logger 에서 시작된다. 시작하며 : 왜 '기반 공사'가 중요한가?이전 포스팅에서 MetaLens 라는 앱의 청사진(기획과 아키텍처)을 그렸다.2025.09.02 - [app/metalens] - 메타렌즈 프로젝트 소개2025.09.02 - [app/metalens] - 바이브코딩을 위한 MetaLens 코딩 파트너 설정기 이제 본격적으로 코드로 집을 지을 차례다. 이제 몇번 프로젝트를 진행하다 보니 앱의 안정성과 확장성을 책임지기 위해서는 기초적인 설정들이 중요하다는 것을 깨달았다. 이번 포스팅에서는 기능 개발이라는 '인테리어'에 들어가기 전, 반드시 먼저 해야 할 '기반 공사'에 대해 다룬다. 구체적으로는 아래 3가지다. 글로벌 출시를 위한 완벽한 다국어 지.. 2025. 9. 2. 기술적 탐닉 1인 개발자가 조심해야 할 것 - 기술적 탐닉시작하며 - 기술이 주는 달콤한 유혹2025년 여름, 나는 두 번째 앱 개발을 시작하고 있다. 인공지능의 발전으로 인해 상반기, 1인 개발을 하고 있던 사람들에게 가장 큰 화두는 '바이브코딩' 이었을 것이다. 바이브코딩은 자연어로 인공지능에게 질문을해 소스코드를 얻어 내는 신종 코딩 방식인데, 빅테크 기업의 사람들의 퇴사 소식이 들릴만큼 어려운 기능도 속속들이 개발해 준다. 여기에 질문을 할 때 "초보 개발자도 이해 할 수 있도록 쉽고 상세한 주석도 함께 작성해줘" 라는 프롬프트를 추가하면 코드라인 한줄 한줄 이해하기 쉽도록 이모지와 함께 자세한 설명이 작성되기도 한다. 나 역시 바이브코딩이 화두로 올랐던 이시기에, 처음 앱을 만들기 시작했던 설렘은 아직도 잊.. 2025. 7. 3. 아이템 피벗 그리고 요즘 앱개발 앱스토어에서 앱을 다운로드하고, 고객으로서 사용을 한다는 것은 참 쉬운 일이다. 그러나 앱을 개발하며 만들어 제품(기술적 결과물)으로서 서비스하고, 구독이나 인앱결제 같은 상품(거래의 결과물)을 곁들인다는것은 쉽지 않은 일이다. 챗지피티(ChatGPT), 클로드(Claude), 커서(Cursor) 등 인공지능 도구들이 하루가 다르게 빠르게 발전하고 있고 개발자들의 종말이 다양한 채널에서 언급될 만큼 무서운 속도로 프로그래밍하는 방법도 바뀌고 있는 것 같다. 혹자는 이런 인공지능 도구들의 도움을 받으면 쉽게 프로덕트(Product, 제품 또는 상품)를 만들 수 있다고 하는데 작년(2024년)만 해도 인정하지 않았지만 이제 인정할 수밖에 없는 시간이 온 것 같다. 그래도 앱은 서비스로서 사업적인 요소가 강.. 2025. 6. 26. 나는 1인 앱 개발자가 되기로 했다 배우자가 임신을 하며, 출산을 앞두고 남편으로서 육아 휴직을 무조건 사용하기로 결심했던 그즈음. 아이를 키우며 함께 할 수 있는 일이 무엇일까 하고 고민을 많이 했었다. 답을 내린 것으로 블로그에 육아와 앱관련 글을 작성 하고, 모바일앱을 만들어보는 것이었다. 이러한 행동들로 육아에 대해서 조금 더 깊이 알 수 있을 것 같았고, 타인의 피드백을 받아보면 재미도 있고 잘못된 것들에 대한 개선점도 찾을 수 있을것 같았기 때문이다. 웹도 아니고, 모바일앱 중에서 안드로이드도 아니고 왜 애플 장치로만 실행할 수 있는 iOS앱을 만들고 싶어 할까? 라는 의문이 들 수도 있다. 우선 가족들이 모두 아이폰을 사용하고 있다. 내가 기획하는 앱의 특성상 회원가입과 다른 사용자와의 공유 기능은 항상 동반 되는 아이디어를 .. 2025. 6. 26. 이전 1 다음