가을비가 내리더니 은행잎도 내리고 이제 밖은 제법 코트를 입고 다니는 사람들도 많이 보인다. 스파르타 코딩 클럽에서의 APP 개발 종합반 강의 1주 차가 완료됐다. 얼추 첫 단추를 잠근다고 잠궜지만, 당연하게도 초심자인 나에게는 한 발자국조차 내딛기 힘든 더없이 넓은 미지의 공간이다. 오늘은 1주 차가 끝난 시점의 생각과 앞으로의 여정에 대해 다루어보고자 한다.
⛵ 수업 목표
- 앱의 기본적인 동작 구조를 공부
- 하이브리드 앱과 React Native에 대해
- Javascript 기초 문법
- 앱 개발에 자주 쓰이는 Javascript 실습
갑과 을 : 클라이언트와 서버 ✍
인간들의 세상에 '고객과 사업자'가 있듯 클라이언트는 고객이다. 사용자가 보게 되는 "화면이 곧 클라이언트"라 볼 수 있다. 예컨대 웹사이트로는 크롬 브라우저나 사파리, 익스플로러가 있고 앱으로 따지면 말 그대로 "어플 그 자체가 해당된다"라고 한다. 서버는 사업자다. 우리가 원하는 데이터를 저장 및 요청하면 답해주는 곳이다. 즉, 앱 서비스를 만든다는 건 클라이언트와 서버 모두 만들어야 한다는 것을 의미한다.
앱과 리액트 네이티브
앱을 개발하려면 가장 먼저 뭐가 필요할까? 앱 개발이라고 하면 단연 "안드로이드"와 "iOS" 두 가지가 떠오른다. 안드로이드는 Java&Kotlin이라는 기술로 개발이 가능하고, iOS는 Swift라는 기술로 개발이 가능하다. 각기 다른 개발 기술 언어가 필요한 이유는, 안드로이드와 iOS가 실행되기 위한 OS, 즉 환경이 다르기 때문. 그래서 보통 회사에서 인재 채용 시 안드로이드와 iOS 개발자를 각각 뽑는다고...
그런데 Java&Kotlin 또는 Swift 언어는 다소 높은 러닝 커브가 존재하며, 심지어 이 중 하나를 공부했다고 하더라도 우리는 안드로이드 또는 iOS 앱 중 하나만 개발이 가능하다는 것이다.
그렇다면 앱 개발에는 이 두 가지를 배워야 하는 것 말고는 방법이 없을까? 당연히 있다! 바로 '크로스 플랫폼 앱'개발. 이 크로스 플랫폼 앱 개발은 네이티브 앱과 하이브리드 앱 개발의 장점들을 모아놨다고. 그 중 리액트 네이티브(React Native)는 페이스북에서 만들고 지원하고 있으며, 사용자 인터페이스(UI)를 만드는 데 특화되어있는 리액트(React.js) 라이브러리/ 프레임워크 기반으로 앱을 제작하는 기술이다. 이 기반은 "자바스크립트"로 개발 가능하다.
리액트 네이티브를 사용하고 있는 대표적인 회사는 아래 보이는 사진과 같다.
이 밖에도 많은 회사들이 사용하고 있으며, 형성되어있는 커뮤니티가 상당하다고. 많은 사람들이 이미 다양한 경험을 거쳐 리액트 네이티브를 사용해 많은 앱을 만들었다는 뜻이니 신뢰가 간다.
☕ Javascript 맛보기
자바스크립트는 사이트(웹 문서)에 움직이는 그림을 그릴 때 쓰이는 작고 가벼운 언어다. 이는 사이트 내의 팝업을 띄울 수 있으며, 마감까지 얼마 남았는지 카운팅이 되는 모습도 작성할 수 있다(위 사진 참고). 그렇기 때문에 "자바스크립트는 웹 기술"이라는 고정관념도 이제는 옛말이라할 수 있겠다.
이렇게 어느 정도의 개념을 정립한 이후 본격적인 자바스크립트 기초 및 문법을 연습했다. 무엇보다 자바스크립트를 공부하며 내내 별도의 프로그램 필요 없이 '크롬'만 사용했기 때문에 '초심자'인 나로선 접근성이 좋다고 본다.
Javascript 기초 문법의 숲을 지나다
'반지의 제왕'으로 유명한 영국의 저자 'J.R.R. 톨킨'의 호빗이라는 저서에는 우거진 숲 속에 유독성 냇물과 독 포자, 그리고 독거미가 가득한 어둠 숲이 나온다. 필자는 이미 어둠 숲을 왕복으로 다녀온 기분이다. 아직 4주 차나 남았다니 정말 가슴이 웅장해진다. 그만큼 앱개발은 쉽지 않은 게 사실이다. 쳐질 땐 '구글링', 'MDN'으로 잽싸게 따라잡았다. '스파르타코딩클럽'은 주차가 끝날 때마다 과제를 내주는데 과제를 풀어야 다음 과정을 밟는 식이다.
대부분은 스파르타 코딩클럽 홈페이지 내에 있는 '즉문즉답' 서비스를 이용하는 것 같다. 모르는 건 찾아보거나 물어보면 되기 때문에 여차저차 해결된다. "너무 어렵다"는 생각은 애초부터 별 도움이 되지 않는다. 어떻게서든 해결할 생각을 해야 한다. 우리들의 시간은 소중하다!
⚓ APP 개발 종합반 1주 차 숙제
1주차 개발일지를 마치며 서론에서 언급했던 넓디 넓은 '미지의 세계'에 나가기 위한 첫 단추를 잠궜다해도 과언이 아닌데 앞으로는 얼마나 더 재미있는걸 배울지 기대감이 자란다. 조금 더디긴 해도 한걸음 내딛는 용기가 있는 분들께 추천하고 싶다.
앞으로 남은 4주도 부단히 따라잡겠다. 우리 모두 승자가 되었으면 하는 바람이다.🍀
'Coding' 카테고리의 다른 글
[스파르타코딩클럽] APP 개발 종합반 - 4주차 개발일지 (2) | 2022.11.30 |
---|---|
[스파르타코딩클럽] APP 개발 종합반 - 3주차 개발일지 (0) | 2022.11.23 |
[스파르타코딩클럽] WEB 개발 종합반 - 2주차 개발일지 (1) | 2022.11.22 |
[스파르타코딩클럽] APP 개발 종합반 - 2주차 개발일지 (1) | 2022.11.18 |
[스파르타코딩클럽] WEB개발 종합반 - 1주차 개발일지 (1) | 2022.11.17 |