본문 바로가기

IT/JavaScript

프로그래밍 언어 자바스크립트를 추천하는 이유

728x90
반응형
728x170
SMALL

오늘은 개발자로서 제가 가장 오래 사용하였고

자주 사용하는 언어인 자바스크립트로 할 수 있는 것들을 간단하게 소개하고

프로그래밍 입문 언어로써 제가 해당 언어를 가장 추천하는 이유를 짧게 설명하고자 합니다.

 

우선 초보 개발자 입문 언어로 자바스크립트를 추천하는 이유는 아래와 같습니다.

 

 

1. 프로그래밍 언어 중 입문 난이도가 가장 낮은 편입니다.

- C , C++, JAVA 등 전통적이고 오래된 언어보다 굉장히 입문이 쉽고 사용하기 편합니다.

- 유명한 프로그래밍 언어 비교 밈 중 하나인 hello world 비교 밈만 보더라도

동일한 작업을 하려고 해도 언어마다 Line 수나 해야 되는 작업이 차이 있다는 걸 알 수 있습니다.

자바스크립트는 메이저 프로그래밍 언어 중에는 파이썬과 함께 가장 짧고 간결하게 사용이 가능한 언어 중 하나입니다.

 

2. 개발에 필요한 준비물이 가볍습니다.

- 가장 처음에 개발환경을 구축하는 것이 쉽습니다.
- 거의 대부분의 컴퓨터의 설치되어있는 인터넷 브라우저 1개만 있어도 우선 당장 기본적인 개발 및 활용이 가능합니다.

- 기본적인 개발에 필요한 머신(컴퓨터, 노트북)의 성능이 다른 언어 대비 고사양이 필요하지 않습니다.

- 컴파일 등 컴퓨팅 성능이 필요한 과정이 없기 때문에 쉽고 빠르게 수정하고 수정된 내용을 확인할 수 있습니다.

 

 

3. 자바스크립트로는 할 수 있는 일이 많습니다. ( 활용성이 큽니다. )

- 자바스크립트를 추천하는 가장 큰 이유입니다.

하나의 언어를 배워서 정말 여러 곳에 사용할 수 있습니다.
자바스크립트로 못하는 걸 찾는 게 더 빠를 정도로

이제 거의 모든 플랫폼, 모든 곳에서 자바스크립트로 개발이 가능합니다. 

 

아래는 자바스크립트로 가능한 가장 대표적인 작업들입니다.

 

 

 

[ 자바스크립트로 할 수 있는 일 ]

 

1. Web Page 제작 ( 웹 페이지 만들기 )

HTML+CSS+JS Web Page를 만드는 가장 근본이 되는 Stack 입니다.

JS 없이는 웹사이트는 동적인 행위를 할 수가 없습니다.

javaScript만 잘 배워도 웹 사이트에서 동작하는 무엇이던 만들 수 있습니다.

JS가 웹 페이지에서 동작하는 대표적인 행위는 아래와 같습니다.

 

 

JavaScript Tutorial

JavaScript Tutorial JavaScript is the world's most popular programming language. JavaScript is the programming language of the Web. JavaScript is easy to learn. This tutorial will teach you JavaScript from basic to advanced. Start learning JavaScript now

www.w3schools.com

 

2. 웹 서버 만들기 ( Web Server : Node.js / Deno )

예전에는 웹페이지의 사용자의 눈에 보이는 부분인 프론트엔드(Front-End) 부분에서만 자바스크립트가 사용되었지만 2009년 처음 Node.js 가 선보이기 시작 한때부터 아주 빠르게 성장하여

이제는 JS로 Web 백엔드(Back-End) 부분의 서버 역할도 Node.js(노드js) / Deno(디노) 등을 활용하여 가능합니다.

이를 통하여 개발자는 JavaScript만을 가지고

서버의 프론트엔드,백엔드를 모두 커버 가능한 개발환경 세팅이 가능해졌습니다.

 

 

Node.js - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

 

Deno - 나무위키

Node.js에 내장된 여러 비동기 로직은, 모던 자바스크립트에서 지원하는 비동기 API인 Promise를 사용하지 않고 옛날 방식인 콜백 패턴으로 작동한다. 이로 인해 Node.js로 작성된 어플리케이션의 코드

namu.wiki

 

3. 모바일 어플리케이션 제작 ( React Native , Cordova(PhoneGap), Ionic )

자바스크립트를 언어로 사용하여 Android/iOS 에서 사용 가능한 모바일 전용 어플리케이션 제작이 가능합니다.

이는 APK 파일 등으로 공유도 가능하고 구글이나 애플의 공식 앱 스토어 등에 업로드도 가능하며

흔히들 핸드폰에서 사용하는 "" 그 자체입니다

 

기본적으로 JS 로 Code 를 작성하면

자체적인 컴파일러가 이를 자동적으로 Android iOS에 맞추어서 변환해주는 형식으로 진행됩니다.

 

예전에는 성능적 이슈 등이 커서 프로토타입 정도에서만 활용되었지만

요즘은 사용자들의 디바이스 성능 평균도 매우 좋아졌으며,

해당 모바일 어플리케이션 제작 도구들도 최적화 및 발전이 많이 이루어져서

네이티브 앱과 비교하여도 크게 사용상 문제가 없는 수준입니다.

 

 

React Native

A framework for building native apps using React

reactnative.dev

 

Ionic - Cross-Platform Mobile App Development

Ionic is the app development platform for web developers. Build amazing cross platform mobile, web, and desktop apps all with one shared code base and open web standards

ionicframework.com

 

