티스토리 뷰

알고 넘어가자 웹 애플리케이션, 웹 애플리케이션 프레임워크 정의 혹은 의미

자바(JAVA), 자바 스크립트(JAVA Script), CSS, 장고(DJango) 등등의 웹 관련 기술들을 접하다 보면 심심찮게 나오는 단어가 바로 웹 애플리케이션(web Application), 웹 애플리케이션 프레임워크(web application framework)입니다. 한번쯤 짚고 넘어가도록 합시다.

애플리케이션(application)

애플리케이션(application)이라 어떤 목적을 이루기 위해서 디자인된 소프트웨어 프로그램을 말합니다. 사진편집을 위한 포토샵, 프리젠테이션을 위한 파워포인트 등이 바로 애플리케이션(application)들 중의 하나입니다.

웹 애플리케이션(web application)

웹 애플리케이션(web application)은 애플리케이션을 사용하는 사용자의 목적을 이루기 위해 설계된 동적인 웹사이트 입니다. 즉 인터넷(internet)이나 인트라넷(intranet)과 같은 네트워크 상에 있는 유저에 의해 접근되는 애플리케이션입니다. 일반 애플리케이션과 다른점은 네트워크를 통하는가의 차이죠. 웹 애플리케이션의 좋은 예로 구글캘린더를 들 수 있습니다. 요즘처럼 웹 애플리케이션이 대두된 요인으로는 네트워크에 접속할 수 있는 환경이 보편화 됨에 따라서 설치나 배포가 필요가 없는 웹 애플리케이션이 강점이 부각되어 그렇습니다.

웹 애플리케이션 프레임워크(web application framework)

웹 애플리케이션 프레임워크(web application framework, WAF)는 동적웹사이트(dynamic websites), 웹 애플리케이션(web applications), 웹 서비스(web services)와 웹 자원(web resources)의 개발을 지원하기 위해서 설계된 소프트웨어 프레임워크입니다.


그러면 소프트웨어 프레임 워크는 무엇이냐? 라이브러리와는 어떤 차이인가를 보면.


소프트웨어 개발의 역사를 되돌아 보면 개발자들은 기계어로 원하는 애플리케이션을 만들었습니다. 그러다 좀더 서술하기 쉬운 고급언어를 써서 만들었고 이후 남들이 만든 코드(라이브러리)를 가져다가 자신의 프로그램 개발에 쓰게되었습니다. 그러다 생각하게 됩니다.


매번 같은 일을 맨손으로 시작하지 않을 수는 없을까? 또한 동일한 문제를 해결하기위해 다른 스타일로 만들어지는 관리와 개발의 악몽을 벗어날 수는 없을까? 입니다. 그래서 나온 개념이 프레임워크입니다.

프레임워크는 일관된 개발을 지원하고, 경계설정을 강제함으로써 모듈성 Modularity, 재사용성 Reusability, 확장성 Extensibility, 단순성 Simplicity, 유지관리성 Maintainability 의 장점이 있습니다.


적절한 비유일지는 모르겠으나 가령 블로그를 만드는데 HTML과 CSS, 서버 등등으로 전부 만드느냐 혹은 네이버나 다음의 정해진 틀에 맞춰서 디자인과 관리를 해나가느냐의 차이 정도로 생각하면 되겠죠.

정리

프레임워크는 잘 짜여진 틀이다. 웹 애플리케이션 프레임워크는 웹기반 프로그램 개발을 위한 잘 짜여진 틀이다.