SlideShare a Scribd company logo
ⓒ NAVER Connect Foundation
프론트엔드, 어쩌다 여기까지?...
부제) 프론트엔드 트렌드의 변화
2022.10.20
작성자 : J109 안병준
ⓒ NAVER Connect Foundation
1. HTML CSS JS
# 정적인 페이지와 동적인 움직임
2. jQuery의 등장
# 데이터를 DOM으로
# DOM을 쉽게 사용해보자.
3. 컴포넌트의 탄생
# 데이터 조작과 DOM 조작을 하나로
# HTML + JS
4. 템플릿 HTML 과 데이터 바인딩
# 데이터 변경? => 화면 변경!
# React, Vue, Angular
2
5. Container – Presenter 패턴
#로직과 화면의 분리
6. FLUX 패턴
# Props Drilling 어떡하지?
7. Hooks Context Recoil Zustand Jotai
# 더 쉽게
# 더 간결하게
8. React Query, SWR, RTK Query
# 클라이언트 상태관리 이게 맞나?
# 어차피 다 서버 상태 아닌가요?
ⓒ NAVER Connect Foundation
CHAPTER 1.
HTML, CSS, JS
정적인 페이지와 동적인 움직임
ⓒ NAVER Connect Foundation 4
# 정적인 페이지와 동적인 움직임
정적인 페이지 동적인 움직임
ⓒ NAVER Connect Foundation
CHAPTER 2.
jQuery 의 등장
DOM 사용을 더 쉽게
ⓒ NAVER Connect Foundation 6
# Ajax의 등장과 jQuery
AJAX
AJAX, DOM 조작
ⓒ NAVER Connect Foundation
CHAPTER 3.
컴포넌트의 탄생
데이터 조작과 DOM 조작은 한 곳에서
ⓒ NAVER Connect Foundation 8
# 데이터 조작과 DOM 조작을 한 곳에서
Page Component
Component
ⓒ NAVER Connect Foundation
CHAPTER 4.
탬플릿 HTML과 데이터 바인딩
웹 프레임워크 전성 시대
ⓒ NAVER Connect Foundation 10
# 데이터 바인딩과 탬플릿 HTML
Data View
React Vue
Angular
HTML 탬플릿과 데이터 바인딩
ⓒ NAVER Connect Foundation
CHAPTER 5.
Container–Presenter 패턴
로직과 화면의 분리
ⓒ NAVER Connect Foundation 12
#로직과 화면의 분리
Component
복잡도 재사용성
Container
Presenter
Props
ⓒ NAVER Connect Foundation
CHAPTER 6.
FLUX 패턴
Props Drilling을 해결해보자
ⓒ NAVER Connect Foundation 14
# Props Drilling 을 해결해 보자
A
B
D
C
Action
Action
Dispatcher Store View
Redux Vuex Mobx
ⓒ NAVER Connect Foundation
CHAPTER 7.
Hooks Context Recoil Zustand
Jotai
더 쉽게, 더 간결하게 사용하자
ⓒ NAVER Connect Foundation 16
# 더 쉽게, 더 간결하게
너무 많은 코드량
과한 문법 체계
ⓒ NAVER Connect Foundation
CHAPTER 8.
React Query, SWR, RTK Query
어차피 서버 상태 아닌가요?
ⓒ NAVER Connect Foundation 18
# 어차피 다 서버 상태 아닌가요?
Store는 클라이언트 전역 상태를 관리해야 하는데,
상태관리보다는 API 통신?
웹의 특성상 데이터의 보관, 조회, 수정이 서버에서 이루어짐
비즈니스 로직은 대부분 서버에 보관
반복되는 API 관련 상태
비슷한 구조의 API 통신 코드
그렇다면, 전역 스토어에서 상태 관리를 통해 비즈니스 로직을 관리 하는 게 아니라,
서버와 직접 연동을 하면서 상태 관리를 하면 되는 거 아닌가?
Fetching
Fresh
Stale
Inactive Deleted
ⓒ NAVER Connect Foundation 19
Thank
You
ⓒ NAVER Connect Foundation 20
Reference
테오의 프론트엔드
프론트엔드에서 비즈니스 로직과 뷰 로직 분리하기 (feat, MVI 아키텍쳐)
https://velog.io/@teo/MVI-Architecture
whitebear
[WEB] 프론트엔드 웹의 발전 과정 | HTML CSS JAVASCRIPT
https://white-world.tistory.com/48
ⓒ NAVER Connect Foundation 21
Q&A

More Related Content

