티스토리 뷰

지식

💡 Framework & Library & API?

baegofda_ 2021. 7. 5. 23:47

제어 흐름에 대한 주도성이 누구에게 있는가 !?

    - 프레임워크는 전체적인 흐름을 스스로가 쥐고있으며 사용자는 그안에 필요한 코드를 짜 넣는다.

반면에 라이브러리는 사용자가 전체적인 흐름을 만들며 라이브러리를 가져다 쓴다. 즉, 호출하는 쪽에 주도권이 있다.

🏘️ Framework

    - 응용프로그램이나 소프트웨어 솔루션 개발을 수월하게 하기위해 제공된 소프트웨어 환경

    - 정해져있는 규칙이 있으며 규칙을 지키며 사용해야한다.

    - 응용 프로그램이 수동적으로 프레임워크에 의해 사용된다

    - Vue, Spring, Django, Ruby on Rails  ... 등등

*

프레임 워크는 정해져있는 틀안에 들어가서 들어갈 코드들을 작성해서 완성한다.

나는 이미 지어진 집(프레임워크)에 입주를하고 그안에서 원하는 오브제와 가구들(개발자의 소스코드)을 꾸미며 산다.

월세로 생활함으로써 집주인의 허락없이(정해져있는 규칙) 못질을 하는등은 용납이 되지않는다.

🔨 Library

    - 응용 프로그램 개발을 위해 필요한 기능을 모아놓은 소프트웨어

    - 독립성을 가진다.

    - 응용 프로그램이 능동적으로 라이브러리를 사용한다.

    - React, jQuery  ... 등등

*

라이브러리는 우리가 Application을 만들때 사용하는 도구들의 모음이라 할 수 있다.

이름그대로 도서관에 책들이 쌓여있는 기분이랄까..

가구를 배치하고있는 중이라고 생각해보자.

선반이나 테이블을 살 수도있지만 직접 제작을 할 수도있다.

예전 기억을 되살려서 2D CAD와 3D Modeling 프로그램 (라이브러리) 을 이용해서 설계를 하고

망치, 톱, CNC (라이브러리) 등등의 도구(라이브러리)들을 이용해서 책상(Application) 만들기를 시작하였다.

----------------------------------------------

React 경우엔 라이브러리이자 프레임워크라고 말할 수 있다.

Vue 같은 경우엔 http clients, state management에 관한 부분이 없기때문에 중간의 느낌

(Angular : 구글 제작, Vue : Augular를 사용하던 개발자에 의해 제작되었다.)

📋 API (Application Programming Interface)

    - 운영체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스

    - 구현과 독립적으로 사양만 정의되어 있다.

    - API 에따라 접근권한이 필요하다.

    - 네이버 지도API, 다음 주소검색 API, 구글 지도API  ... 등등

API는 직접 모든것을 구현하기엔 힘들기때문에 요구되는 코드를 작성하여 외부의 데이터등을 사용 하는것이다.

마치 우리가 주문내역을 작성하면 그 오더를 통해서 우리의 원하는 결과물을 제공해주는것이다.

책상(Application)을 직접 만들기로 했었지만 

생각보다 시간과 비용이 많이들기때문에 결국엔 원하는 대로 주문제작을 하기로하였다.

내가 원하는 가로, 세로, 높이등의 정보를 주문서(API)에 작성을 하고 업체에 부탁하였다.

업체는 내가 제공한 정보(API)를 통하여 가공등의 작업을 거쳐 책상(Application)을 보내주었다.

이로써 궁극적인 집 꾸미기(Project)를 위해 집(Framework)에서 인테리어작업(Programming)을 진행하며

필요한가구(Application)를 위하여 주문서(API)를 작성한것이다. 

이렇게 나는 가구(Application)들을 집안에 배치만 함으로써 나의 집꾸미기(Project)를 완성 할 것이다.

🎈 Interface

    - 하나의 시스템을 구성하는 2개의 구성요소가 상호 작용하기 위해선 경계가 필요

    - Interface는 이 경계에서 각 구성요소가 상호 접속하기위한 하드웨어, 소프트웨어, 조건, 규약 등을

포괄적으로 가리키는 말이다.

기본적인 Interface는 단순히 생각하면 우리가 컴퓨터를 하기위함 즉, 컴퓨터와 상호작용을 위해 사용하는 도구인 

키보드와, 마우스 등이 Interface라고 할 수있고 TV를 보기위한 리모콘 또한 Interface라 볼 수 있다.

웹에서는 이부분이 사이트를 이용하기위한 Button등이 해당 될 수 있는것이다.

위의 API는 우리가 직접 구현하기엔 시간과 비용적으로 부담이 되는 서비스를 코드를 통하여 가져다 쓰는것을 말하며

해당 서비스(Application)와 상호작용하며 사용하기위해 코드(Programming Interface)를 작성하는 것이다.

참고 : [10분 테코톡] 🙆‍♀️티버의 API vs Library vs Framework

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함