Image
Image

2.Javascript 언어 이해하기

2. Javascript 언어 이해하기

자바스크립트 언어를 본격적으로 배우기전에 자바스크립트 언어에 대해 가볍게 알아보고  자바스크립트 프로그래밍 언어를 이용해 우리가 할 수 있는 일들이 어떤 것들이 존재하는지 한번 알아보겠습니다.


1)Script언어

-스크립트 언어는 매우 빠르게 배우고 쉽게 작성하고 활용하기 위해 고안된 언어입니다.
-주로 짧은 소스 코드 파일이나 간단한 컴퓨터 프로그래밍 개발에 사용되었습니다.
-Javascript, VBScript,..ShellScript..CoffeeScript,TypeScript 다양한 종류의 스크립트 언어가 존재합니다.

2)Javascript언어

-객체 기반 스크립트 프로그래밍 언어의 한 종류입니다.
-과거 주로 웹 브라우저 기반에서 작동되는 동적 웹 페이지 개발기술로 사용되었지만
-최근엔 서버환경에서 동적 웹 프로그래밍(Node.js) 개발 및 다양한 개발 분야에서 사용되고 있습니다.
-범용적으로 사용되는 많은 개발언어는 표준 스펙을 관리하는 단체가 별도 존재하며 자바스크립트 언어의 표준 스펙은 ECMA International 이라는 단체에서 그 표준을 관리합니다. 

-자바스크립트 언어는 ECMA International에서 정의한  ECMA-262 기술 규격에 정의된 자바스크립트 표준 스펙을 준수한 범용 스크립트 언어입니다.
-ECMA 표준 스펙을 준수한 자바스크립트를  ECMAScript 또는 ES라고 줄여 이야기 합니다.
-대부분의 개발언어는 사라지지 않는 이상 신규 스펙이 추가될 때마다 버전이 올라가면서 지속적으로 발전을 거듭합니다.
-자바스크립트는 주로 ES1..ES3,ES4,ES5,ES6 형태로 버전명을 붙여오다가 매년 신규 스펙이 추가됨에 따라 ES6버전(ES2015) 이후부터는 년도 식 표기방식으로 호칭하기 변경하여 ES2015,ES2016,ES2017…ES2019형태로 버전을 표기하고 있습니다.
-ES6와 ES2015는 동일 버전의 표준 스펙입니다. 
-자바스크립트 언어의 다양한 버전 중 기존 버전에게 비해 획기적으로 다양한 문법체계가 추가되고 신규 스펙이 추가된 버전이 ES6(ES2015) 버전이며 2015년도에 업데이트된 ES6버전은 전통적인 스크립트 언어가 아닌 객체 지향 언어로 자리매김합니다.

 


3)자바스크립트로 할 수 있는 일들

A.프론트엔드개발

자바스크립트를 이용하면 웹 브라우저 기반에서 순수 자바스크립트 언어를 이용해서 각종 웹 어플리케이션의 

프론트엔드 웹 어플리케이션을 개발할 수도 있고 자바스크립트 코딩의 생산성과 효율성을 향상시켜주는 자바스크립트 라이브러리인  JQuery를 이용하거나 좀더 전문적이고 개발 생산성을 높일수 있는 프론트엔드 개발 프레임워크인 React,js. Vue.js Angular.js 라이브러리들을 이용해 체계적인 프론트엔드 웹 어플리케이션을 개발할 수도 있습니다.

-JQuery
-React.js
-Vue.js
-Anaular.js

 

B.웹 백엔드 개발

자바스크립트 언어 기반으로 개발된 Node.js와 React.js를 이용하면 서버 기반의 백엔드 웹 프로그래밍을 개발할수도 있습니다. 전통적인 백엔드 프로그래밍 언어인 JAVA(JSP),C#(ASP.NET),PHP,PYTHON 언어들과 동일하게 서버 기반에 MVC패턴을 활용해 서버에서 데이터를 처리하고 HTML을 조작하며 OPEN API서비스등을 개발하고 관련 기능을 제공할수 있습니다.
-Node.js
-React.js

 

C.모바일 네이티브 앱과 하이브리드 앱 개발 

-React Native
-IONIC
-PhoneGap

스마트폰 기반 어플리케이션은 크게 모바일앱(네이티브앱,하이브리드앱)과 모바일웹 어플리케이션형태로 구분되어집니다.
모바일앱의 네이티브앱은 Anroid OS기반은 Kotlin,JAVA언어 기반으로 만들수 있는 네이티브앱과 IOS기반 Swift,ObjectC언어 기반으로 만들수 있는 네이티브앱, 그리고 요즘 핫한 React Native 와 Flutter,Xamarin 를 이용해 Android,IOS 양쪽 운영체제 기반 네이티브앱을 동시에 개발할수 있는 크로스플랫폼앱 기술들이 존재합니다.

자바스크립트언어 와 React Native기술을 이용하면 Android,IOS 양쪽 운영체제 기반 네이티브앱을 동시에 개발할수 있습니다.

 

모바일앱의 하이브리드앱은 설치형 모바일앱의 껍데기만 네이티브로 개발하고 컨텐츠가 제공되는 화면영역은 웹뷰 컨트롤을 제공하여 웹페이지로 구성하여 서비스하는 방식을 말합니다.순수 네이티브앱에 비해 거의 많은 부분이 웹기술 기반으로 구현됩니다.
하이브리드앱은 주로 자바스크립트 기술을 이용해 개발하며 개발의 배포 편리성,유지보수 및 운영 편리성이 좋은 점이 있으며 React Native,IONIC,PhoneGap등이 유명합니다. 

모바일웹은 스마트폰의 웹브라우저 기반으로 볼수 있는 웹어플리케이션으로 대부분 하나의 웹 개발소스로 다양한 해상도의 컴퓨터 디바이스를 지원하는 반응형 웹 기술을 기반으로 개발되어지는 반응형웹 어플리케이션이나 모바일 해상도 전용 웹 어플리케이션을 말합니다.

 

D.AI(머신러닝,딥러닝) 개발

-TensorFlow.js

텐서플로우는 인공지능 딥러닝 오픈소스 프레임워크로 구글이 현재 주도하고 있으며 주로 각종 머신러닝,딥러닝용 알고리즘을 제공하고 손쉽게 딥러닝 프로젝트를 지원할 수 있는 개발환경을 제공하며  이미지인식,자연어처리 분야에서 많이 활용되고 있습니다. 텐서플로우의 자바스크립트 라이브러리인 TensorFlow.js 를 활용하면 자바스크립트로 머신러닝모델을 손쉽게 개발하고 Node.js에서 바로 개발된 머신러닝모델을 활용할수 있습니다.

E.Data Visualization 
-d3.js
-rechart.js
빅데이터 시대 대용량 데이터의 시각화가 더욱 중요해지고 있습니다.
빅데이터 속에 숨어있는 일련의 데이터 흐름이나 특정 패턴을 가시적으로 표현하고 쉽고 빠르게  반복/이상 패턴을 찾아볼수 있게 도와주는 데이터 비쥬얼라이제이션 영역에서도 각종 자바스크립트 라이브러리들이 사용됩니다. 


F. IoT(사물인터넷) 제어

-Johnny-Five
-Node-RED
-IoT.js
-CYLON.js
각종 사물에 다양한 센서를 붙여 사물의 상태정보를 파악하고 제어하는 수단으로 위와 같은 IoT 자바스크립트 라이브러리들이 사용됩니다.


Image

댓글목록

Image