Coder Social home page Coder Social logo

rn_playground's Introduction

Zoom + YouTube 클론

  • NestJS로 간단히 만든 joom-server로 피어간 WebRTC 연결 중개
  • 중개서버는 피어간 연결을 중개하고 바로 연결 해제되고, 이후 WebRTC를 통해 피어간 비디오 및 오디오 스트림 통신
  • 리스트를 아래로 당겨서 리스트 새로고침
  • 비디오 Modal을 아래로 당겨서 최소화 가능
  • 최소화 상태의 비디오 Modal을 위로 당겨서 최대화 가능
  • 최소화 상태의 비디오 Modal을 아래로 당겨서 방 나가기 가능
  • 모달을 최대화/최소화할 때 Bottom 탭바가 아래 위로 이동
  • 실제 디바이스에서만 테스트 가능 (XCode > Target > rn_playground > Signing & Capabilities에서 Team 설정 필요) 주의) 테더링한 기기와 해당 기기에 연결된 기기간 통신은 안됨!

카카오 웹툰 클론

  • 위아래 무한 순환 스크롤
  • 참조: react-native-virtualized-waterfall
  • react-native-reanimated V2를 사용해서 구현
  • 아이템, 상세화면 전환간 Shared Transition 적용
  • 31번 브랜치에서 리팩토링중 (issue 31)

e2e 테스트

  • 카카오 웹툰 클론 Shared Transition 테스트
  • Zoom 클론 방 생성 테스트

detox-cli 설치

$ xcode-select --install
$ brew tap wix/brew
$ brew install applesimutils
$ npm install -g detox-cli

빌드 후 테스트

$ detox build -c ios // 빌드 후에만 테스트 가능
$ detox test -c ios

$ detox build -c android
$ detox test -c android

개발환경

  • 인텔 맥북 Mac OS: 11.6.1
  • 아이폰 6S iOS 15.1
  • 안드로이드 LG G7 (안드로이드110), 갤럭시 A32(안드로이드 11)

rn_playground's People

Contributors

joondong2 avatar

Watchers

James Cloos avatar  avatar

rn_playground's Issues

[카카오 웹툰 클론] 리팩토링

문제

  • 범위 계산을 너무 자주한다. (아이템 높이만큼 이동할 때마다)
  • 이에 따라 리랜더링이 너무 자주 발생한다.
  • 버퍼를 이용하지 못하고 있다. (랜더링 주기가 너무 잦아 있으나 마나한 상태)

해결

  • 지정한 높이를 이동할 때마다 범위를 계산하고 리랜더링을 하는 방법으로 변경
  • 지정한 높이를 이동하기 전까지는 버퍼를 보여준다.
  • 버퍼 이상으로 스크롤할 때는 공백을 보여준다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.