React의 탄생
현재의 웹 애플리케이션(Web Application) 은 지난 과거의 웹 페이지와 차원이 다르다.
오늘날 웹 애플리케이션의 가장 큰 발전은 단연 I&UX의 발전 이 아닐까 싶다.
지난 과거를 회상해 보자,
인터넷이 가장 뜨겁고 활발하게 활용되던 시기가 언제였던가?
나는 "버디버디 - 네이트온 & 싸이월드 - 카카오톡 - 페이스북 & 인스타그램" 모두 겪은 시대를 거쳐왔다.
분명 2000년대 초 버디버디 & 네이트온의 시절의 pc 통신 열기는 뜨거웠다.
그러던 2010년 페이스북의 등장은 국내외 시장을 크게 흔들었다.
나는 이때가 진정 인터넷의 세계화된 시절이라 생각한다.
국내를 비롯하여 세계 모든 곳에서 같은 웹 애플리케이션을 사용한다는 것은 굉장히 이례적인 일이었다.
이에 따라 2011년 페이스북에서 지속해서 데이터가 변화하는 대규모 애플리케이션을 구축하기 위하여 React를 만들었다.
상호작용
과거의 웹 페이지는 단순한 UI 단순한 기능들을 갖추고 유저와 상호작용을 하였다.
예를 들어 검색어 회원정보 항목 클릭
그러나 현재의 웹 애플리케이션은 동적이고 다양한 UI를 가지며 카테고리 Hover 이벤트, 좋아요 장바구니 등등 유저와의 상호작용이 많아졌다.
이에 따라서 다루어야 할 데이터와 코드가 증가하게 되었다.
데이터와 코드의 증가에 따라 규모가 커지고 복잡해진 웹 애플리케이션을 개발하며 생산성을 향상시키고, 많은 양의 데이터 관리와 코드 유지 보수를 더욱 편리하게 하기 위해 다양한 프런트엔드 Framework 와 Library 가 등장하게 되었다.
Framework & Library
프레임워크는 정해진 틀(Frame) 속에서 수동적으로 작업해야 한다.
반면 라이브러리는 개발자의 필요에 따라 여러 가지 기능들을 찾고 그 기능들을 능동적으로 가져와서 사용할 수 있다.
프레임워크를 사용한다는 것은 틀이 짜인 작업환경에 들어가 작업을 하는 것이고, 라이브러리를 사용한다는 것은 만들어진 도구를 작업할 때 가져와서 사용한다는 것이다.
우리가 사용하는 React(리액트)는 라이브러리지만 프레임워크적인 특징 을 일부 가지고 있다.
왜 리액트인가?
리액트는 페이스북의 지속적인 관리와 함게 생태계가 화성화되어 있다.
따라서 사용자가 많고 커뮤니티가 발달해 있다.
커뮤니티가 활발하다는 뜻은 리액트를 사용하는 동안 발생하는 문제들에 대한 해결 방안을 쉽게 찾을 수 있다는 뜻이고,
이는 곧 개발자의 생산성을 향상시키는 중요한 결과물을 가져온다.
또한 리액트는 리액트 기반의 React Native 라는 기술을 통하여 웹뿐만 아니라 ios, 안드로이드 기반의 모바일 애플리케이션도 개발할 수 있다.
이러한 이유로 리액트의 사용자는 꾸준히 증가하고 있으며 프론트엔드에서 가장 많이 사용되고 있는 라이브러리이다.