페이스북 리액트 자습서, 블로터 "리액트 네이티브로 ios, 안드로이드 앱 개발을 한번에",
실전 리액트 프로그래밍 이재승 지음

참고하여 작성하였습니다.

리액트가 뭐지?

부트 캠프와서 난생 처음들었다. 낯설다. 정말 이상한 마술 같다.
component, state, props 강의도 듣고 직접 코드도 써 내려가 봤는데 중괄호 내용이 도통 이해가 되지 않는다.
천천히 그러나 단단히 다지고 싶어서 작성해본다.

"리액트는 사용자 인터페이스를 구축하기 위한 선언적이고 효율적이며 유연한 자바스크립트 라이브러리입니다."

"리액트는 페이스북에서 개발하고 관리하는 UI 라이브러리
앵귤러가 웹 애플리케이션 개발에 필요한 다수의 기능을 제공하는 것과는 대조적으로 리액트는 UI기능만 제공한다."

"리액트 팀에서는 리액트의 진입 장벽을 낮추기 위해 create-react-app을 만들었다. create-react-app을 이용하면 리액트를 처음 사용하는 사람도 하나의 명령어로 리액트 개발 환경을 구축할 수 있다."

왜 쓰지

"가장 큰 이유 중의 하나는 UI를 자동으로 업데이트해 준다는 점이다. 대개 프로그램의 상태가 변하면 UI도 변경되는데, 이는 다음과 같이 함축적으로 표현할 수 있다."

"리액트와 같은 도구를 사용하지 않으면 브라우저의 돔을 직접 업데이트해야 한다. 돔을 직접 업데이트하는 코드는 잘 관리하지 않으면 프로그램이 커질수록 복잡도가 기하급수적으로 증가한다. 따라서 UI 업데이트를 순수 자바스크립트로 처리하려면 리액트에 ㅅㅇ응하는 자체 라이브러리를 만들어서 관리하는 게 좋다"

리액트 네이티브는 또 뭐지?

"리액트 네이티브는 리액트라는 라이브러리를 기반으로 하는 앱 개발에 사용되는 기술입니다. 자바스크립트로 작성된 리액트를 이용하기 때문에 시작하기 쉽고, 개발과 테스트를 빠르게 할 수 있다는 장점을 갖고 있습니다. 예를 들어 안드로이드나 iOS 같은 모바일 기기용 앱을 만들려면 각 플랫폼에 맞는 기술을 사용해 플랫폼별로 각각 개발해야 하는 번거로움이 있습니다. 그런데 리액트 네이티브를 활용하면 한번의 개발로 여러 플랫폼에 앱을 서비스할 수 있어 그런 번거로움을 제거할 수 있습니다"

"제일 큰 강점은 하나의 소스로 여러 플랫폼에 사용할 수 있는 앱을 개발할 수 있다는 점"