Web #3. Web 프로그래밍? CS 프로그래밍?
개요
Web프로그래밍과 CS프로그래밍의 차이
CS? Web?
CS 버전이란 Client & Server 방식으로 만들어진 프로그램을 의미한다. 이는 Client로 부터 받은 요청을 Server가 처리하고 다시 Client에게 결과를 돌려주는 방식이다. 이번 포스팅에서는 해당 방식과 Web방식이 어떻게 다른지 알아본다.
1. 구축방식
현세대의 프로그래밍 구축은 일반적으로 두가지 방식으로 나뉜다.
Clinet & Server(이하 CS) : Local에 OS에 종속된 프로그램을 Client가 사용하고 요청한 내용을 서버사이드단에 별도로 프로그램을 구축한 경우
Web : Client단에서는 브라우저를 이용하여 OS에 종속되지 않는 시스템을 구성하고 서버에서는 Apache나 nginx 같은 웹서버를 통해 서로 요청하는 부분에 대해 통신하는 시스템
사실 두가지 방식 모두 클라이언트와 서버가 주고받는 cs 방식이나, 이를 구분하기 위해 전자를 CS 프로그래밍, 후자를 Web 프로그래밍이라고 부른다. 각 구조의 장단점을 살펴보자면 다음과 같다.
2. CS 프로그래밍
일반적으로 cs프로그래밍은 앞서 설명한 것 처럼 OS에 다운로드 받아 설치하고 사용하기 때문에, OS에 종속적이고 패치가 됐을때 일일이 사용자들이 다시 다운받아 패치해야한다는 불편함이 있다.
이런 불편함이 있지만, 서버에 부하를 줄여주고 CS App이 PC에 깔려있는 상태에서 접속하기때문에 실시간으로 관리가 가능하다. 이를 정리하자면
장점
- 로컬에서 클라이언트 APP이 구동하기 때문에 서버의 부하가 상대적으로 적음
- 실시간으로 User 관리가 가능
- 설계가 간단하며 적용이 쉬움
- 입력 Device들간의 호환(예) 바코드, 스캐너)이 좋음
단점
- APP이 깔려있는 PC에서만 접근이 가능
- 시스템 변경 시 사용자 모두에게 패치파일을 재적용하게 해야하는 불편함 존재
- 대형 시스템같은 급속한 기능변화가 예상되는 프로그램에는 부적합
사용환경
- 게임업계
- 제조업계
3. Web 프로그래밍
반면, web 프로그래밍은 cs 프로그래밍에 비해 배포가 편하고, 플랫폼에 종속적이지 않다는 장점이 있다. 다만 복잡한 프로그램에서는 그 복잡도로 인해 성능이 저하된다는 단점이 있다.
장점
- 프로그램 수정 시 상대적으로 배포가 용이
- 플랫폼에 종속적이지 않음
- 개방성 우수, 구현이 쉬움
단점
- 복잡도로 인해 서버 성능 저하
- 실시간 관리 불가, ‘새로고침’으로 동기화 필요
사용환경
- 포털사이트(검색엔진, 커뮤니티 등)
- 쇼핑몰
- 사내 그룹웨어 등
현재 대기업을 비롯한 많은 크고작은 조직에서 web프로그래밍으로 주요 사무업무를 처리 하고 있으나, 그렇다고 항상 web프로그래밍만이 옳은것이 아니라는 것은 알아야한다. 그 예로 게임산업에서는 로컬 PC의 성능을 사용하고 보다 안정적인 보안과 실시간 연결성 유지를 위해 CS프로그래밍을 사용한다는 점을 유의하면 좋을 것 같다.
해당 포스팅은 아래 블로그로 부터 이전되었습니다 :)
zunoxi.github.io/programming/2021/01/27/dev-web-webcs/
'Develop > Web' 카테고리의 다른 글
Web #6. html, css, javascript의 관계와 정의 (0) | 2020.06.22 |
---|---|
Web #5. Java에서 Json 타입으로 RestAPI 활용 (0) | 2020.06.03 |
Web #4. Rest API에 대한 이해 (0) | 2020.05.29 |
Web #2. Jar와 War (0) | 2020.04.03 |
Web #1. Spring Framework와 Spring-boot 차이 (0) | 2020.04.03 |
댓글