#### 애플리케이션이란?
- 애플리케이션은 소프트웨어를 뜻하는데, 특정한 기능을 수행하기 위해 설계된 프로그램이나 모음이다. 웹 애플리케이션은 이러한 프로그램이 웹에서 작동하도록 되어 있는 것을 뜻한다.
- 프로그램이란 게 결국 코드로 구성이 된 것이기 때문에 애플리케이션은 프로그램이다. 그것도 특정한 기능을 가진 프로그램이다, 라고 이해하면 된다.
- 애플리케이션에는,
- 데스크톱 애플리케이션
- 모바일 애플리케이션
- 웹 애플리케이션
- 엔터프라이즈 애플리케이션
#### 웹 애플리케이션의 구성 요소
- 이렇게 세 가지 요소가 필요하다.
- 클라이언트
- 서버
- 데이터베이스
- 웹 애플리케이션은 클라이언트와 서버간의 요청을 해결한다. 코드로 작동하게 하는 거다.
- 웹 애플리케이션의 프론트 앤드는 사용자(클라이언트)가 보는 화면을 코드로 설계하는 것이다. html, css, JavaScript를 쓴다. 백엔드는 서버 측에서 요청을 정리하고, 데이터를 처리하는 과정으로 Python, Java, Node.js를 사용한다.
- 웹 애플리케이션은 동적 콘텐츠를 다루는데, 동적 콘텐츠는 검색을 했을 때 화면이 그 결과를 처리해서 보여주는 것처럼 바뀌는 콘텐츠다. 정적 콘텐츠는 하드 코딩이 된 사이트 소개페이지 같은 것을 정적 콘테츠라고 한다.
#### 웹 애플리케이션과 웹사이트의 차이
- 웹 애플리케이션은 단순히 웹사이트와 달리, 다양한 기능을 수행할 수 있다. 웹사이트는 정보를 제공하는 정적인 콘텐츠를 주로 보여주는 경우가 있지만, 웹 애플리케이션은 대화형 요소를 가지고 사용자의 검색, 요청을 처리하는 화면을 보여준다.
- 또 기능을 가지고 있어서, 온라인 뱅킹, 넷플릭스, 지라와 같은 도구들을 사용할 수 있게 한다.
1. **Gmail**: 구글이 제공하는 이메일 서비스로, 웹 브라우저를 통해 이메일을 주고받을 수 있는 웹 애플리케이션입니다. 이메일 작성, 정렬, 검색 등 다양한 기능을 제공합니다.
2. **Facebook**: 소셜 미디어 플랫폼으로, 사용자가 웹 브라우저에서 프로필을 생성하고, 친구와 연결하고, 게시물, 사진, 동영상을 공유할 수 있습니다.
3. **Google Docs**: 온라인 문서 편집 도구로, 사용자가 문서를 작성하고 다른 사람과 협업할 수 있는 웹 애플리케이션입니다. 문서, 스프레드시트, 프레젠테이션 등 다양한 형식을 지원합니다.
4. **Trello**: 프로젝트 관리 도구로, 사용자가 작업을 정리하고 할일 목록을 관리할 수 있는 웹 애플리케이션입니다. 칸반 스타일의 인터페이스를 사용하여 작업의 진행 상황을 시각화할 수 있습니다.
5. **Netflix**: 스트리밍 서비스로, 웹 브라우저를 통해 영화를 보고 TV 프로그램을 시청할 수 있는 웹 애플리케이션입니다. 사용자는 다양한 콘텐츠를 검색하고 개인화된 추천을 받을 수 있습니다.
6. **Salesforce**: 고객 관계 관리(CRM) 도구로, 영업, 마케팅, 고객 서비스 분야에서 사용되는 웹 애플리케이션입니다. 기업은 이 애플리케이션을 통해 고객 데이터를 관리하고 영업 활동을 추적할 수 있습니다.
7. **Slack**: 팀 커뮤니케이션 도구로, 사용자가 메시지를 주고받고, 파일을 공유하고, 프로젝트를 협업할 수 있는 웹 애플리케이션입니다. 다양한 팀 및 주제에 따라 채널을 설정할 수 있습니다.