프론트엔드란?

JJ·2023년 3월 15일
0

제로베이스

목록 보기
2/9
post-thumbnail

내가 생각하는 프론트엔드 개발이란?

웹개발을 둘로 나누자면 프론트엔드와 백엔드로 나눌 수 있다. 그래서 나는 웹개발에 대해 처음 배울때에는 프론트엔드가 외적으로 보여지는 부분이고 백엔드가 내적으로 보여지는 부분이라고 생각하였다. 자동차로 이야기하자면, 자동차의 외관만이 프론트엔드가 하는일이라고 생각했다. 하지만, 실제로 학습하고 프로젝트를 진행하면서 이는 아주 어처구니 없는 생각이었다는 것을 깨달았다.

자동차로 예시를 들었으니, 이어서 말하자면, 자동차에서 외적인 부분도 프론트엔드가 담당할 수 있지만, 정확하게는 운전자가 자동차와 상호작용하는 부분(시동 버튼을 누르면 시동이 걸리고, 음량 버튼으로 내부 사운드를 조절한다던지 등)이 프론트엔드가 더 주요하게 담당하는 일이라고 생각된다. 다시 웹으로 돌아와서 이야기하자면, 웹페이지에서 어떠한 레이아웃이나 내부에 디자인들도 중요하지만, 이 웹페이지에서 사용자가 어떠한 일을 할 수 있고, 이 일을 어떻게 할 수 있는지와 같은 이러한 기능을 동작하게 하는 것이 프론트엔드의 주요한 일이라고 생각한다.

즉, 다시말하자면 프론트엔드 개발은 결국 사용자와의 상호작용이 이루어지는 User Interface를 구현하는 것이 주된 일이고 더 나아가서 그 상호작용이 원활하여 사용자 경험(User Experience)이 우수한 웹페이지를 만드는 것이라고 생각한다.

프론트엔드와 백엔드의 차이점은?

회원가입 페이지를 만든다고 가정했을 때, 고려할 점 몇가지를 나열해 보면,

  1. 깔끔한 레이아웃과 스타일이 적용된 회원가입 페이지
  2. 회원가입 정보의 관리

와 같다.

이때, 1번이 프론트엔드가 담당하는 부분이라고 생각한다.
사용자로 하여금 가입하고 싶게끔 보이는(?) 회원가입 페이지와 빠른 응답속도가 필요하다. 만일, 입력창의 줄간격이 중구난방이고, 정렬도 되어있지 았고, 회원가입 버튼도 입력창 사이에 있다던지 등으로 회원가입 페이지가 만들어져있다면, 사용할 때 불편함을 느끼기 쉽고, 또한 회원가입 버튼을 눌렀을 때, 긴 시간이 소요된다면, 사용자는 '회원가입 하는 것도 오래 걸리는데 서비스도 오래 걸리겠다' 라는 생각을 할 것 같다.(주관적인 생각임)

2번의 경우, 사용자는 고려하지 않아도 되는 부분이다. 회원가입 기능으로는 여러가지를 고려하기 어렵겠지만, 회원가입 시 입력받을 정보로 성별이나 연령으로 DB에서 필터링을 하거나 분류를 해야하는 경우가 있을 수 있다. 물론, 이 경우에도 사용자는 이와 관련하여 생각할 필요가 없다.

결론적으로, 프론트엔드와 백엔드는 결국 사용자와 직접적인 연관이 있는지의 여부로 나뉜다고 생각한다. 사용자와 직접적으로 관련이 있다면 프론트엔드의 영역, 그렇지 않다면 백엔드 영역이다.

profile
한줄 한줄

0개의 댓글