∟Framework

Framework

최 수빈 2024. 12. 30. 15:46

 

Framework

 

 

소프트웨어 개발을 위한 구조적인 틀

framework를 통해 개발자는 반복적으로 필요로 하는 기능이나 로직을 효율적으로 처리가능

 

 

 

구조화된 코드의 집합

자주 사용되는 도구와 기능 모음

특정 작업을 수행하는 데 필요한 기능들이 통합적으로 제공

 

코드 재사용성

이미 검증된 코드로 구성되어 있어, 개발자가 새로 작성할 필요 없이 가져다 쓸 수 있음

 

대표적인 Python 프레임워크

 

Django: 대규모 웹 애플리케이션에 적합

Flask: 간단하고 가벼운 웹 애플리케이션에 적합

FastAPI: 최신 기술 기반, 빠르고 비동기 처리에 강점

 

 

 

 

Framework의 필요성

 

생산성 향상

개발의 부수적인 요소(보안, 데이터베이스 연결 등)를 프레임워크가 처리

개발자는 핵심 로직에만 집중할 수 있음

안정성과 효율성

수많은 개발자들의 검증을 거친 안정적인 코드로 구성되어 있음

개발 속도를 크게 단축할 수 있음

구조적인 개발

프레임워크는 표준화된 방식으로 개발을 유도

코드 유지보수가 쉬워지고 협업이 용이

 

=> 빠른 개발, 높은 품질, 안전성

 

 

'기능' 구현 방법

 

  •  하나하나 직접 구현하기

모든 것을 처음부터 직접 코딩

 

장점: 모든 동작을 깊이 이해 가능

단점: 시간 소모가 크고 높은 수준의 전문지식 필요

 

 

  • 이미 만들어진 도구 활용

프레임워크를 사용해 기능을 가져다 씀

 

장점: 빠르게 개발 가능, 효율적

단점: 러닝 커브가 존재, 커스텀화에 한계, 종속성 문제

 

 

 

Framework를 활용한 웹사이트 개발

 

웹사이트 기본 기능

회원가입 / 로그인 / 로그아웃

프로필 페이지

비밀번호 변경

데이터베이스 연동

보안 처리

좋아요 / 팔로우 기능

 

프레임워크로 개발하면?

빠르게 구현 가능: 로그인/회원가입 같은 기본 기능은 이미 제공

효율적 유지보수: 프레임워크의 표준화된 방식 활용

 

 

웹사이트 외의 활용

 

모바일 앱 개발 : React Native, Flutter

데스크탑 앱 개발 : Electron, PyQT

머신러닝 : TensorFlow, PyTorch

 

 

Framework vs Library

  Framework Library
공통점 개발자의 개발을 돕는 도구
제어 흐름 Framework가 주도 개발자가 주도, Library 호출
역할 구조 제공, 개발 전반을 아우름 특정한 기능만 제공
규칙 정해진 구조와 규칙에 따라 개발 개발자가 원하는 방식으로 자유롭게 사용 가능

 

=> Framework: 규칙 제공, Library : 필요 기능 제공


 

Framework를 이해하려면

 

1. '구조화된 틀'이라는 본질을 파악해라

2. 효율성, 안정성, 생산성이 주요 장점임을 이해해라

3. 사용 방법에 집중해라

4. 기본 사용법/구조에 익숙해진다면 점차 내부 구조와 원리를 탐구해라