Front End Basics

이은서·2022년 8월 4일
0

TellMe

목록 보기
5/10
post-custom-banner

Frameworks? Library?


🤔What is a Framework?

"프레임워크란, 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것."
- Ralph Johnson

웹사이트를 구축할 때, 비슷한 유형의 요소들이 항상 필요합니다. 회원가입, 로그인, 로그아웃과 같이 사용자 인증을 다루는 방법이나 웹사이트의 관리자 패널, 폼, 파일 업로드와 같은 것들 말이지요.

그런데 정말 다행이게도, 오래전에 어떤 웹 개발자들이 새로운 웹 사이트를 개발할 때 서로 비슷한 문제들에 직면한다는 것을 깨달았습니다. 그래서 팀을 조직했고요. 바로 사용할 수 있는 구성요소들을 갖춘 여러 프레임워크를 만들었답니다. 다시 발명해야 하는 문제로부터 해방감을 주고요. 새로운 웹사이트를 개발할 때 뒤따르는 간접비용의 부담을 덜어준답니다.
https://tutorial.djangogirls.org/ko/django/


대표사례

  • Django: 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크(web application framework)

🤔What is a Library?

자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합.


Framework VS Library

Framework는 자동차의 프레임, 즉 기본적으로 구성하고 있는 뼈대를 말합니다.

Library는 자동차의 기능을 하는 부품을 의미합니다.
예를 들어, 자동차를 굴러갈 수 있게 하는 바퀴, 어두운 밤을 환하게 비출 수 있는 헤드라이트, 비 올 때 창문을 닦아주는 와이퍼 등이 라이브러리라고 할 수 있습니다.

사실 자동차를 만들기 위해서 자동차의 프레임과 부품들을 가져다 쓰지 않아도 됩니다.
프레임을 일일이 만들고, 부품을 일일이 만들어서 자동차를 만들어도 됩니다.
그러나 너무 많은 시간과 비용이 들지 않겠습니까?
그래서 프레임워크와 라이브러리가 존재하는 겁니다.
내가 정말로 원하는 기능을 구현하기 위해 기본적인 뼈대와 부품을 가져다 쓰겠다는 겁니다.
자동차에 하늘을 나는 기능을 온전히 구현하기 위해 자동차의 프레임과 부품을 outsourcing 하겠다는 거죠.

post-custom-banner

0개의 댓글