Home [CS] 프레임워크와 라이브러리
Post
Cancel

[CS] 프레임워크와 라이브러리

프레임워크와 라이브러리

백엔드 서버에 자주 사용되는 Spring은 프레임워크입니다. 그런데 프론트엔드 SPA 웹 제작에 사용되는 React는 라이브러리지요.

무슨 차이가 있는걸까요? 결론부터 말씀드리면 프로그램 제어 흐름의 주도권을 누가 쥐고있느냐의 차이가 있습니다.

프레임워크

프레임워크는 공통 개발에 사용될 수 있는 기능들을 제공하고, 프로그램의 뼈대를 제공합니다.

그래서 우리는 프레임워크가 제공하는 기본 뼈대위에서 필요한 부분만 구현해서 사용하면 됩니다.

이는 즉 프레임워크가 주도적으로 애플리케이션의 흐름을 가져간다는 의미입니다.

프레임워크가 미리 짜둔 흐름에 우리가 몇 가지 기능들을 덧대어 사용합니다. 스프링을 생각해보면, 기본적인 웹 처리 기능들은 모두 스프링이 처리해줍니다. 개발자는 몇 가지 MVC 컴포넌트들을 작성해두면 스프링이 이를 호출하면서 전체 웹 애플리케이션을 동작시킵니다.

대신 프레임워크는 특정 도메인에 치중되어있습니다. 어떤 특수한 문제를 해결하기 위해 설계되었고, 사용하는 개발자는 이 흐름을 쉽게 바꿀 수 없습니다.

라이브러리

라이브러리도 마찬가지로 공통 개발에 사용될 수 있는 몇 가지 기능들을 제공합니다.

프레임워크와 유사하지만 한 가지 큰 차이점이 있습니다. 라이브러리를 사용할 때는 개발자가 애플리케이션의 흐름을 주도적으로 관리한다는 점입니다.

마치 가위와 유사하죠. 우리는 가위를 사용해서 이것저것 할 수 있습니다. 무엇을 할지는 우리가 결정합니다. 제어의 흐름이 개발자에게 있는것이죠.

라이브러리는 비교적 자유롭습니다. 결국 제어는 개발자가 하기 때문에 많은 곳에 적용될 수 있습니다.

This post is licensed under CC BY 4.0 by the author.