거의 알고리즘 일기장

요즘 expo 괜찮은가요?? (react native) 본문

react-native

요즘 expo 괜찮은가요?? (react native)

건우권 2023. 8. 14. 18:51

이 글은 최근 expo만을 이용해서 앱을 만들고 배포까지 해보고 만든 후기이다.


약 1년전에 이런글을 적은적이 있다.

https://kunkunwoo.tistory.com/279

 

react native 약 1년간 사용해본 얕은 후기

react native를 작년 12월쯤 expo로 이용해본것을 시작으로 사용한지 약 1년쯤 지났다. 최근들어 rn에 대한 회의감이 들기 시작했다. 그래서 한번 rn 약 1년 사용기를 정말 얇게 남겨보고자 한다. 주의!:

kunkunwoo.tistory.com

이 당시에는 꽤나 rn에 대한 불신이 가득한 상태로 적어서 조금 부정적으로 적었던거 같다.

현재는 rn 자체에 꽤나 익숙해져서 그런지 디버깅이나 이런게 수월해져 다시 긍정적으로 생각하고 있지만, 초심자들 입장에서는 벽이 있는 기술인건 맞는것 같다.

native 몰라서 rn왔는데 여기도 native를 알아야 수월함

expo는 이러한 벽을 허물수 있는 한번 더 wrapping한 프레임워크다.

이 기술을 이용하게 되면 사용자는 native 코드를 거의 만질 필요없이 react와 설정파일만으로도 편하게 개발을 할수 있게 된다.

정말 그럴까??

사실 약 2년전에 썼을때에는 eject를 안하고는 못배겼다.ㅋㅋㅋ (eject는 expo 환경에서 탈출한다~ 이런뜻이다)

rn에서 제공하는 컴포넌트만으로는 한계가 있고 native 모듈들을 추가해야 하는데 thrid-party module들을 추가하는 방법을 제공하지 않았다. (아마 있긴 있었는데 조금 불안정했다)

 

그래서 eject하고 bareworkflow로 개발한게 오늘의 그림일기 프로젝트이다.

https://play.google.com/store/apps/details?id=com.kunwookwon.TodaysPictureDiary&hl=ko&gl=US 

 

오늘의 그림일기: 그림으로 표현하는 하루 - Google Play 앱

간편하게 그림일기를 작성, 관리 및 공유할 수 있는 일기앱!

play.google.com

이때의 느낌으로는 "expo는 프로토타입을 빠르게 만들때 좋고 어짜피 eject해야해~"

이런 느낌이었다.

 

근데 최근 흥미가 들어 다시 문서를 봤더니 eas build, expo prebuild라는 기능도 생기고 expo config 모듈을 이용해서 native 코드를 변경해볼수도 있는것에 흥미가 들었다. 그래서 사이드 프로젝트를 새로 expo로 개발부터 배포까지 해보았다!

(아직 store 통과는 안되었다 ㅎㅎ..)

 

그래서 후기는?

내가 지금까지 경험했을때 expo의 장점은 (sdk 48기준)

1. 어느정도 시점까지는 expo go를 이용해서 빠르게 개발이 가능하다!

2. 다양한 module을 제공하고 대부분 유명한 모듈은 expo 모듈을 제공한다 (없으면 직접 expo config plugin을 만들수도 있다)

3. rn의 크나큰 단점인 모듈간의 버전 호환성에 대해서 많이 생각하지 않아도 된다. (expo에서 직접 제공하는 모듈 한정)

 

단점은

1. free tier라 build가 겁나 느리다. (이건 local build를 할수있는 옵션이 있으므로 이걸로 해결 가능)

2. expo에 대해서 또 익혀야 한다. (읽어야 하는 문서양이 꽤나 있다.ㅠ)

3. native를 아는 사람이면 답답할수있다. 왜냐하면, native 코드는 직접 수정하는 방법보다는 expo config plugin을 통해서 수정해야 하는 방법을 추천하는데, 이게 답답하고 시간이 걸린다. (native코드를 직접 수정하면, prebuild시 꼬일수 있음)

 

결론적으로는 native 기능을 커스텀 많이해야하는 서비스가 아니라면 충분히 좋아졌고(sdk 48기준) 충분히 bareworkflow를 안써도 될거 같다. 라는 결론이다. 

 

expo를 사용하면 웹개발자의 경우 확실히 앱개발에 대한 접근이 낮아졌으므로 취미로 한번 찍먹해보는것도 추천한다!

 

반응형
Comments