리액트
리액트는자바스크립트 라이브러리의 하나로서 사용자 인터페이스를 만들기 위해 사용된다.
페이스북과 개별 개발자 및 기업들 공동체에 의해 유지보수된다.
리액트는싱글 페이지나 모바일 애플리케이션의 개발 시 토대로 사용될 수 있다.
복잡한 리액트 애플리케이션들은상태 관리,라우팅,API와의 통신을 위한 추가 라이브러리의 사용이 일반적으로 요구된다.
기본 사용법
다음은 JSX와 자바스크립트와 함께 HTML에 사용한 기초적인 예제이다.
<div id="myReactApp"></div>
<script type="text/babel">
class Greeter extends React.Component {
render() {
return <h1>{this.props.greeting}</h1>
}
}
ReactDOM.render(<Greeter greeting="Hello World!" />, document.getElementById('myReactApp'));
</script>
Greeter클래스는greeting속성을 수용하는 리액트 컴포넌트이다. ReactDOM.render메서드는Greeter컴포넌트의 인스턴스를 생성하고greeting속성을'Hello World'로 설정하며 렌더링된 컴포넌트를 차일드 요소로서myReactAppid의 DOM 요소로 추가한다. 웹 브라우저에 표시될 때 결과는 다음과 같다
<div id="myReactApp">
<h1>Hello World!</h1>
</div>
SPA
싱글 페이지 애플리케이션(single-page application, SPA, 스파)은 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트를 말한다.
이러한 접근은 연속되는 페이지들 간의 사용자 경험의 간섭을 막아주고 애플리케이션이 더 데스크톱 애플리케이션처럼 동작하도록 만들어준다.
SPA에서 HTML, 자바스크립트, CSS 등 필요한 모든 코드는 하나의 페이지로 불러오거나, 적절한 자원들을 동적으로 불러들여서 필요하면 문서에 추가하는데, 보통 사용자의 동작에 응답하게 되는 방식이다.
문서는 프로세스 중 어떠한 지점에서도 다시 불러들이지 않으며 다른 문서로 제어권을 넘기지 않으나,
위치 해시나 HTML5 히스토리 API를 사용하여 애플리케이션 안에서 개개의 논리 문서의 인식 및 탐색을 제공할 수 있다.
싱글 페이지 애플리케이션과의 소통은 뒷편에 있는 웹 서버와의 동적인 통신을 수반하기도 한다.