자바스크립트의 활용

박은정·2021년 7월 15일
0
post-thumbnail

자바스크립트의 정식명칭은 ECMAScript

기존에는 최소 두 가지의 프로그래밍 언어를 알고 있어야 개발이 가능햇지만

  • 웹 클라이언트 애플리케이션 : 자바스크립트
  • 웹 서버 애플리케이션 : C#, 자바, 루비, 파이썬 등의 프로그래밍 언어

Node.js가 생기면서 자바스크립트 하나만으로도 웹 서버 애플리케이션도 개발 가능해졌다

Node.js 장단점

  1. Node.js는 웹 서버 애플리케이션을 개발할 때 꼭 필요한 간단한 모듈만 제공한다

→ 그래서 다른 스크립트 언어 & 프레임워크 루비&루비 온 레일즈, 파이썬&장고 사용할 때보다는
데이터 처리예외 처리 등이 조금 복잡하다

  1. 속도가 빠르다
    다른 스크립트 언어와 프레임워크로 개발한 서버 애플리케이션이 10대의 컴퓨터가 있어야 접속자를 감당했지만
    Node.js로 개발한 서버 애플리케이션은 1대로도 충분하다
    = 서버 구매비용 및 유지비용이 1/10으로 줄어든다

모바일 애플리케이션 개발

각각의 스마트폰에서 인식해서 실행가능한 프로그래밍 언어가 다르다

  • 안드로이드폰 → 자바/코틀린
  • 아이폰 → 스위프트

자바스크립트

  • 모든 스마트폰 내부에서 기본적으로 인식할 수 있는 공통된 프로그래밍 언어
  • 자바스크립트를 이용해서 하나의 애플리케이션만 만들어도 모든 스마트폰에서 작동할 수 있다.

페이스북에서 자바스크립트로 네이티브 애플리케이션 을 개발할 수 있는 리엑트 네이티브 제작함

활용 : 페이스북, 인스타그램, 핀터레스트, 우버 애플리케이션

네이티브 애플리케이션

  1. 자바와 스위프트 등 스마트폰에 최적화된 프로그래밍 언어로 만든 애플리케이션
  2. 우리가 흔히 사용하는 애플리케이션이다
  3. 초기에는 스마트폰이 가진 성능과 고유의 기능을 모두 활용하기 위해 만들어졌다

모바일 웹 앱은 성능도 좋지 않고 스마트폰이 가진 기능을 제대로 활용하지 못해 보완하기 위해 하이브리드 형태의 애플리케이션 제작함

하이브리드 형태의 애플리케이션

  1. 스마트폰의 기능 + 웹 페이지 연결 가능한 층 설치
  2. 웹사이트가 스마트폰의 기능을 활용가능
  3. 네이티브 애플리케이션 + 웹 형태
  4. 모바일 사이트에서도 똑같이 보이면서 스마트폰 고유의 모습도 가지고 있다
  5. 속도가 느려서 개발을 안하게 됨
  6. 쿠팡, 위메프같은 쇼핑 애플리케이션로 활용

웹 앱

  • 네이티브 앱처럼 만들어주는 엔진 / 프레임워크 등장
  • 리액트 네이티브 : 하나의 프로그램을 만들어서 여러 프로그램으로 만들어준다
  • 예: 페이스북, 인스타그램, 핀터레스트, 디스코드, 스카이프

네이티브와 하이브리드

카카오톡에서 대부분은 네이티브 방식으로 개발
샵(#) 탭은 웹에서 개발된 것으로 보여주므로 하이브리드 방식으로 개발됨
네이티브방식 : 오브젝티브-C, 스위프트, 자바, 코클린을 활용한다

Desktop 애플리케이션 개발

너드웹킷 제이에스NW.js 모듈 등으로 데스크톱 애플리케이션 개발에 자바스크립트를 활용하다가
깃허브에서 NW.js 개발자를로 하여금 개발 전용 에디터인 아톰을 만들었다.

아톰을 만들 때 활용한 아톰 셀을 일렉트론 이라는 이름을 공개하면서 다른 개발자들도 자바스크립트로 데스크톱 애플리케이션을 개발할 수 있게 되었다.

일렉트론으로 개발된 애플리케이션

  • 마이크로소프트의 비주얼 스튜디오 코드
  • 디스코드
  • 클라이언트
  • 깃허브 데스크톱 클라이언트
  • 워드프레스 데스크톱 클라이언트
  • 몽고디비
  • 데이터 관리 도구 컴파스

데이터베이스 관리

데이터베이스

데이터를 저장할 때 사용하는 프로그램
애플리케이션은 대부분 데이터를 저장할 때 활용한다
SQL 이라는 프로그래밍 언어를 사용해 관리한다

관계형 데이터베이스 관리 시스템 RDBMS

SQL 프로그래밍 언어 사용
예: Oracle, MySQL

Not-Only-SQL NoSQL

2010년 이후 페이스북, 트위터 등으로 인해 폭발적으로 증가한 빅데이터를 처리하기 위한 기술

MongoDB : 데이터 베이스를 관리할 때 자바스크립트를 활용하는 대표적인 NoSQL 데이터베이스

profile
새로운 것을 도전하고 노력한다

0개의 댓글