React의 초기 개발자: React는 페이스북의 소프트웨어 엔지니어인 Jordan Walke가 창시했습니다. React의 초기 버전은 FaxJS라는 이름으로 개발되었습니다.
Github 링크 : https://github.com/jordwalke/FaxJs
React Fiber: React의 핵심 알고리즘은 2017년 React 16 버전부터 "Fiber"라는 새로운 리콘실리에이션 엔진으로 대체되었습니다. 이로 인해 React는 더 나은 성능과 비동기 렌더링, 에러 경계 처리 등의 기능을 제공하게 되었습니다.
참고 (Lin Clark - A Cartoon Intro to Fiber)
https://www.youtube.com/watch?v=ZCuYPiUIONs
React의 초기 이름: 초기에 React 개발 팀은 이 프로젝트를 "Quark"이라는 이름으로 부르기도 했습니다. 이 이름은 물리학에서 매우 작은 입자를 의미하는 "쿼크"에서 따온 것입니다.
React의 영감: React는 페이스북의 Jordan Walke가 XHP(타입 안정성을 높이고 HTML을 더 효율적으로 처리하는 데 도움이 되는 PHP 확장)에서 영감을 받아 개발되었습니다.
원래 목적: React는 처음에 페이스북의 뉴스 피드와 인스타그램 웹사이트의 특정 부분에서 발생하는 복잡한 UI 문제를 해결하기 위해 개발되었습니다.
Facebook의 React 오픈소스화: React가 오픈 소스로 공개되기 전에 페이스북은 다른 회사와 협력하여 React를 사용해 보았습니다. 페이스북은 React의 오픈 소스화를 결정하기 전에, 이 프로젝트가 다른 회사와의 협력을 통해 어떤 가치를 가져올 수 있는지 평가하고 싶어했습니다.
React는 원래 페이스북 사내 해커톤에서 시작되었습니다: React의 초기 버전은 페이스북 사내 해커톤에서 Jordan Walke에 의해 개발되었습니다. 그 후에 이 프로젝트가 진행되어 지금의 React가 되었습니다.
React.js 로고의 의미: React의 로고는 원자 모델을 의미하며, 그 중심에 있는 핵은 "컴포넌트"를 나타냅니다. 전자는 주변의 Element들을 나타내며, 이러한 Element들이 서로 상호 작용하면서 컴포넌트가 구성됩니다.
React 팀의 철학: React 개발 팀은 "자바스크립트의 표현력을 통한 UI"라는 철학을 고수합니다. 이 철학은 React의 디자인 원리 중 하나로, JSX와 같은 기능들이 이러한 철학을 반영합니다.
React의 유연성: React는 웹 개발뿐만 아니라 전자 메일 템플릿, 워드프레스 테마 및 서버 렌더링 애플리케이션과 같은 다양한 사용 사례에 적용할 수 있습니다. 이는 React의 유연성과 확장성 덕분입니다.
React의 실험 기능: React 개발 팀은 실험적인 기능을 시험하고 사용자의 피드백을 받기 위해 "React Experiments"라는 프로젝트를 운영하고 있습니다. 이 프로젝트를 통해 새로운 기능과 개선 사항이 React의 주요 릴리스로 통합되기 전에 먼저 소개되고 평가됩니다.
React의 영화 관련 연결: React의 초기 버전은 "Fast and Furious 6" 영화의 개봉과 동시에 런칭되었습니다. 이 때문에 일부 React 개발자들은 영화의 영향을 받아 프로젝트 코드명을 "Fast and Furious"로 지었습니다.
React에 대한 최초의 튜토리얼: React가 처음 출시될 때, 페이스북 개발자 Pete Hunt가 React의 개념과 사용 방법을 소개하는 튜토리얼을 작성했습니다. 이 튜토리얼은 React가 어떻게 작동하는지 이해하는 데 도움이 되었으며, 웹 개발자 커뮤니티에 React의 인기를 확산시켰습니다.
큰 규모의 애플리케이션에 사용되는 React: React는 수많은 대형 기업에서도 사용되고 있습니다. Netflix, Airbnb, Dropbox, Twitter, Uber 등과 같은 기업들이 React를 사용하여 사용자 인터페이스를 구축하고 있습니다.
React의 라이선스 변경: 초기에 React는 BSD + Patents 라이선스를 사용했습니다. 그러나 이 라이선스는 오픈 소스 커뮤니티에서 논란이 되었고, 페이스북은 2017년 React를 MIT 라이선스로 변경하여 이러한 문제를 해결했습니다. 이 라이선스 변경으로 인해 React는 더 많은 프로젝트와 기업에서 쉽게 채택될 수 있게 되었습니다.
React를 사용한 게임 개발: React는 웹 기반 게임 개발에도 사용될 수 있습니다. 예를 들어, React와 함께 사용할 수 있는 게임 엔진인 React-Three-Fiber는 WebGL과 Three.js를 이용하여 3D 그래픽을 렌더링합니다.
React의 초기 슬로건: React의 초기 슬로건은 "Rethinking Best Practices"였습니다. 이 슬로건은 React가 기존의 웹 개발에 대한 접근 방식과 패러다임을 재고하고 새로운 방식을 제시하려는 의도를 나타냅니다. React는 컴포넌트 기반 아키텍처, 가상 DOM, 단방향 데이터 흐름과 같은 기술을 도입하여 웹 개발의 베스트 프랙티스를 재정립하려고 했습니다. 이러한 새로운 접근 방식은 React의 성공과 인기를 뒷받침하였습니다.
React 360: React 360은 React 기반의 라이브러리로, 웹에서 3D 및 가상 현실(VR) 경험을 구축하는 데 사용됩니다. 이 프로젝트는 원래 React VR로 알려졌으나, 후에 이름이 변경되었습니다.
React가 처음 소개된 행사: React는 처음에 2013년 JSConf EU에서 페이스북 소프트웨어 엔지니어인 Jordan Walke에 의해 발표되었습니다. 그 당시 이 발표는 많은 관심과 논쟁을 불러일으켰습니다.
링크 (이것은 역사적 현장이니 꼭 한번 볼것을 권함)
https://www.youtube.com/watch?v=GW0rj4sNH2w
React의 특이한 네이밍: React 소스 코드에는 .__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED 라는 이름의 내부 속성이 존재합니다. 이 내부 속성은 개발자들이 이러한 내부 기능을 직접 사용하지 말 것을 경고하는 재미있는 방법입니다.