본문 바로가기

Programming/Web Programming (2021)

[웹 프로그래밍] 11. 자바스크립트 개요

반응형

자바 스크립트

  • 정적인 HTML 콘텐츠를 프로그램 구현을 통해 동적으로 변경하거나 사용자와의 상호작용을 담당
  • 일반 프로그램언어와 비슷한 구조
  • 객체 기반의 스크립트 언어로 웹 브라우저에서 해석되는 인터프리터 언어
  • 프레임워크를 사용하면 서버 프로그래밍에도 사용가능하다.
  • 일반적으로 사용하는 웹 브라우저에는 자바스크립트 인터프리터가 내장되어 있다.

 

특징

  • 동적이며 타입을 명시할 필요가 없는 인터프리터 언어
  • 객체지향 프로그래밍과 함수형 프로그래밍을 모두 표현 가능
  • HTML의 내용 속성 스타일을 변경 가능
  • 이벤트를 처리하고 사용자와의 상호작용을 가능하게 한다
  •  AJAX 기술을 이용해 서버와 실시간 통신 기능을 제공한다. [일부 데이터만 통신 가능하다. -> 속도 향상]

 

버전

  • ECMAScript
    • 자바스크립트 표준 규격
    • ES5
    • ES6
      • let, const 키워드 [변수 영역 지정 키워드]
      • arrow 문법 지원
      • module import / export 추가
      • 비동기 콜백 문제 해결
    • ES8
    • ES2020
  • 바닐라 스크립트
    • 순수 자바스크립트 코드로 코딩
  • Vue,Angular,React
    • 프론트엔드 프레임워크

적용 분야

  • AngularJS
    • 구글에서 만든 누구나 무료로 사용할 수 있는 프레임워크
    • 기존보다 적은 코드로 원하는 기능 구현 가능
    • AngularJS2에서 타입스크립트로 변경 이후 사용자가 줄어들었다.
  • React
    • 페이스북에서 만든 프레임워크
    • UI 라이브러리에서 특화되어있어 재사용 가능한 UI 컴포넌트 생성 지원
    • 가상 돔을 사용해 빠르게 웹 콘텐츠의 동적 처리가 가능
    • JSX [JavaScript XML]를 사용
    • 프레임워크 보다는 View 라이브러리에 가까움
    • React Native를 이용해 네이티브 앱으로 만들수있는 라이브러리 사용가능
  • Vue.js
    • 가상 돔 사용
    • 속도도 빠르고 간편하게 사용 가능

참고자료

  • Node.js
    • 백엔드 프로그램 개발에 사용할 수 있는 서버사이드 자바스크립트 런타임
    • 스레드를 사용하지 않도록 설계되어있지만 필요하다면 경량의 빠른 웹서버 개발에 적합
    • 별도의 웹 서버 소프트웨어 없이 자체적으로 웹 서버 구동이 가능하다.
    • 자바스크립트 문법을 통해 서버 프로그램 구현이 가능한 구조
  • 특징
    • 이벤트 기반, 논 블로킹 I/O 모델 사용
    • npm이라고 하는 패키지 매니저 사용
    • 빠른 처리속도와 뛰어난 확장성
  • 사용 분야
    • 입출력이 잦음
    • 데이터 스트리밍이 필요함
    • 데이터를 실시간으로 처리
    • 경량의 Restful API 기반
    • 싱글페이지 어플리케이션
  • Express.js
    • 웹 개발 프레임워크로 컨트롤러와 뷰를 처리하기 위한 미들웨어 구조 제공
    • URL에 따른 요청을 실제 구현과 연결해주고 필요한 경우 뷰 템플릿으로 전달하는 등의 프로그램 구조를 생성하고 관리 가능
    • Node.js를 이용해 웹 개발을 할때 필수 패키지
반응형