본문 바로가기
HTML

자바스크립트의 특징 장단점

2021. 1. 19. 15:40

자바스크립트의 특징 장단점

자바스크립트의 정의, 개요 및 특장점들을 비교해보았습니다. 그리고 자바스크립트와 자바, 자바 애플릿 등 차이를 확인해볼 수 있습니다. 

 

 

 

요즘 세상은 인터넷 없이 생활하기 매우 어려워졌습니다. 사이트 또는 블로그, 웹페이지 등 다양한 곳에서 정보를 제공해 주고받게 되는 부분이 굉장히 많아지고 있습니다. 웹 프로그래밍도 지속적으로 발전되어 왔고 여러 가지 다양한 언어를 통해서도 수행될 수 있게 되었습니다. 그중에서도 자바스크립트가 있습니다. 

자바스크립트의 정의

자바스크립트는 javascript인데 이전에는 livescript 라이브 스크립트로 불렸던 적이 있습니다. 그런데 당시 자바가 높은 인기를 끌게 되자 선마이크로시스템즈와 같이 문법을 확장시켜서 만들게 되었다고 합니다. 자바스크립트를 이렇게 정의하였습니다.

JavaScript is cross-platform, object-based scripting language for client and server applications.

여기서 cross-platform은 플랫폼에 영향을 받지 않는다고 되어있고, object-based 객체 기반형 객체 기반형 언어이다. 그리고 scripting language 스크립트 언어라고 정의하고 있습니다. 정리해보면 자바스크립트는 서버와 클라이언트 응용프로그램을 위해서 만들어진, 플랫폼에 영향을 받지 않는 객체 기반형 스크립트 언어이다. 자바스크립트로 작성된 프로그램은 다양한 컴퓨터에서 실행될 수 있다. 다양한 컴퓨터가 연결되어 있는 네트워크, 다른 운영체제 속에서도 실행이 가능하다. 객체지향은 상속과 다형성이 지원되는데, 객체 기반은 이 두 가지가 지원되지 않습니다. 객체를 통해 새로운 객체를 생성할 수가 없다는 것입니다. 또한 한 줄씩 읽어서 코딩이 진행되는 스크립트 언어로 컴파일의 필요가 없습니다. 이렇게 작성되면 스크립트라고 표현합니다. 

 

대부분의 웹브라우저에서 자바스크립트가 지원되고 있습니다. 마이크로소프트에 합병이 되면서 점점 더 많은 버전들이 나왔던 것 같습니다. 

 

 

 

자바스크립트 특징 

자바스크립트는 사용하기 간편하고 쉬운 스크립트 언어에 속하는 편입니다. 실제로 변수형을 선언하지 않아도 되는 간편함이 있고, 컴파일의 과정이 없기 때문에 어떻게 보면 장점이 되기도 합니다. 소스코드 자체가 웹 브라우저에서 줄 단위로 한 줄 한 줄씩 처리가 시작됩니다. 코드를 HTML 문서에 내장되기도 하고 분리하는 경우도 있습니다. 그리고 클래스를 지원하지 않아서 객체 지향 언어가 아니지만, 내장 객체를 지원하는 객체 기반형 언어입니다. 그리고 이벤트 핸들링 기능을 제공하고 있어서 사용자에게 있어 다양한 반응을 유도할 수 있는 동적인 부분을 구현할 수 있게 됩니다. HTML을 보완할 수 있는 장점이 있습니다. 그렇게 주로 클라이언트에서 처리되는 경우가 많기 때문에 서버로 이어지는 부담을 덜어줄 수 있게 됩니다. 다이내믹 바인딩 기능도 가능하기 때문에 특정 객채가 프로그램 수행 시점에 불리는 의미로, 거의 3세대 프로그래밍 언어에서 컴파일할 때 모든 관련 프로그램을 연결하는 것과 다르게 작동합니다. 

 

활용할 수 있는 부분이 꽤 많은데 그중에서 java와 액티브 엑스 activex 등 웹브라우저 플러그인 프로그램과 연동이 활용됩니다. 옵션을 조절해줄 수도 있고, 경고, 확인 메시지 등 윈도와 프레임 생성 및 제어도 가능합니다. 또한 쿠키를 이용해서 페이지끼리 서로 정보를 이동시킬 수 있습니다. HTML FORM 양식 값을 검사할 때 또는 가공할 경우에 CGI와 연동도 가능해집니다. 

 