Similar to [부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지

Spring mvc
Spring mvcSpring mvc
Spring mvc
ksain
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
Hyosang Hong
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
Hyosang Hong
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
beom kyun choi
 
코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf
이정환
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Sang Seok Lim
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
NAVER D2
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기sung ki choi
 
React vac pattern
React vac patternReact vac pattern
React vac pattern
NAVER Engineering
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기
WebFrameworks
 
ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기
Taegon Kim
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XpressEngine
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
흥래 김
 
원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기
우현 김
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
Kim Hunmin
 
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
JunGi Kim
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론Sang Seok Lim
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
 
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발
JavaCommunity.Org
 

Similar to [부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지 (20)

Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료Jpa 쿼리 포함 자료
Jpa 쿼리 포함 자료
 
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
 
코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf코드잇-리액트-특강.pdf
코드잇-리액트-특강.pdf
 
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
Angularjs, ionic, cordova 기반 syrup store app 개발 사례 공유
 
[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp[D2 오픈세미나]3.web view hybridapp
[D2 오픈세미나]3.web view hybridapp
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
React vac pattern
React vac patternReact vac pattern
React vac pattern
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기
 
ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기ReactJS로 시작하는 멀티플랫폼 개발하기
ReactJS로 시작하는 멀티플랫폼 개발하기
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
 
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE  [제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
[제14회 JCO 컨퍼런스] 개발자를 위한 서버이중화 by JAVACAFE
 
원모먼트 Vue js 적용기
원모먼트 Vue js 적용기원모먼트 Vue js 적용기
원모먼트 Vue js 적용기
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
[KAU UMC 컨퍼런스] Java 기반 Web의 역사 - 김준기
 
Web app 개발 방법론
Web app 개발 방법론Web app 개발 방법론
Web app 개발 방법론
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발E-Gov 기반 Mobile Web Friendly 개발
E-Gov 기반 Mobile Web Friendly 개발
 

More from CONNECT FOUNDATION

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
CONNECT FOUNDATION
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
CONNECT FOUNDATION
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
CONNECT FOUNDATION
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
CONNECT FOUNDATION
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
CONNECT FOUNDATION
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
CONNECT FOUNDATION
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
CONNECT FOUNDATION
 

More from CONNECT FOUNDATION (20)

부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
[부스트캠프 웹・모바일 7기 Tech Talk]임현택_OS 그냥 재미로
 
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
[부스트캠프 웹・모바일 7기 Tech Talk]이지훈_뉴비의 시점에서 바라본 Kotlin_suspend
 
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
[부스트캠프 웹・모바일 7기 Tech Talk]오승민_Swift의 Protocol에는 감동이 있다
 
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
[부스트캠프 웹・모바일 7기 Tech Talk]이휘찬-의존성 관리 어디까지 알고있니
 
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는  어떻게  재활용하는가
[부스트캠프 웹・모바일 7기 Tech Talk]박명범_RecyclerView는 어떻게 재활용하는가
 
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
[부스트캠프 웹・모바일 7기 Tech Talk]김지원_너와 나의 함수형 프로그래밍
 
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
[부스트캠프 웹・모바일 7기 Tech Talk]김성은_Recoil
 
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
[부스트캠프 웹・모바일 7기 Tech Talk]고병학_WWDC 뭘 볼까
 
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
[특강] 개발자의 학습과 성장 / 이선협 (Cobalt, Inc.)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti) [특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노수진(Momenti)
 
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
[특강] 현업 개발자에게 듣는 모바일 개발자의 삶과 매력 / 노현석(카카오뱅크)
 
부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회부스트캠프 웹∙모바일 7기 설명회
부스트캠프 웹∙모바일 7기 설명회
 
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
[부스트캠프 Tech Talk] 배지연_Structure of Model and Task
 
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization[부스트캠프 Tech Talk] 신원지_Wandb Visualization
[부스트캠프 Tech Talk] 신원지_Wandb Visualization
 
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
[부스트캠프 Tech Talk] 김제우_짝코딩(Pair Programming)
 
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
[부스트캠프 Tech Talk] 김동현_리팩터링을 통한 내실 다지기
 
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
[부스트캠프 Tech Talk] 진명훈_datasets로 협업하기
 
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
[부스트캠프 Tech Talk] 안영진_Tackling Complexity with Easy Stuff
 
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기[부스트캠프 Tech talk] 황우진  딥러닝 가볍게 구현해보기
[부스트캠프 Tech talk] 황우진 딥러닝 가볍게 구현해보기
 

[부스트캠프 웹・모바일 7기 Tech Talk]안병준_프론트엔드,어쩌다 여기까지

  • 1. ⓒ NAVER Connect Foundation 프론트엔드, 어쩌다 여기까지?... 부제) 프론트엔드 트렌드의 변화 2022.10.20 작성자 : J109 안병준
  • 2. ⓒ NAVER Connect Foundation 1. HTML CSS JS # 정적인 페이지와 동적인 움직임 2. jQuery의 등장 # 데이터를 DOM으로 # DOM을 쉽게 사용해보자. 3. 컴포넌트의 탄생 # 데이터 조작과 DOM 조작을 하나로 # HTML + JS 4. 템플릿 HTML 과 데이터 바인딩 # 데이터 변경? => 화면 변경! # React, Vue, Angular 2 5. Container – Presenter 패턴 #로직과 화면의 분리 6. FLUX 패턴 # Props Drilling 어떡하지? 7. Hooks Context Recoil Zustand Jotai # 더 쉽게 # 더 간결하게 8. React Query, SWR, RTK Query # 클라이언트 상태관리 이게 맞나? # 어차피 다 서버 상태 아닌가요?
  • 3. ⓒ NAVER Connect Foundation CHAPTER 1. HTML, CSS, JS 정적인 페이지와 동적인 움직임
  • 4. ⓒ NAVER Connect Foundation 4 # 정적인 페이지와 동적인 움직임 정적인 페이지 동적인 움직임
  • 5. ⓒ NAVER Connect Foundation CHAPTER 2. jQuery 의 등장 DOM 사용을 더 쉽게
  • 6. ⓒ NAVER Connect Foundation 6 # Ajax의 등장과 jQuery AJAX AJAX, DOM 조작
  • 7. ⓒ NAVER Connect Foundation CHAPTER 3. 컴포넌트의 탄생 데이터 조작과 DOM 조작은 한 곳에서
  • 8. ⓒ NAVER Connect Foundation 8 # 데이터 조작과 DOM 조작을 한 곳에서 Page Component Component
  • 9. ⓒ NAVER Connect Foundation CHAPTER 4. 탬플릿 HTML과 데이터 바인딩 웹 프레임워크 전성 시대
  • 10. ⓒ NAVER Connect Foundation 10 # 데이터 바인딩과 탬플릿 HTML Data View React Vue Angular HTML 탬플릿과 데이터 바인딩
  • 11. ⓒ NAVER Connect Foundation CHAPTER 5. Container–Presenter 패턴 로직과 화면의 분리
  • 12. ⓒ NAVER Connect Foundation 12 #로직과 화면의 분리 Component 복잡도 재사용성 Container Presenter Props
  • 13. ⓒ NAVER Connect Foundation CHAPTER 6. FLUX 패턴 Props Drilling을 해결해보자
  • 14. ⓒ NAVER Connect Foundation 14 # Props Drilling 을 해결해 보자 A B D C Action Action Dispatcher Store View Redux Vuex Mobx
  • 15. ⓒ NAVER Connect Foundation CHAPTER 7. Hooks Context Recoil Zustand Jotai 더 쉽게, 더 간결하게 사용하자
  • 16. ⓒ NAVER Connect Foundation 16 # 더 쉽게, 더 간결하게 너무 많은 코드량 과한 문법 체계
  • 17. ⓒ NAVER Connect Foundation CHAPTER 8. React Query, SWR, RTK Query 어차피 서버 상태 아닌가요?
  • 18. ⓒ NAVER Connect Foundation 18 # 어차피 다 서버 상태 아닌가요? Store는 클라이언트 전역 상태를 관리해야 하는데, 상태관리보다는 API 통신? 웹의 특성상 데이터의 보관, 조회, 수정이 서버에서 이루어짐 비즈니스 로직은 대부분 서버에 보관 반복되는 API 관련 상태 비슷한 구조의 API 통신 코드 그렇다면, 전역 스토어에서 상태 관리를 통해 비즈니스 로직을 관리 하는 게 아니라, 서버와 직접 연동을 하면서 상태 관리를 하면 되는 거 아닌가? Fetching Fresh Stale Inactive Deleted
  • 19. ⓒ NAVER Connect Foundation 19 Thank You
  • 20. ⓒ NAVER Connect Foundation 20 Reference 테오의 프론트엔드 프론트엔드에서 비즈니스 로직과 뷰 로직 분리하기 (feat, MVI 아키텍쳐) https://velog.io/@teo/MVI-Architecture whitebear [WEB] 프론트엔드 웹의 발전 과정 | HTML CSS JAVASCRIPT https://white-world.tistory.com/48
  • 21. ⓒ NAVER Connect Foundation 21 Q&A