React Native | watchman은 무엇을 위해서 파일의 변화를 감지하는 것인가

일어나 개발해야지·2024년 4월 3일

React

목록 보기
2/7

Intro

expo 프로젝트를 React Native cli로 이전하기로 했다.
React Native cli로 프로젝트를 생성하니
오랜만에 watchman을 설치했다.
예전에 선배가 "변화를 감지하는 프로그램" 이라고 얘기해던게 기억난다.

watchman

watchman은 파일의 변화를 감지하는 프로그램이다.


① state & watchman

Q : React는 원래 state의 변화를 감지하는데 watchman이 별도로 필요한 이유는 뭘까?
A : State는 상태가 변경될때 UI가 업데이트 되는 개념으로 코드는 변경되지 않는다.
즉 파일이 변화가 아닌, 상태가 바뀔때 UI가 새로고침된다.


② Reload & watchaman

Q : 그럼 코드바뀔때 화면이 reload 되었던게 watchaman의 역할이였던걸까 ?
A : 그건 React Native에 포함된 Hot Reloading 기능


③ Hot Reloading & watchman

Q : 그렇다면 watchman은 무엇을 위해서 파일의 변화를 감지하는 것인가 ... ?
A : watchman은 파일의 변경사항을 모니터링하는데, watchman을 통해서 파일의 변화가 있었다는 것을 감지하면, Hot Reloading 이 동작하는 방식


결론

watchman이 파일의 변화를 모니터링 하고 있기때문에 React Natvie의 Hot Reloading이 동작하고, 이로인해 개발자는 코드가 변경될때마다 app을 빌드할 필요없이 효율적인 개발이 가능하다. 때문에, Watchman을 React Native의 핵심적인 도구 중 하나라고 이야기함.

0개의 댓글