자바와 자바스크립트 차이

처음 접하게 되면 자바와 자바스크립트는 같은 것인지 다른 것인지 헷갈려하시는 분들도 계셨을 것 같습니다. 그런데 둘 다 C언어라는 기본 언어에 바탕을 두고 있는 프로그래밍 언어로 문법구조도 비슷한 편에 속합니다. 하지만 자바스크립트가 객체 기반형 언어인 반면, 자바는 객체지향형 언어입니다. 분산 시스템 환경에서 효과적인 프로그래밍이 가능한 자바는 C언어, C++, visual basic 등처럼 운영체제와 하드웨어 플랫폼에 종속되지 않고 응용프로그램을 제작할 수 있어 편리함이 많습니다. 

 

그리고 자바의 종류에는 자바 애플릿도 있습니다. 자바로 작성된 실행 클래스 중의 하나입니다. 동적인 웹페이지, 대화방식의 이용자들에게 제공할 수 있는 방식이 있지만 시간이 일부 제한되는 것이 있습니다. java와 비슷하게 하드웨어 및 운영체제에 종속되지 않고 GUI 애플리케이션이 할 수 있는 기능을 동일하게 이용할 수 있습니다. HTML 문서에 내포되어 웹 서버를 통하여 클래스 파일이 다운로드되어 실행됩니다. 이미지를 사용할 경우 시간에 제약이 발생할 수 있는데, 그 외의 경우 큰 시간차는 발생하지 않습니다. 변수형은 반드시 선언해주게 되어있죠. 

 

웹 서버와 브라우저의 문서 전달

HTML자체로도 웹 문서의 기본적인 틀을 제작해서 이용할 수는 있습니다. 다만 기본적으로 정의되어 있는 하이퍼텍스트 기능과 이미지 조작 외에 다른 기능들, 이용자들이 함께 서로 주고받을 수 있는 부분이 제한되는 경우가 많습니다. 웹 서버 및 웹 브라우저가 서로 문서를 주고받는 방식은 클라이언트가 웹서버에 요청을 하게 됩니다. 이후 웹서버에서 웹브라우저에게 파일을 송신하게 되고, 그림을 요청합니다. 그렇게 전송된 HTML 문서와 그래픽 파일을 통해 화면이 구성됩니다. 

 

문서를 요청을 하려면, 먼저 IP주소를 확인하게 됩니다. 접속하고자 하는 IP 주소를 찾아내거나 또는 URL에 지정되어 있는 IP주소를 통해 접속을 시도하게 됩니다. URL에 지정되어 있는 접속방법에 따라서 사용자 서버에 연결을 합니다. 만약 프로토콜 또는 웹 문서의 경우에는 HTTP를 이용할 수 있습니다. HTTP 프로토콜을 통해 웹브라우저가 서버에게 URL에 지정되어 있는 장소의 문서를 요청하게 되는 과정입니다. 

 

그 이후 파일 송신의 과정이 있습니다. 서버의 프로그램에서는 URL에 자료가 존재하는지 확인 과정을 거치고, 디렉터리 폴더를 기준으로 확인합니다. 서버에서는 해당하는 파일에서 MINE type를 확인하게 되고, 이 파일들을 웹브라우저로 보내게 됩니다. 웹브라우저는 파일들을 받고 나서 이에 해당하는 파일 드을 외부로 표현하는 책임이 어디에 있는지 체크하게 됩니다. 

 

이후 그림을 요청하게 됩니다. 수신한 문서를 바탕으로 HTML에 맞게 보여주고, 그림이 포함되어 있을 경우 한번 더 서버에게 그림에 대한 문서를 요청하게 됩니다. 요청하여 파일 송신까지의 과정이 반복되도록 되어있습니다. 일반적으로 브라우저에서 표현이 가능한 파일들은 브라우저가 보여줄 수 있지만, 간혹 동영상 등의 부분이 필요한 경우 외부 프로그램을 통해 보여줄 수 있도록 하고 있습니다. 그렇게 각각 문서로 수집하고 전체적인 하나의 문서로 결합해서 화면에 보여주도록 합니다. 

 

