🚀 **이 문서는 보다 쉽게 이해할 수 있도록 정리되었습니다.**
응용프로그램이라는 것은 우리가 사용할 수 있는 프로그램들을 모두 말한다. 워드도 그렇고, 인터넷 브라우저도 그렇고, 게임도 응용프로그램에 속한다. 응용하여 만들어진 모든 프로그램이 모두 응용 프로그램이다. 그것이 운영체제마다 조금씩 다른 형태로 제공이 된다.
윈도우 어플리케이션
윈도우는 우리가 일반적으로 사용하는 컴퓨터의 운영체제이다. 가장 많이 보게 되고, 흔히 접할 수 있다. 우리가 사용하고 있는 것들을 생각하면 된다. 윈도우 어플리케이션 대표적인 것은 MS Word, 인터넷 익스플로어, 크롬 브라우저 같은 것들이 있다. 네이버가 윈도우 어플리케이션은 아니다. 알집과 같은 유틸리티들이 윈도우 어플리케이션이다. 카카오톡도 PC버전이 있다. 이것이 윈도우 어플리케이션이다.
윈도우 어플리케이션은 어떻게 만들까? 주로 Visual Studio와 같은 시리즈로 마이크로 소프트사에서 만든 개발툴로 C++을 이용해서 만든다. 아무래도 윈도우가 마이크로소프트사에서 만들었으니 윈도우의 어떤 기능들을 조작하기 위해서는 그들이 제공하는 함수를 이용해야 한다. 함수라는 것은 특정 기능을 하는 것들이다. 함수라는 말은 심오하니 다음 기회에 그러면 윈도우 프로그램을 개발한다는 것은 사용자에게 보여지는 화면을 만들고, 그 화면 내에서 기능들을 동작 시킬 수 있는 버튼을 만들고, 그 버튼이 눌려졌을 때 하는 행위들을 만들고, 그 버튼을 눌러지면 행위가 되게끔 하는 것이다.
윈도우 프로그램은 윈도우라는 운영체제에서만 동작이 된다. 그 실행 파일은 다른 운영체제에서는 동작되지 않는다. 즉 윈도우 프로그램에는 명령어들이 담겨 있는데, 그 명령어들이 수행을 할 때 윈도우의 특정 기능들을 부르게 되는데, 그 부르는 대상이 있어야 한다. 물론 다른 운영체제에서는 해당 실행 파일이 아예 인식되지 않기에 실행을 시도해볼 수도 없다. 강제로 할 수 있겠지만, 의미는 없다.
웹어플리케이션
그럼 네이버와 같은 뭐라고 부를까? 웹 어플리케이션이라고 부른다. 그냥 웹사이트로 부르는 것이다. 웹사이트는 아무래도 네이버라는 자체를 가리키는 것에 가깝다면, 웹어플리케이션은 그 안에도 동작하는 것들이 많으니 그 동작되는 것들을 웹 어플리케이션을 지칭할 수 있겠다.
예를 들어 이미지가 한장 있는 특정 사이트에 들어가면 이미지가 노출되는 것을 보면 그것을 웹어플리케이션이라고 하기보다는 그냥 홈페이지이다. 그 이미지를 웹브라우저에 보이도록 하는 기능은 별도의 기능이라기 보다는 웹서버라는 서버에 이미지를 올려놓고 있으면 네트워크 접속을 통해서 해당 이미지가 나의 컴퓨터에 내려오고 내 브라우저에서 그 이미지를 불러들인 것이다. 그래서 어떤 특정 기능의 어플리케이션이 동작된 것은 아니다. 웹어플리케이션이라고 하면 네이버에서도 로그인을 하고, 메일을 보고 유튜브에서 동영상을 보고, 채팅을 하는 등으로 웹브라우저 내에서 특정 기능등을 할 수 있게 미리 만들어둔 것이라고 보면 된다.
웹어플리케이션을 만들려면 어떻게 할까?
윈도우 어플리케이션은 만들어서 사용자들이 자신의 컴퓨터에 설치를 해야 한다. 웹어플리케이션은 컴퓨터에 설치하는 개념은 아니다. 접속이라는 말로 한다. 브라우저에 주소창에 접속하고 싶은 도메인을 입력해서 접속을 한다. 도메인이라는 것은 일종의 주소이다. 내가 원하는 곳에 연결을 하는 것이다. 그러면 접속된 서버에서 어떤 내용들을 보내준다. 그 내용을 내 컴퓨터의 브라우저가 받아서 보여준다. 이 과정의 반복이 웹사이트에 접속하고 나서 일어나는 일들이다. 이때 브라우저에서의 요청을 응답해주는 것이
웹서버이다. 이 웹서버에 프로그램을 만들어 넣는 것이 필요하다. 이 프로그램들은 서버 사이드 프로그램이라고 하고, 다양한 언어들로 개발을 한다. 서버에서 동작되는 언어들이다. JSP, Java, PHP 등이다. 이런 언어들로 기능을 개발을 하고 웹서버에 넣어두면 된다. 그러면 사용자들에게 보여지는 화면이 만들어진다. 과거 프로그램들을 대부분 컴퓨터에 설치를 하고 사용을 하였다. 하지만 언젠가부터는 웹페이지내에서 많은 기능들을 하고 있다. 유투브로 영화도