라이브러리
사전적 의미
: 특정 작업을 수행하기 위한 함수나 도구의 모음. 개발자는 필요에 따라 라이브러리의 특정 기능을 호출하여 사용하며, 프로그램의 흐름을 직접 제어함. 라이브러리는 자동차의 부품처럼 생각할 수 있으며, 필요한 부품을 선택하여 사용하면 됨
실용적 의미
: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것이며 폴더명, 파일명 등에 대한 규칙이 없고 프레임워크에 비해 자유로움
axios 라이브러리
const axios = require("axios");
const url = "https://api.upbit.com/v1/market/all?isDetails=false";
axios
.get(url)
.then(function (response) {
let data = response.data;
console.log(data);
})
.catch(function (error) {
console.log(error);
})
.finally(function () {
console.log("I always Execued");
});
프레임워크
사전적 의미
: 소프트웨어의 특정 문제를 해결하기 위한 구조를 제공함. 프레임워크는 일종의 뼈대
를 만들어 두고, 개발자는 이 뼈대에 맞추어 필요한 코드를 작성함. 프레임워크는 소프트웨어의 전체적인 흐름과 패턴을 관리하며,제어의 역전(Inversion of Control)
특성을 가지고 있어 프레임워크가 프로그램의 흐름을 제어함
실용적 의미
: 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것이며 폴더명, 파일명 등에 대한 규칙이 있으며 라이브러리에 비해 좀 더 엄격함
Vue.js 프레임워크
특징 | 설명 |
---|---|
반응형 시스템 | 데이터가 변경되면 뷰가 자동으로 업데이트되는 반응형 시스템을 제공합니다. |
컴포넌트 기반 | 애플리케이션을 독립적으로 재사용 가능한 작은 컴포넌트로 나누어 구성합니다. |
선언적 렌더링 | 선언적 렌더링을 통해 DOM과 데이터를 쉽게 연결할 수 있습니다. |
용이한 통합 | 기존 프로젝트에 Vue를 통합하는 것이 매우 간단하며, 다른 자바스크립트 라이브러리와 잘 작동합니다. |
툴링 & 라이브러리 지원 | Vue는 라우터, 상태 관리, 빌드 시스템 등을 포함한 강력한 도구 및 라이브러리 생태계를 제공합니다. |
<script>
export default {
data() {
return {
count: 0
}
}
}
</script>
<template>
<button @click="count++">Count is: {{ count }}</button>
</template>
<style scoped> button {
font-weight: bold;
}
</style>
위 로직을 보면 count라는 변수를 ++하기 위해서는 data() { 메서드 안에 변수를 선언해야 한다는 규칙 등이 있음
또한, style을 보면 scoped라는 것을 통해서 해당 컴포넌트 기반에서만 동작하는 style이라는 것을 정할 수 있음
라이브러리와 프레임워크의 차이는?
제어 흐름
에 관련 있음