1. 프론트엔드 개발자의 역할과 필수 소프트 스킬
1. Web Front End ?
1.1 Web
개방형 표준 기술
1.2 Front
프론트엔드의 프론트는 가장 앞에있는 시각적인 요소를 포함하고 사람들을 직접 마주 합니다.
- 시각적 요소가 많고 그렇기에 주관적인 부분도 많습니다.
- 개발자가 기술만 알고 있다고 해서 뛰어나다고 평가 받지 않을 수 있으며, UX 같은 부분들도 많이 고려 됩니다.
- 또한 빠르게 변화가 일어납니다.
1.3 End
프로세스적 관점에서 기획 -> 디자인 -> 백엔드 -> 프론트 등 사이클의 끝에 있습니다.
- 릴리즈 일자를 선정하나 계획이 변경되고 앞선 부분에서 기간의 조정될 때 프론트가 많은 부담을 가지게 됩니다.
2. 과거, 현재, 미래의 Front
1992
2007
- 아이폰의 탄생, 모바일 생태계로 중심이 이동함 (1년 뒤, 앱스토어를 선보임)
2008
- 구글 크롬이 출시되며 V8 엔진을 선보임. 웹이 발전해야 하는데 가장 병목은 브라우저의 JavaScript 실행 부분이었음 (V8 엔진)
2009
- JavaScript를 일반 시스템에서 실행하기 위해서 빠른 V8 엔진을 사용한 node JS를 만듬 (지금의 프론트엔드 환경을 만들었다고 평가할 수 있음)
2010
- node 패키지 매니저인 npm의 등장 (08 ~ 10의 변화가 이후의 FE 10년의 환경의 기반이 됨)
- Angular과 knockout JS의 탄생 (이전의 WebApp은 jquery로 만들던 시절이었으며, Angular가 나오며 라이브러리 단계에서 프레임워크로 발전시킴, 보다 큰 앱을 단단하고 아키텍쳐를 가지고 설계될 수 있도록 하였음, knockout JS는 데이터 흐름을 라이브러리나 프레임워크 단계로 내릴 수 있는 설계를 제시함 - Two-Way Binding)
2012
2013
- React 출시. Angular가 Two-Way binding의 장점과 동시에 단점이 부각되었으며 React는 대비적으로 One-way binding의 장점을 살림 (Virtual DOM 등과 같이)
~ 2020
- React, VueJS가 주류로 사용됨. 안정화
3. Front 개발자 유형
- System 에 대한 지식이 있는 / 없는 개발자
- Graphics(그래픽 시스템) 에 대한 관심이 있는 / 없는 개발자
- UX 에 관심이 있는 / 없는 개발자
- 나는 어떤 유형의 개발자인가 생각을 해보고 전략을 세워보자!
3.1 프론트 엔드 개발자의 학습 전략
-
개발자 모두가 알아야 하는 지식
-> Network, Memory, performance
-
필요한 상황이 생기면 알고 싶지만 쉽게 배울 수 없는 지식
-> Graphics, Math
-
필요하다면 쉽게 배울 수 있는 지식
-> JS, TS, React 등 같은 라이브러리 및 프레임워크
참고