앱개발 종합반 1주차 개발일지
서문
인터넷 코딩 강의 사이트 스파르타 코딩클럽의 [왕초보] 나만의 수익성 앱, 앱개발 종합반 32회차의 1주차 강의를 전부 보고 작성한 개발일지입니다.
요약
앱이 돌아가는 플랫폼은 안드로이드와 iOS로 나뉜다.
두 플랫폼의 운영체제 중 하나를 위해 만들어진 앱인 네이티브 앱은 각각 Java&Kotlin과 Swift로 만들어야한다.
네이티브 앱은 성능도 좋고 기기에서 지원하는 기능들을 제대로 활용할 수 있지만 깊이 공부해야할 필요가 있다는 점에서 왕초보가 수익성 앱을 만들고자 하는 이 강의에서는 어렵기에 다루지 않는다.
대신 하나의 언어로 두 가지 플랫폼을 모두 다룰 수 있는 React Native에 쓰이는 자바스크립트로 앱개발하는 방법을 배운다. 1주차는 이 자바스크립트에 중점을 둔 강의였다.
기존에 알고 있었던 내용
서버 & 클라이언트 - 서버는 요청받으면 데이터를 응답으로 건네주고, 클라이언트는 그 데이터를 받아 사용자에게 보여줌.
자바스크립트 기초 문법 - 대부분 알고 있는 내용.
배운 점
앱 개발에 필요한 프로그램
각 플랫폼 개발시에 필요한 도구로 안드로이드는 안드로이드 스튜디오, iOS는 XCode가 필요하단 사실을 알았다. 앱 개발을 하려면 어떤 프로그램들이 필요한지 몰랐었기에 많은 도움이 되었다. 네이티브 앱의 장점을 가지는 크로스 플랫폼 앱이 이 강의의 목표이기에 각 플랫폼의 API를 잘 보여주는 두 프로그램이 필요하긴 하겠다고 생각했다. 게임을 만들고자 하면 게임개발에 필요한 지원을 해주는 유니티처럼 말이다. 나중에 다른 걸 개발하고자 할 때엔 적합한 IDE가 있는지를 살펴보아야겠다.
크로스 플랫폼 앱
자바스크립트로 하이브리드 앱. 그러니까 웹 브라우저를 이용한 앱은 잘 알고 있었다. 서비스 워커로 깔아서 마치 앱처럼 사용해보기도 하였다. 그렇지만 리액트 네이티브로 만들 수 있는 앱은 한 가지 코드를 각각의 플랫폼에 대응하는 코드로 변환하여 그보다 높은 성능을 기대할 수 있다는 점에서 기대되었다. 만약 리액트 네이티브로 추후 만드는 방법을 구체적으로 배우고 배포한다면 두 플랫폼에서 사용자를 확보할 수 있을 거라고 전망된다.
깨달은 점
리스트(배열)의 함수 map을 사용할 때에 나는 이걸 각 리스트의 값들을 변환시켜주는 용도로밖에 생각하지 않았다. 스파르타 코딩클럽은 숙제를 내줘서 map 내에서 기준 변수(반복 중에 쌓이는 값을 보관하는 변수)를 조작하는 것으로 반복문으로서도 가능하단 사실을 깨닫게 해주었다. 평소에 생각하고 있던 것과는 전혀 다른 사용법에 눈이 확 뜨였다.
평가 ★5
아무래도 독학을 하면서 이리저리 공부를 했다보니 이런 기초적인 부분은 아직 공부에 도움은 되지 않았다. 그렇지만 평소에 공부하지 않았던 앱 개발, 특히 크로스 플랫폼 앱의 분야를 접하면서 스스로 그쪽 분야를 공부할 수 있을 단초를 얻었단 점에서 좋은 평가를 주고 싶다. 그리고 아직 1주차라는 점을 감안하면 나중에는 내가 만족할만한 부분들이 점점 늘어갈 것이다. 설명도 친절하게 해주어서 더 기대가 된다.