보통은 이렇게 정적인 형태의 웹페이지로 구성이 될 수 있게 됩니다. 접속 시간과 조건 등 다양한 부분을 고려하지 않고 일정한 내용이 보이기 때문에 동적인 부분을 원하게 됩니다. 여러 상황과 조건에 따라 다른 부분을 보여주기 위해서는 웹 페이지 또한 다양하게 만들어야 하고 내용도 변화해주면서 보여주어야 합니다. 대화 방식을 유도하는 인터페이스, 사용자의 이용조건과 시간 등을 바탕으로 다른 내용을 제공하는 페이지를 웹 프로그래밍을 통해 만들 수 있습니다. 굉장히 다양한 언어들을 통해서 구현이 가능한데, 적용을 하고자 하는 대상에 따라 서버 측, 클라이언트 측 웹 프로그래밍 등으로 분류될 수 있습니다. server side, client side 웹 프로그래밍으로 분류되는데 작성되는 프로그램의 해석 및 처리가 서버 쪽에서 진행되는지, 클라이언트 쪽에서 처리되는지 등으로 나뉜 것입니다. 

 

서버 측 웹 프로그래밍의 경우 일반적인 게시판 등이 해당될 수 있습니다. 인터넷 환경에서 주로 이용되는 언어들을 사용하는 php, asp, jsp, pearl 등이 있고, c, java, visual basic, c++ 등 도 사용할 수 있습니다. 반면 클라이언트 측 웹 프로그래밍은 javascript, vbscript 등이 이용되고 있습니다. 

 

클라이언트 서버 방식

여러 개의 컴퓨터를 네트워크로 연결시켰을 때 구성할 수 있는 네트워크들이 나뉩니다. 중앙 집중형, 그리고 분산형입니다. 중앙 집중식이란 중앙에 있는 대형 컴퓨터에 네트워크 작업을 집중시켜서 하나로 관리하는 것을 말합니다. 반면 분산형은 각 컴퓨터가 클라이언트와 서버로 역할을 분담시키게 됩니다. 클라이언트 서버 방식의 네트워크는 대부분의 인터넷 서비스들이 이용하고 있는 구조입니다. 이 네트워크에서 클라이언트 서버로 요구를 처리하게끔 하게 되면, 서버에서 요구를 처리하고, 결과를 클라이언트로 돌려보내 주는 형태를 띠고 있습니다. 

이상 자바스크립트와 자바 등 장단점 특징 등을 살펴보았습니다. 

 

 

 

자바스크립트의 함수와 객체

 

자바스크립트의 함수와 객체

자바스크립트에서 사용하는 내장 함수, 정의 함수, 변수와 객체에 대한 정보입니다. 다른 프로그래밍 언어들과 함수가 비슷하고, 객체 기반의 언어이기 때문에 객체에 대한 정의가 필요합니다.

ttoki.tistory.com

자바스크립트 제어문 반복문

 

자바스크립트 제어문 반복문

자바스크립트에서 사용하는 제어문 if else, switch, break, continue, for in, return, new, this, with 그리고 반복문 do while, for 등의 정보를 제공합니다. 일반적으로 프로그래밍 언어를 배우다 보면 보이는..

ttoki.tistory.com

자바스크립트 데이터형 연산자

 

자바스크립트 데이터형 연산자

자바스크립트 데이터형 연산자 자바스크립트에서 상수, 변수, 특수문자 등 문자열의 데이터를 어떻게 처리하는지와 각 데이터를 통해 처리되는 연산, 등 연산자에 대한 정보입니다. 보통 데이

ttoki.tistory.com

'HTML' 카테고리의 다른 글

CSS 스타일시트 배경 글꼴 정렬방법  (0) 2021.01.20
CSS 스타일시트 기초  (0) 2021.01.20
HTML 태그 FORM, INPUT, SELECT, TEXTAREA  (0) 2021.01.19
HTML 이미지 alt 값 입력방법  (0) 2021.01.18
HTML 태그 기본구조  (0) 2021.01.18

댓글