====== 드림코딩 by 엘리 ====== * description : 드림코딩 by 엘리 * author : 오션 * email : shlim@repia.com * lastupdate : 2021-01-06 ====== 개요 ====== [[https://www.youtube.com/c/%EB%93%9C%EB%A6%BC%EC%BD%94%EB%94%A9by%EC%97%98%EB%A6%AC|드림코딩]] ====== 2021 웹개발 트렌드 (2021.01.05) ====== ===== Web FrameWorks ===== * React.js * Angular * Vue.js * Svelte \\ ===== Web Frameworks state management ===== * React hooks / React Context API * Redux \\ ===== JavaScript Runtime Environment ===== - node.js - deno \\ ===== No code, Less Code ===== - Bubble - Airtable \\ ===== Serverless Architecture ( Serverless Software Design Pattern ) ===== - 소프트웨어를 클라우드 프로바이더( Cloud Provider )에게 제공(배포)만 하면 자동으로 서버에서 동작하도록 만드는 것 - 어떤 OS에서 동작하든 어떤 VM에서 동작하든, OS업데이트 필요 유무에 관계없다. * Cloud Provider : AWS(Amazon Web Services), **Netlify**, Google Cloud Platform, Microsoft Azure, **Vercel** \\ ===== JAM stack ===== - 서버 없이, 백엔드 지식 없이 풀스택을 구현하도록 도와준다. - Javascript + Apis + Markup으로 구성되어 있다. - 자바스크립트로 서버사이드 렌더링이 가능한 NextJS, Gastby를 이용 - Apis는 Headless CMS를 이용해서 구현할 수 있다. - Markup을 이용해서 Front-End를 구현할 수 있다. * [[https://jamstack.org/what-is-jamstack/|What is Jamstack?]] \\ ====== SPA & PWA ====== ===== SPA ( Single Page Application ) ===== * 페이지를 리로딩할 필요없이 한 페이지내에서 어플리케이션을 이용할 수 있다. * Facebook, Pinterest, Gmail \\ ===== PWA ( Progessive Web Apps ) ===== * 웹기술을 이용해서 만든 웹 어플리케이션을 모바일 프로그래밍을 전혀 필요로 하지 않고, 웹 어플리케이션 자체를 모바일에 다운로드 받아서 모바일에 관련된 다양한 API를 이용할 수 있고, 디바이스가 오프라인일 때도 끊임없이 어플리케이션을 사용할 수 있도록 지원한다. \\ ===== WA ( Web Assembly ) ===== * 브라우저 위에서 동작하는 자바스크립트 프로그래밍 언어는 조금 느린 편에 속한다. * 저수준에 속하는 C, C++, Rust와 같은 프로그래밍 언어로 브라우저위에서 동작하는 어플리케이션을 만들 수 있다. * 네이티브에 가까운 성능을 보장 * 컴팩트한 바이너리 포맷을 제공하여 성능이 좋은 웹어플리케이션을 만들 수 있다. * 웹어쎔블리를 이용하는 대표적인 어플리케이션 : Figma * Figma : 디자인, 프로토타입을 위해서 많은 디자이너들이 이용하고 있는 어플리케이션. C++언어를 이용해서 웹어플리케이션을 구현, 컨텐츠 로딩 속도를 3배 이상 향상 * 기존의 저수준(Low Level)언어를 이용해서 만든 게임이나 어플리케이션을 웹어쎔블리를 이용하여 웹 브라우저에서 동작하는 어플리케이션으로 간단하게 만들 수 있다. \\ ===== AI ( Artificial Intelligence ), ML ( Machine Learning )을 활용한 웹어플리케이션 제작이 대세 ===== * AI 기반 채팅 시스템 도입 * AI 기반 웹서비스의 유행 \\ ===== Voice Search and Navigation ===== ===== Material Design --> Motion Design ===== * Material Design * Google이 만든 디자인 시스템으로 Android, iOS, Flutter 그리고 Web에 대한 고품질의 디지털 경험 구축을 도와준다. [[https://material.io/design/introduction|material.io]] \\ * Motion * UI에 Motion(움직임)을 부여해서 UI에 표현력을 부여하고 사용하기 쉽게 한다.[[https://material.io/design/motion/understanding-motion.html#principles|Understanding motion]] ===== Ref ===== - Flutter ( 플러터 ) : 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일되는 구굴의 UI 툴킷 [[https://flutter-ko.dev/|Flutter]] - CMS ( Contents Management System ) : 서버에 대한 지식이 없어도 간편하게 콘텐츠를 관리할 수 있도록 데이터베이스도 생성 - Netlify[[https://www.netlify.com/|Netlify]] {{tag>오션 NCS, 국가직무능력표준}}