React로 시작하는 프론트 개발은 필자(seolim)의 경험을 기반으로 작성되며 절대 정답이 아닙니다! 이점을 유념하며 읽기 바랍니다.

프론트엔드 개발이란?

3세대 웹서비스 이후 SPA가 유행하기 시작하면서 Frontend, Backend의 개념이 정립되었다.

쉽게말하면 HTML/Javascript와 데이터를 조작/제공하는 부분이 구조적으로 분리된것이다.

따라서 현대에 와서는 Web service의 개발에 있어서 프론트 사이드와 백엔드 사이트의 구별이 더욱 세분화 되어있다.

그런데 프론트엔드 개발이란 뭘까? 화면을 그리는 것? 그건 디자이너 아닌가?

우선 React를 배우기 전에 프론트엔드 개발이 무엇인지 정리해보자. 참고: wht can't we find frontend developers?

위 글의 중간 프론트엔드 엔지니어가 실제로 하는 일을 적은 부분이 있다. 해당 부분을 번역해보면

**What Front End Engineers actually do:**

1. 디자이너와 엔지니어간 시각 언어 확립
2. 디자인으로 부터 표현 컴포넌트 세트 정의
3. 다양한 웹 어플리케이션의 기준 확립
4. 웹 어플리케이션의 범위를 기기, 브라우저, 화면, 애니메이션 측면에서 정의
5. 브랜드 충성도, 코드 품질, 관계자의 상품 리뷰를 위한 품질 보증 가이드라인 개발
6. 적절한 스타일시트를 사용해 어플리케이션 꾸미기
7. 디바이스별 목업을 통해 어플리케이션 꾸미기
8. SEO, 문법성, 접근성, 스키마들을 고려한 마크업 하기
9. API를 통한 정보 접근방식 정하기
10. 다양한 interaction 워크플로우를 수행하는 개발 및 하위 표준 포괄성
11. 각종 보안 이슈 안전성 확보
12. **항상 사용자가 최우선임을 잊지 않기**

와우, 저렇게만 보면 정말 많은 일을 한다. 하지만 결국 저 모든 일은 사용자와 서비스의 데이터의 유연한 인터렉션 및 다양한 대응을 하나의 프레임워크에서 하기 위한 일들이다.

결국 프론트엔드 개발자가 해야할 일이라는 것은 유연하고 reusable한 프론트 프로세스를 구축하는 일이다.

42seoul의 "이호준"멘토님께 이런 이야기를 들었다.

Front개발에서 팝업의 종류가 3개 만들어졌는데, 그 순서를 모두 바꿔야하는 상황이 개발에서 생겼어. 그런데, 누구는 하루 종일 자기가 만든 코드 찾아가면서 수정하는데, 누구는 설정 약간만 바꿔서 30분만에 다 고쳐서 가져올수 있어.