ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 시스템 아키텍쳐 (React-Native를 선택한 이유)
    졸업프로젝트 2020. 11. 27. 23:38

    1. React Native 선택

     

    어플리케이션 개발로 방향을 확정하였을 때 먼저 생각난 것은 안드로이드 스튜디오였다. 

    개발 환경이 window 기반이고 mac 없이 ios 어플리케이션 개발이 불가능하다고 들었기에 처음에는 안드로이드 스튜디오로 개발을 시작하려 했다.

     

    개발을 시작해볼까..? 하고 안드로이드 스튜디오를 켜고 조금이나마 손을 대는 순간 뭔가 굉장히 하기 싫다는 느낌을 받았다. 안드로이드 스튜디오 자체가 굉장히 무겁기도 하고 조금 old 하다는 느낌을 많이 받았다.

    그래서 다른 방법으로 어플리케이션을 개발할 수 없을까 하고 찾아보다 나온 것이 React Native였다.

     

     

    React Native(RN)란?

    리액트의 접근방법을 모바일로 확장한 Facebook의 오픈소스 프로젝트이다.
    javascript로 코딩한 React의 컴포넌트는 React Native 플랫폼을 거쳐 IOS, Android Native 코드로 각각 변환된다.

     

    RN의 장점

    1) ios, android를 동시에 개발하기 쉽다.

    2) react나 javascript를 안다면 쉽게 개발할 수 있다.

    나는 겨울에 react로 웹을 구현한 경험이 있기 때문에 (개발새발..) 안드로이드 스튜디오보다는 나을 것이라고 생각했다.

    3) Hot Reload와 Live Reload를 지원한다.

    코드를 수정했을 때 다시 빌드할 필요 없이 바로 기기에서 변경사항을 확인 가능하다.

    코드를 조금 건드려보면서 경험해봤는데 진짜 최고다.

    4) 웹 확장에 유리하다.

    React-Native로 개발하고 React로 넘어가기에 수월하다.

    또한 react-native-web을 이용하여 웹앱을 한 번에 만들 수 있다.

    처음에 이 방법으로 개발하려고 했는데 굳이 웹을 만들 필요가 없어서 사용하진 않았다.

    5) 개발 툴이 필요 없다.

    결정적으로 RN을 선택한 이유이다.

    우리 팀은 모두 window 노트북을 사용하고 있다. 반면, 프론트엔드 역할을 맡은 두 팀원은 아이폰을 가지고 있었는데..

    이러한 환경에서 Xcode(ios simulator) 없이 개발이 가능하다.

     

    RN의 단점

    1) 유지보수가 힘들다.

    2) 한국어로 된 개발 자료가 부족하다

    3) 외부 라이브러리가 상대적으로 부족하다

    4) 개발이 빠르게 진행되고 변경 중이다.

    5) 복잡한 UI 구현이 힘들다.

     

    이러한 단점들이 있음에도 우리가 구현하려는 어플리케이션의 UI가 복잡한 것은 아니기 때문에 주저 없이 React Native를 이용하여 개발하기로 선택하였다.

     

     

    2. Expo 선택

     

    시뮬레이터나 에뮬레이터 없이도 본인의 핸드폰 기기에서 바로 구현된 어플을 볼 수 있다고 하여 사용하였다.

    ios나 android 같은 코드로 구현 가능하고 간단히 Expo 어플을 다운로드한 후에 사용하면 된다.

     

     

     

     

     

    [참고: medium.com/@jang.wangsu/rn-react-native%EC%9D%98-%EC%9E%A5%EB%8B%A8%EC%A0%90%EC%9D%80-6e8a2396eea1]

     

     

    댓글

Designed by Tistory.