교수님이 신기한 웹디자인들이 있는 사이트들을 소개해주었다.
SPA(Single Page Application) 는 Angular, React, Vue, Svelte등의 다양한 프레임워크/라이브러리가 있다.
특히 React를 이용해서 JavaScript로 ios와 안드로이드의 앱 애플리케이션도 제작할 수 있다고 하니 신기할 따름이다.
#여기서 잠깐! SPA란?
Single Page Application의 약자로 현재 웹 개발의 트랜드라고 한다. 이전의 웹 서비스는 요청할 때마다 서버로부터 리소스들과 데이터를 해석하고 화면에 렌더링하는 방식이었다면 SPA 형태는 브라우저에 최초에 한번 페이지를 전체 로드하고 이후부터는 특정 부분만 Ajax를 통해 데이터를 바인딩하는 방식이다.
[ ES6, Node.js, npm, webpack, Bable 같은 번들러 등의 개념을 공부하면 좋다. ]
구글 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임 환경인 Node.js는 javascript를 이용해서 프론트엔드 뿐만이 아니라 백엔드 까지 다룰 수 있다고 한다. 게다가 브라우저의 JS 엔진에서만 동작하던 JS를 브라우저 이외의 환경에서도 동작할 수 있도록 JS 엔진을 브라우저에서 독립시킨 JS 실행 환경이다. 주로 서버 사이드 애플리케이션 개발에 사용 된다.
필요한 모듈, 파일 시스템, HTTP등 built-in 내장 API를 제공한다.
#여기서 잠깐! API란?
Application Programing Interface 의 약자로 어떠한 응용프로그램에서 데이터를 주고 받기 위한 방법을 의미한다. 어떠한 사이트에서 특정 데이트를 공유할 경우 어떠한 방식으로 정보를 요청해야 하는지, 그리고 어떠한 데이터를 제공 받을 수 있을지에 대한 규격들을 의미한다.
API는 사용 방법과 용도에 따라모두가 접근 가능한 오픈 API와 권한이 있는 일부만 접근 간으한 비공개 API 정보가 있다.
[ 가끔 API를 응용 프로그램에서 사용할 수 있도록 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스라고 하는데 여기서의 인터페이스는 컴퓨터 시스템끼리 정보를 교환하는 공유 경계를 의미한다. ]
Node.js는 비동기 I/O를 지원하며 단일 스레드 이벤트 루프 기반으로 동작함으로써 요청 처리 성능이 좋고 데이터를 실시간으로 처리하기 위해 I/O가 빈번하게 발생하는 SPA에 적합하다.
npm(node package managet) 은 JS 패키지 매니저이다. Node.js에서 사용할 수 있는 모듈들을 패키지화해서 모아둔 저장소 역할과 패키지 설치 및 관리를 위한 CLI(Command Line interface)를 제공한다. 자신이 작성한 패키지를 공개할 수도 있고 필요한 패키지를 검색해 재사용할 수도 있다.
교수님께서 언어생성과 발전의 역사에 대해 아는 것은 매우 중요하다고 하신다.
1997년 Javascript의 첫 스탠다드 버전 (ECMA)
1999년 세번째 버전 - 몇 가지의 문제점 고친 후
네 번째 버전은 사람들이 이미 익숙한 프로그래밍 언어들이 있어서 자바스크립트를 살짝 거부? 이해하기 어렵다고 했다고 함.
2009년 ECMAScript5 버전에서는 모두가 자바스크립트 언어가 scripting language가 될 것이라고 동의했다고 함.
* scripting language는 소스코드를 컴파일 하지 않고 실행할 수 있는 언어라고함.
그래서 2009년부터 웹의 최강자가 되기 시작했다.
이후 10년동안 많은 발전들이 일어났다.
2015년 ES6 출시되었고 많은 것이 바뀌고 추가되었고 이는 자바스크립트를 굉장히 크게 성장시켰다.
교수님이 자바스크립트를 공부할 때 필요한 스킬 중 하나가 persistence : 고집 이시란다.. ㅋㅋㅋ 인내도 아니고.. 고집이라 호우호우호우..
그리고 HTML/CSS에 대한 지식이 꼭 필요하다고 하시면서 추천 사이트를 공유해주심
https://www.internetingishard.com/
이 HTML/CSS에서는 ATOM 소프트웨어를 이용해서 코딩을 할 거라 해서 또 이 빈약한 내 노트북에 또 하나의 프로그램이 다운되고 있다. 이제 노트북에서 엥간히 으에에에ㅔ엥 소리가 나도 놀라지가 않는다...
<변수 / 배열 요약 예정 >
참고 블로그들입니다. 감사합니다. 많은 공부가 되고 있습니다.
https://linked2ev.github.io/devlog/2018/08/01/WEB-What-is-SPA/
'Programming > Java Script' 카테고리의 다른 글
[K-MOOC x Coursera ] JavaScript Basic - Module 2 (0) | 2022.11.06 |
---|---|
[ 우테코 ] - 1주차 완료 후 리뷰 < 업데이트 중> (0) | 2022.11.03 |
[우테코 프리코스] 1주차 : 코치님들로의 피드백 <업데이트중> (0) | 2022.11.03 |
Node J.S + nvm + npm 에 대해 알아보자. (0) | 2022.11.03 |
[🍭JS 기초] : 연산자 (feat.Java와의 차이점) (0) | 2022.10.14 |