728x90

자주 쓰이지만 아무도 설명해주지 않는 코딩 용어

라이브러리프레임워크

 

프로그래밍(코딩) 언어는 무수히 많습니다. HTML, CSS, JavaScript, Query, Python, Java, React, Angular, C, C++, C# 등 들어본 언어는 무수히 많고, 많은 프로그래머들은 모든 언어를 다뤄봤다는 듯이 얘기들을 많이 합니다.

 

저는 매번 단어의 뜻은 알지만 아무도 개념을 알려주지 않아 코딩을 시작하기 까지 오래 걸렸습니다. 제대로 시작하기 말입니다. 예를 들어 Pyhton 을 배우면 갑자기 Pandas 를 설치해서 쓰라고 하고 NumPy 를 쓰라고 하는 등 Python 을 배우는데 뭐 이렇게 계속 깔라고하는지, Javascript 를 배우면 vanilla javascript 가 나오가, react 가 react.js 라면서 javascript 라고 하는 등 쓰면서도 복잡한 이런 예시들이 많아 하는둥 마는둥 했었습니다 벌써 3년 전이네요.

 

그래서 개념 정리가 필요한 듯 합니다. 라이브러리가 무엇인지 프레임워크가 무엇인지, 둘의 차이만 알아도 다양한 어찌보면 왜 이름이 이딴식이지 하는 언어(라이브러리,프레임워크) 이름들이 나와도 그런가보다 할 수 있습니다.

 

라이브러리

numpy
https://en.wikipedia.org/wiki/NumPy#/media/File:NumPy_logo_2020.svg

라이브러리는 사용하는 언어의 기능들(function, variable, classes, data structures)을 미리 정리 해 논 도서관 내의 특징 별로 정리 된 책과 같습니다. 누군가 미리 정리를 해 놓았기 필요에 따라 쓰고, 마음에 들지 않으면 다른 라이브러리를 불러와 대체할 수 있습니다. Python 라이브러리 예시는 NumPy, Matplotlib, Pandas 등이 있습니다.

 

프레임워크

앵귤러
https://en.wikipedia.org/wiki/Angular_(web_framework)#/media/File:Angular_full_color_logo.svg

프레임워크는 정해진 규칙이 기본 틀을 제공합니다. 주어진 기본 틀 위에 소프트웨어, 앱, 웹사이트 등을 만들어 가는 것이죠. 사용자가 '라이브러리'를 불러오는 반면 프레임워크는 주어진 공간에 사용자가 불려 들어가는 느낌입니다. Python 을 하다 보면 등장하는 Django 가 프레임워크의 예시라고 할 수 있습니다.

 

 

* React (리액트)

리액트
https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/React-icon.svg/539px-React-icon.svg.png

요즘 대세 프레임워크로 뜨고 있는 페이스북에서 만든 React 는 reactjs.org 에 들어가 보시면 라이브러리로 설명하긴 합니다. 하지만 React 로 라이브러리를 불러와 앱을 만들고 웹페이지를 만들 수 있어 라이브러리와 프레임워크 둘 중 하나로 정의하기가 애매합니다.

구글에서 만든 Angular가 대표적인 프레임워크입니다.

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기