본문 바로가기
반응형

전체 글17

[오늘의 코드 조각] [iOS 1-3] Hello Swift World! : 첫 프로젝트 생성과 시뮬레이터 구동 안녕하세요, **'생각하는 개발자'**입니다.지난 시간에는 안드로이드와 iOS의 철학적 차이를 살펴보며 마음가짐을 새롭게 했습니다. 이제 이론은 잠시 접어두고, 우리 맥북에서 실제로 돌아가는 '첫 번째 앱'을 만들어 볼 시간입니다. 안드로이드 스튜디오에서 'New Project'를 누를 때의 설렘을 기억하시나요? Xcode에서도 그 설렘을 이어가 보겠습니다.1.1 프로젝트 생성: 우리 앱의 첫 탄생 🏺비유: 빈 도화지 준비하기 Xcode를 실행하고 **'Create a new Xcode project'**를 클릭하는 것은, 안드로이드에서 Empty Activity를 선택하는 것과 같습니다.템플릿 선택: iOS 탭에서 App을 선택하고 Next를 누릅니다.프로젝트 설정: * Product Name: He.. 2026. 2. 9.
인스타그램 뺨치는 UI? 10분 만에 끝내는 SNS 피드 앱 만들기 (Jetpack Compose 실습) 안녕하세요, '생각하는 개발자'입니다.드디어 Part 2의 마지막 여정입니다! 그동안 우리는 화면을 배치하고, 상태를 관리하고, 목록을 만들고, 화면을 이동하는 법까지 숨 가쁘게 달려왔습니다. 이제 이 조각들을 모아 '진짜 앱' 같은 SNS 피드 화면을 만들어 볼 시간입니다.이 실습을 마치면 "나도 이제 화면 하나는 뚝딱 만들 수 있겠는데?"라는 자신감을 얻게 되실 겁니다.[내부 링크: 이전 강의 복습하기]👉 [2-3] 무한 스크롤의 핵심, LazyColumn 완벽 가이드 (링크) ## 1. 실습 목표: 어떤 화면을 만드나요?우리가 오늘 만들 화면은 전형적인 SNS 피드입니다.상단: 사용자 이름과 프로필 이미지중간: 메인 포스팅 이미지 (심플한 컬러 박스로 대체 가능)하단: 좋아요, 댓글, 공유 아이콘.. 2026. 2. 9.
[오늘의 코드 조각] [iOS 1-2] 안드로이드 vs iOS : 개발자가 알아야 할 두 플랫폼의 철학 차이 안녕하세요, **'생각하는 개발자'**입니다.지난 시간에는 구형 맥북에 새 생명을 불어넣는 Xcode 12.4 설치와 최적화를 마쳤습니다. 이제 본격적으로 코드를 한 줄 써 내려가기 전, 우리가 반드시 이해해야 할 관문이 있습니다. 바로 **'iOS라는 세상의 규칙'**을 이해하는 것이죠.안드로이드 대륙에서 온 우리에게 iOS는 비슷해 보이지만 묘하게 다른 문화를 가진 이웃 나라와 같습니다. 오늘은 안드로이드 개발자의 시선으로 본 두 플랫폼의 결정적인 철학 차이를 정리해 보겠습니다. 1.1 설계 철학 : 자유도 vs 사용자 경험(UX)의 일관성 🏺비유: 레고 성 vs 정교하게 설계된 정원안드로이드는 마치 레고 성 같습니다. 제조사가 수십 곳이고 화면 크기도 제각각이죠. 구글은 개발자에게 넓은 자유를 주.. 2026. 2. 4.
[오늘의 코드 조각] [iOS 1-1] 오래된 맥북의 재발견: Xcode 12.4 설치와 성능 최적화 안녕하세요, **'생각하는 개발자'**입니다.안드로이드라는 거대한 대륙을 여행하다가 이제 막 'iOS'라는 새로운 섬에 발을 내디뎠습니다. 하지만 시작 전부터 "맥북이 너무 비싸다" 혹은 "내 맥북은 너무 오래됐다"는 고민이 발목을 잡곤 하죠.결론부터 말씀드리면, 장비 탓에 포기하실 필요 없습니다. 제가 가진 구형 맥북에서도 iOS 앱 개발은 충분히 가능하거든요! 오늘은 그 첫 단추로, 우리 장비에 딱 맞는 Xcode 12.4 설치법과 저사양 최적화 꿀팁을 교재 형식으로 차근차근 알아보겠습니다. ### 1.1 왜 Xcode 12.4를 선택해야 하는가? 🏺비유: 구관이 명관이다 최신 맥북이 아니면 최신 Xcode를 깔 수 없다고 포기하지 마세요. Xcode 12.4는 구형 맥북(macOS Catalina.. 2026. 2. 4.
[오늘의 코드 조각] [2-4] 앱의 지도를 그리다: Compose Navigation 기초 안녕하세요, '생각하는 개발자'입니다.지난 시간에는 LazyColumn으로 멋진 목록을 만들어봤습니다. 하지만 목록의 아이템을 클릭해도 아무 일도 일어나지 않는다면 반쪽짜리 앱이겠죠?사용자가 버튼을 눌렀을 때 다른 화면으로 이동하고, 다시 뒤로 돌아오는 기능을 구현하려면 **Navigation(내비게이션)**이라는 개념이 필요합니다. Compose에서는 이 '화면의 지도'를 어떻게 그리는지 핵심 3요소를 통해 알아보겠습니다.1. Compose 내비게이션의 3총사Compose에서 화면 이동을 구현하려면 딱 세 가지만 기억하면 됩니다.NavController: "운전사"입니다. 화면 이동을 명령(Maps)하고 뒤로 가기를 처리합니다.NavHost: "내비게이션이 보여줄 공간"입니다. 현재 어떤 화면을 보여줄.. 2025. 12. 23.
[오늘의 코드 조각] [2-3] 더 긴 목록 보여주기: 리사이클러뷰 대신 LazyColumn 안녕하세요, '생각하는 개발자'입니다.인스타그램의 피드, 카카오톡의 채팅 목록, 유튜브의 동영상 리스트... 우리가 매일 쓰는 앱들은 수많은 데이터를 목록 형태로 보여줍니다.과거 안드로이드에서는 이런 목록을 만들기 위해 Adapter, ViewHolder 등 복잡한 코드를 잔뜩 작성해야 했습니다. 하지만 Jetpack Compose에서는 이름부터 재미있는 LazyColumn 하나로 이 모든 과정을 혁신적으로 줄였습니다. 1. 왜 그냥 Column이 아니라 'Lazy'인가요?Column은 안에 100개의 아이템이 있다면, 화면에 보이든 안 보이든 100개를 한꺼번에 다 그려버립니다. 데이터가 많아지면 앱이 버벅거리겠죠?**LazyColumn**은 이름처럼 '게으르게' 작동합니다. 지금 화면에 보이는 아이템.. 2025. 12. 22.
반응형