프론트엔드 개발 삽질기: React vs Flutter, 로컬 vs Replit vs Codesandbox

소개

이제 스터디 마무리 및 발표까지 얼마 남지 않았으며, Streamlit을 통한 서비스 고도화는 UI 관점에서 평소 생각했던 것보다는 고점이 더 높았으나 결국 한계가 있어서 프론트와 백으로 분할하여 개발을 진행하고자 합니다.

진행 방법

초기 계획은 Flutter와 FastAPI 조합이었지만, 플레이스토어나 앱스토어의 심사 과정에 따른 소요 시간을 고려하여 Fluuter 기반 크로스플랫폼 앱 개발에서 React 기반 PWA 형태의 웹앱 개발로 방향을 틀었습니다.

  • React 선택 이유 :

    • Claude에서 생성해주는 UI를 최대한 활용하고자 했습니다.

    • React를 해본 적이 없기에 초기 환경 설정 없이 간편하게 배포할 수 있는 웹 기반 개발 환경을 고려하였습니다.

  • Replit vs Codesandbox :

    • Replit : 유료 결제 없이 배포가 불가능

    • Codesandbox : Github 연동은 매력적이였지만, 그렇게 될 경우 Virtual machine credits 제한(월 40시간)이라는 단점이 있고, 사용해보니 불편한 점들이 많았습니다.

  • 로컬 환경 구축 및 개발로 결정 :

  • 로컬 환경 구축 시작 :

  1. 우리 GPT와 함께 즐거운(?) 개발 환경 세팅을 진행했지만, Create-React-App 을 활용한 프로젝트를 생성부터 React Ver 충돌 발생하며 에러 발생... 😢

    • 1차 : 프로젝트명은 대문자가 안됨

      brew install node
      npx create-react-app My-App
      Cannot create a project named "DayCoach_React" because of npm naming restrictions:
      
        * name can no longer contain capital letters
    • 2차 : 프로젝트명 소문자로 바꾸고 재진행 시 충돌 발생

      • create-react-app은 19를, @testing-library/[email protected] 은 18을 요구함

        brew install node
        npx create-react-app my-app
        npm error   react@"^19.0.0" from the root project
        npm error
        npm error Could not resolve dependency:
        npm error peer react@"^18.0.0" from @testing-library/[email protected]
    • GPT가 제시해준 1,2안 모두 실패

      • 1안 : npm 의존성 검사 완화

        npx create-react-app my-app --legacy-peer-deps
      • 2안 : react ver 고정

        npx create-react-app daycoach-react --use-npm
    • 구글링하다가 찾은 글에서 보니 리엑트 팀에서 Create-React-App 관리하기 귀찮아서 던져버렸다고...?!

      (블로그 해당 부분 캡쳐 사진)

  2. 해당 블로그 글 참고해서 React+Vite로 다시 처음부터 진행

    brew uninstall node
    brew install nvm
    mkdir ~/.nvm
    echo ~~~
    echo ~~~
    source ~/.zshrc
    > nvm install 18
    > nvm install --lts 18
    > nvm install
    > nvm use 18
    
    npm create vite@latest
    # 프로젝트명 입력 : my-app
    # framework 선택 : React
    # variant 선택 : JavaScript
    cd my-app
    npm install
    npm run dev

    단어가있는 화면이 반응합니다

결과와 배운 점

뭔가 손에 들린거는 없는데 시간만 계속 지나가고 있어서...시작이 반이다! 화이팅!!

도움 받은 글 (옵션)

Vite로 쌈@뽕한 React 설정하기

4
3개의 답글

👉 이 게시글도 읽어보세요