본문 바로가기

CS 공부

프레임워크란?

Framework란? 개발을 편하게 해주는 도구

=> 소프트웨어 어플리케이션이나 솔루션의 개발을 수월하게 하기 위해 소프트웨어의 구체적 기능들에 해당하는 부분의 설계와 구현을 재사용 가능하도록 협업화된 형태로 제공하는 소프트웨어 환경

=> 개발자가 애플리케이션 또는 소프트웨어를 개발하는 데 필요한 구조, 라이브러리, 규칙 및 도구의 모음

출처: https://gocoder.tistory.com/1867 [고코더 IT Express:티스토리]

프레임워크의 장점

1) 효율성

프레임워크는 이미 만들어진 코드를 사용하게 하여 시간과 비용을 아낄 수 있습니다.

출처: https://gocoder.tistory.com/1867 [고코더 IT Express:티스토리]

2) 완성도

현업에서 자주 사용하는 함수를 직접 개발하는 경우는 결국 나중에는 유지보수 대상이 됩니다. 오래동안 쓸 수 있는 함수를 만드는건 쉽지가 않죠. 하지만 프레임워크에서 제공하는 기능들은 검증된 코드입니다. 이를 사용함으로 오류가 적은 품질을 살릴 수 있습니다.

출처: https://gocoder.tistory.com/1867 [고코더 IT Express:티스토리]

3) 유지보수

프레임워크를 사용하면 다른 회사에서 같은 프레임워크로 다른 시스템을 개발해왔다면 쉽게 적응할 수 있습니다.

출처: https://gocoder.tistory.com/1867 [고코더 IT Express:티스토리]

4) 확장성

새로운 이슈나 기능이 업데이트 되고 이를 사용할 수 있습니다. 확장성으로 인해 업데이트된 기능을 통해 프로그램의 품질을 끌어 올릴 수 있습니다.

출처: https://gocoder.tistory.com/1867 [고코더 IT Express:티스토리]

프레임워크의 단점

  • 학습이 필요하고, 사용법이 정해져 있어서 제약 사항이 따를 수 있다.

프레임워크의 특징

  1. 구조화된 환경 : 프레임워크는 프로젝트를 구조화된 방식으로 조직하고 기본 구조를 제공합니다. 이는 개발자가 프로젝트를 시작할 때 일반적인 레이아웃 및 디렉토리 구조를 갖추게 도와줍니다.
  2. 재사용 가능한 코드: 프레임워크에는 특정 작업을 수행하기 위한 미리 작성된 코드나 라이브러리가 포함되어 있어 개발자가 이를 재사용할 수 있습니다. 이로써 개발 시간을 단축하고 코드의 일관성을 유지할 수 있습니다.
  3. 개발 규칙: 프레임워크는 개발에 필요한 규칙과 디자인 패턴을 정의합니다. 이러한 규칙은 코드 작성과 구성을 표준화하고 프로젝트의 유지 보수를 단순화합니다.
  4. 보안 및 성능: 많은 프레임워크는 보안 및 성능 향상을 위한 내장된 메커니즘을 제공합니다. 이를 통해 개발자는 애플리케이션의 보안을 강화하고 최적화할 수 있습니다.
  5. 개발자 커뮤니티: 많은 프레임워크는 활발한 개발자 커뮤니티와 온라인 리소스를 가지고 있어, 문제 해결과 지원을 얻을 수 있습니다.

프레임워크의 종류

=> 다양한 분야세서 사용되는 프레임워크가 존재하고,

프로젝트의 요구사항, 개발 스택에 따라 적합한 프레임워크를 선택하는 것이 중요

1) 웹 개발 프레임워크

  • Django: 파이썬 기반의 백엔드 웹 프레임워크로, 웹 애플리케이션을 빠르게 구축할 수 있습니다.
  • Ruby on Rails: 루비 기반의 웹 프레임워크로, 개발 생산성을 높이고 웹 애플리케이션을 빠르게 만들 수 있습니다.
  • Laravel: PHP 기반의 웹 프레임워크로, 현대적인 웹 애플리케이션을 구축하는 데 사용됩니다.

2) 데이터베이스 및 백엔드 프레임워크

  • Spring Framework: Java 기반의 애플리케이션 개발을 지원하는 프레임워크로, 백엔드 시스템을 구축하는 데 사용됩니다.
  • Express.js: Node.js를 기반으로 한 JavaScript 웹 애플리케이션 프레임워크로, 가벼우면서 확장 가능합니다.

'CS 공부' 카테고리의 다른 글

머신러닝과 딥러닝의 차이점  (0) 2023.11.14
프로토콜이란?  (0) 2023.11.14
SQL이란?  (0) 2023.11.14
쿠키와 세션에 대해  (0) 2023.11.10
HTTP란?  (0) 2023.11.10