백엔드 & 프론트엔드 (Backend & Frontend)
웹 개발에서 중요한 두 축인 백엔드와 프론트엔드는 비개발자 입장에서는 이해하기 어려울 수 있습니다.
쉽게 말하면 프로트엔드는 사용자와 소통하며 사용자 경험을 책임지고, 백엔드는 사용자가 보지 못하는
영역에서 데이터 처리하며 전체 애플리케이션이 원활하게 작동하도록 만드는 역할을 합니다.
정의
● 백엔드 (Backend)
- 서버, 데이터베이스 등 보이지 않는 영역에서 데이터를 처리하고 저장하는 기능을 담당
- 백엔드 개발자는 백엔드의 DB 와 API 서버 개발을 맡습니다.
● 프론트엔드 (Frontend)
- 사용자가 직접 볼 수 있는 웹 페이지의 인터페이스나 디자인 등을 관리하는 영역
- 프론트엔드 개발자는 백엔드 API 에서 가져온 데이터의 출력, 입력을 통한 비즈니스 로직 구성과 사용자와
대화하는 사용자 인터페이스 부분을 작업하는 개발자를 말합니다.
개발 기술
● 백엔드 (Backend)
- 백엔드 개발은 API 개발이 주가 됩니다.
- 프론트에서 요구하는 데이터의 포맷이나 데이터베이스 입출력 및 다양한 비즈니스 프로세스를 코드로 구현하고
이를 위한 DB 를 설계하고 백엔드 프레임워크를 이용하여 앱을 구현하는 것이 주요 업무입니다.
- 백엔드 프레임워크와 프론트엔드 서버를 이어주는 서블릿, WSGI 등의 미들웨어 기술도 필요합니다.
- API 명세를 설계하고 실제 배포 단계에서 최대한 문제가 발생하지 않도록 체계적으로 구성하는 능력도 필요합니다.
- 핵심은 DB 에 담겨진 정보를 프로트엔드에서 활용할 수 있도록 여러 API 들을 개발하는 것입니다.
- 백엔드나 서버 프로그래밍은 최적화된 로직과 리소스 관리를 통해, 적재적소의 데이터를 보내주는 것을
최고의 가치로 여깁니다. 퍼포먼스의 차이, 지속적인 유지보수의 가능성, 서버 환경과 DB 등의 충돌 여부나
의존성 문제가 발생하지 않는가에 대한 고려도 백엔드에서는 중요한 가치입니다.
- 가장 일반적인 백엔드 언어로는 Hypertext Preprocessor (PHP), Ruby, Java, Python 등이 있지만,
다양한 요구 사항에 따라 사용할 수 있는 프로그래밍 언어와 기술은 이 외에도 많습니다.
● 프론트엔드 (Frontend)
- 프론트엔드 개발자는 프론트 영역 전반과 서버에 대한 이해력이 필요합니다.
- 웹이 아닌 모바일쪽 프로트엔디라면 입력을 감지하고 이에 알맞는 기능을 동작시키는 기술도 중요합니다.
- 하드웨어는 매우 기본적인 센서만 제공하기 때문에, 이를 해석하여 정확한 반응을 묘사해야하는 것은
프론트엔드 개발자의 영역입니다.
- 프론트엔드에서 추구하는 가치는 디자인적 측면과 예술적인 부분이 꽤 많이 차지합니다.
- 가장 일반적인 프론트엔드 언어로는 Hypertext Markup Language (HTML), Cascading Style Sheets (CSS),
JavaScript 등이 있습니다.
프론트엔드 개발자와 분별하기기 어려운 직종으로 웹 퍼블리셔가 있는데, 웹 퍼블리셔는 HTML 중심이고,
웹표준 반응형 웹과 UI를 만드는 디자인 쪽에 가깝고, 데이터 처리 및 비즈니스 로직을 개발하진 않습니다.
● 풀 스택 (Full-Stack)
백엔드와 프론트엔드를 모두 다룰 줄 아는 개발자를 일컬어 풀 스택 개발자라 합니다.
풀 스택 개발자가 되려면 컴퓨터 과학에 대한 전문성을 갖추어야 합니다.
HTML, CSS, JavaScript, NodeJS, ExpressJS, Django, PHP에 능통합니다.
뿐만 아니라, MySQL, PostgreSQL, MongoDB 등 다양한 데이터베이스 관리 시스템(DBMS)에 대해서도
잘 알아야 합니다.
'IT 개발 > IT사전' 카테고리의 다른 글
[IT사전] 캐시 (5) | 2025.03.31 |
---|---|
[IT사전] 메타데이터 (7) | 2025.03.27 |
[IT사전] 클라우드 (2) | 2025.03.24 |
[IT사전] 스마트홈 (3) | 2025.03.21 |
[IT사전] - 이스터 에그 (2) | 2025.03.17 |