4. 웹 어플리케이션 제작 ( 크롬 확장 플러그인 등 )

웹 환경에서 동작하는 별도의 어플리케이션 제작이 가능합니다.

간단한 메모장, To-Do List, 번역기 등부터 시작하여

실시간 채팅, 실시간 멀티 사용자 게임 등

웹 환경에서 동작하는 그 무엇이던 별도의 확장 프로그램으로 제작이 가능합니다.

 

가장 많이들 사용하는 웹 어플리케이션은 아래와 같습니다.

 

 

Chrome 웹 스토어

Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요.

chrome.google.com

 

크롬 웹 스토어 등에서 다른 개발자들이 만든 웹 어플리케이션을 다운로드할 수도 있고

본인이 제작한 웹 어플리케이션을 다른 사용자들이 사용할 수 있도록 배포 또한 할 수 있습니다.

 

 

5. 데스크탑 어플리케이션 제작 ( 일렉트론(Electron) 을 활용 )

일렉트론을 사용하여 자바스크립트로 이제 윈도우 등 OS 환경에서 동작하는 일반 데스크탑 앱도 제작이 가능합니다.

 

이미 디스코드, 비쥬얼 스튜디오 코드, 슬랙, 라이트 테이블, 깃허브 등 많은 윈도우 앱들이 일렉트론을 이용하여 만들어지고 있습니다.

 

 

일렉트론 (소프트웨어 프레임워크) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 일렉트론(Electron, 과거 명칭: 아톰 셸/Atom Shell[4])은 청자오(Cheng Zhao)가 개발한 오픈 소스 프레임워크의 하나로, 지금은 깃허브에 의해 개발되고 있다.[5] 원래 웹

ko.wikipedia.org

 

6. 게임 제작

GameMaker, playcanvas, godotengine, Pixi.js , Babylon.js , Phaser.js 등 사용하기 좋게 정리된 라이브러리들을 활용하여 간단한 로컬 게임부터 시작하여 다중 사용자가 동시에 즐길 수 있는 온라인 게임도 이제 자바스크립트로 만들 수 있습니다.

 

유튜브 등에서도 많이 보이는 일명 지렁이 게임 등도 Phaser 등을 통하여 자바스크립트로 만들어진 게임입니다.

 

구글 메인 배너 클릭 시 나오는 게임들도 모두 자바스크립트를 활용하여 만든 게임입니다.

 

 

Slither.io - Play Slither in Fullscreen!

Slither.io is a popular .io snake game. You must grow your snake by consuming multi-colored orbs in a giant multiplayer arena. Avoid other snakes to avoid becoming snake food, or take other players down by forcing them to crash into your side.

www.crazygames.com

 

2018 할로윈

할로윈 2018 #GoogleDoodle

www.google.com

 

PixiJS

PixiJS - The HTML5 Creation Engine. Create beautiful digital content with the fastest, most flexible 2D WebGL renderer.

www.pixijs.com

 

Babylon.js: Powerful, Beautiful, Simple, Open - Web-Based 3D At Its Best

Babylon.js is one of the world's leading WebGL-based graphics engines. From a new visual scene inspector, best-in-class physically-based rendering, countless performance optimizations, and much more, Babylon.js brings powerful, beautiful, simple, and open

www.babylonjs.com

 

Make 2D Games with GameMaker | YoYo Games

YoYo Games is the home of GameMaker. The easy to use powerful game engine that is the best for 2D games. Making games is for everyone.

www.yoyogames.com

 

Free and open source 2D and 3D game engine

Godot provides a huge set of common tools, so you can just focus on making your game without reinventing the wheel.

godotengine.org

 

심플5 - 심심할 땐 플레이 SIMPLE5

설치 없이 바로 즐길 수 있는 HTML5게임 - SIMPLE5

h5.123games.co.kr

 

 

7. 시각화 자료 생성

자바스크립트를 활용하여 동적으로 시각화나 이미지 가공, 콘텐츠 제작 등을 할 수 있습니다.

실제 포토샵보다는 기능이나 최적화가 덜 되어있지만 무료로 설치 없이 웹 포토샵 등도 사용할 수 있으며 온갖 차트나 Grid 등도 엑셀처럼 바로바로 생성하며 보여줄 수 있습니다.

 

 

Paper.js

 

paperjs.org

 

D3.js - Data-Driven Documents

D3 is a JavaScript library for visualizing data with HTML, SVG, and CSS.

d3js.org

 

8. 머신러닝 ( 딥러닝, 인공지능 )

TensorFlow.js 를 활용하여 자바스크립트만 가지고도 이제 머신러닝이 가능합니다.

한마디로 자바스크립트만 하실 줄 알면 이제 위에 모든 기능과 더하여 인공지능을 추가할 수 있습니다.

 

 

TensorFlow.js | 자바스크립트 개발자를 위한 머신러닝

브라우저, Node.js 또는 Google Cloud Platform에서 모델을 학습시키고 배포합니다. TensorFlow.js는 자바스크립트 및 웹 개발을 위한 오픈소스 ML 플랫폼입니다.

www.tensorflow.org

 

 

위에 기술한 자바스크립트로 당장 활용이 가능한 8가지 예시뿐만 아니라

거의 대부분의 컴퓨터 언어가 필요한 분야에서

자바스크립트는 그 활용도와 점유율을 점차 높여 나가고 있습니다.

 

따라서 가장 쉽고 빠르고 활용도가 높은 프로그래밍 언어이기 때문에

 

프로그래밍 입문 언어로써 항상 자바스크립트를 추천드립니다.

 

728x90
반응형
그리드형
LIST