싱글 페이지 애플리케이션

싱글 페이지 애플리케이션(single-page application, SPA, 스파)은 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트를 말한다. 이러한 접근은 연속되는 페이지들 간의 사용자 경험의 간섭을 막아주고 애플리케이션이 더 데스크톱 애플리케이션처럼 동작하도록 만들어준다. SPA에서 HTML, 자바스크립트, CSS 등 필요한 모든 코드는 하나의 페이지로 불러오거나,[1] 적절한 자원들을 동적으로 불러들여서 필요하면 문서에 추가하는데, 보통 사용자의 동작에 응답하게 되는 방식이다. 문서는 프로세스 중 어떠한 지점에서도 다시 불러들이지 않으며 다른 문서로 제어권을 넘기지 않으나, 위치 해시HTML5 히스토리 API를 사용하여 애플리케이션 안에서 개개의 논리 문서의 인식 및 탐색을 제공할 수 있다.[2] 싱글 페이지 애플리케이션과의 소통은 뒷편에 있는 웹 서버와의 동적인 통신을 수반하기도 한다.

역사 편집

싱글 페이지 애플리케이션이라는 용어의 기원은 분명하지 않으나 이 개념은 적어도 2003년 초에 논의되었다.[3] 스튜어트 모리스는 2002년 4월 동일한 목표와 기능을 갖추고 자기 자신을 포함시키는 웹사이트를 slashdotslash.com에 작성하였으며[4] 같은 해에 얼마 지나지 않아 Lucas Birdeau, Kevin Hakman, Michael Peachey, Evan Yeh는 미국 특허 8,136,109에 싱글 페이지 애플리케이션 구현체를 기술하였다.[5]

자바스크립트를 웹 브라우저에 사용하여 사용자 인터페이스(UI)를 표시하고 애플리케이션 로직을 수행하며 웹 서버와 통신할 수 있다. SPA의 구축을 지원하는 성숙된 오픈 소스 라이브러리들을 이용할 수 있으며 개발자가 작성해야 하는 자바스크립트 코드의 양을 줄일 수 있다.

같이 보기 편집

각주 편집

  1. Flanagan, David, "JavaScript - The Definitive Guide", 5th ed., O'Reilly, Sebastopol, CA, 2006, p.497
  2. “Fixing the Back Button: SPA Behavior using Location Hash”. 《Falafel Software Blog》 (미국 영어). 2016년 2월 13일에 원본 문서에서 보존된 문서. 2016년 1월 18일에 확인함. 
  3. “Inner-Browsing: Extending Web Browsing the Navigation Paradigm”. 2014년 3월 27일에 원본 문서에서 보존된 문서. 2011년 2월 3일에 확인함. 
  4. “Slashdotslash.com: A self contained website using DHTML”. 2012년 7월 6일에 확인함. 
  5. “US patent 8,136,109”. 2002년 4월 12일에 확인함. 

외부 링크 편집