React deep dive -1_역사

조용환·2024년 1월 14일
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 메인, 지도 메인 등도 리액트 사용
profile
practice react, javascript

0개의 댓글