yhc-key.log
로그인
yhc-key.log
로그인
React deep dive -1_역사
조용환
·
2024년 1월 14일
팔로우
0
React
deep dive
0
React_Deep_Dive
목록 보기
1/12
리액트의 역사
2010년대 프론트앤드 개발 환경을 향해 페이스북이 도전
2000년대까지만 해도 LAMP(Linux, Apache, MySQL, PHP)로 웹 개발
2010년대에 오면서 정적 -> 동적 변환이 일어나기 시작함.
인터넷 익스플로러 8에서 등장한 로컬 스토리지, 2011년 웹소켓, and 캔버스, SVG, Geolocation 등 지원하면서 웹 개발 진화
Ajax(Asynchronous JavaScript and XML) 활용하면서 자바스크립트 코드가 복잡해지기 시작
MVVM, MVC 패턴 기반으로 복잡해지는 것을 체계화하고자 Google의 AngularJS, CoffeeScript와 Backbone.js등이 등장.
당시 애플의 강력한 앱 규제에 반발해서 만들어진 스파르탄 프로젝트로, 앱스토어에 등록하지 않고 서비스를 하는 것을 목적으로 진행 됨.
비록 이 프로젝트는 실패했으나, 여러 서비스에 긍정적 영향을 끼침.
BoltJS를 페이스북 자체 개발 후 페이스북 클론 코딩을 했으나, 소리소문 사라지고, Functional Bolt라는 것을 개발. 이것이 React의 시초가 됨.
페이스 북 팀의 대안으로 떠오른 리액트
UFI(Universal Feedback Interface) 구현을 첫번째 프로젝트로 함.
그 당시 인스타그램도 인수하면서 인스타그램 개발을 React로 선택
그 당시 많은 것을 오픈소스로 했으나, 관리가 안된 것이 많았는데, React는 문서화에 공을 많이 들임.
리액트에 대한 회의적인 의견과 비판
컴퓨터 공학의 관심사 분리 원칙을 위한 기초 사실이었던 HTML과 JS가 같은 파일에 들어가는 JSX에 대해 굉장히 여론은 회의적이었다.
JSConf를 통해 발표했는데, 아마 전달 문제 였을 듯 싶다. 실제로 리액트의 관심사 분리는 컴포넌트 기반으로 이루어졌을 뿐, 관심사 분리가 안 된 것은 아니었다.
빛을 보는 리액트
상태 관리, 라우터 라이브러리, 서버 사이드 렌더링 프레임워크 등이 등장하면서 빛을 보기 시작.
야후 메일에서 앞서서 리액트를 도입
- 야후!메일은 C++, HTML -> PHP, JS 기반이었는데, 전통적인 MVC 패턴을 유지해 개발하는 것에 어려움을 느껴 리액트와 Flux 패턴 도입
넷플릭스도 빠르게 도입
- 자바 기반이었으나, 최초 상호작용 시간이 평균 5초, 웹 사이트 빌드는 20분 가까이 걸렸다.
- 리액트와 백본 두개로 프로토타입을 만들어보고 리액트를 선택
리액트의 현재와 미래
2013년 5월 최초 공개 리액트의 버전은 0.3.0, 현재는 18.2.0이상이다.
0.14.7 이후 15.0.0버전으로, 1.0.0이상 15.0.0 미만 버전은 없다.
카카오, 네이버 pc 메인, 지도 메인 등도 리액트 사용
조용환
practice react, javascript
팔로우
다음 포스트
React deep dive -2_JSX
0개의 댓글
댓글 작성