LG CNS 부트캠프 학습일지 70일차
학습내용
- 강사님 주관 프로젝트 아이디어 검토
- React Native 프로젝트 구성
프로젝트 아이디어 검토
강사님 주관으로 아이디어들을 검토했다. 제시한 아이디어 중에 어떤 것이 더 좋은지 이야기하지는 않았기 때문에 팀원들과 함께 고민해봐야 한다.
- 팝업스토어 플랫폼
- 고객 맞춤형 오픈마켓
- 무인매장 관리 플랫폼
- 오배송 및 누락방지 시스템
검토 종료 후 어떤 주제로 프로젝트를 진행할지 투표를 했다. 기대했던 것보다는 의견이 한 곳으로 좁혀지지는 않았다. 그건 그것대로 좋은 일이다. 개인적으로도 제시한 모든 아이디어가 재미있어 보였기 때문에 무작위로 선택했어도 크게 불만을 가지지 않았을 것이다. 일단 고객 맞춤형 오픈마켓과 무인매장 관리 플랫폼으로 의견이 모아졌고 내일 확정지을 수 있을 것 같다.
React Native 프로젝트 구성
스마트폰 어플리케이션을 만드는 것을 대비해서 React Native 프로젝트를 만들어봤다. iOS 앱으로 테스트하려면 MacOS가 있어야하기 때문에 애초에 방법이 없고 안드로이드 어플리케이션을 만드는 방법을 찾아봤다. 안드로이드 스튜디오를 설치하고 안드로이드 SDK와 에뮬레이터를 설치하면 안드로이드폰 없이도 안드로이드 어플리케이션을 테스트할 수 있었다. 하지만 x86에서 ARM 아키텍처를 에뮬레이팅하려니 오버헤드가 있다는 것을 실감할 수 있었다. 개발용 안드로이드폰을 지원받는다면 좋겠지만, 가능하지는 않은 것 같다. React Native를 사용한다면 중고 안드로이드폰을 구매해서 사용하는 것이 현실적으로 보인다. 하지만 React와 다른 점이 없지는 않아서 완전히 새로운 것을 배운다는 마음가짐으로 시작해야할 것 같다. 프론트엔드를 담당하는 다른 팀원들과 이야기해봐야할 것 같다.
집으로 돌아가는 길에 React Native로 크로스플랫폼 어플리케이션을 개발하는 것이 얼마나 유효한지 조사해봤다. 프로토타입을 만들 때는 많은 사용하는 것 같은데, 결국 정식 서비스를 시작하고나서는 안드로이드와 iOS 어플리케이션을 나눠서 개발을 하는 것 같았다. 각 플랫폼에서 최적화된 성능을 끌어내기 위해서라고 하는 것 같다. React Native를 배우는 것이 의미가 없다고 말하기는 어렵겠지만, 다른 것을 해보는 것이 더 좋을지도 모르겠다고 생각했다. 같은 이유로 Flutter를 사용해서 크로스플랫폼 어플리케이션을 개발하다가 결국에는 각 플랫폼의 전용 개발도구를 사용하게 되는 것 같다. iOS 어플리케이션을 개발하는 것은 애초에 불가능하니, 안드로이드 어플리케이션을 개발한다면 Jetpack Compose 사용법을 공부해보는 것도 나쁘지 않아보인다. 게다가 Kotlin 언어 사용법을 익힐 수 있기 때문에 다른 기술스택에도 유용할 것 같다.
Comments powered by Disqus.