본문 바로가기
코딩/코딩 지식

프레임워크

by jsjin 2023. 9. 18.
728x90

<정의>


특정 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다. (”프레임워크”, <나무위키>, https://namu.wiki/w/프레임워크)

일종의 밀키트 같은 존재.

<라이브러리와의 차이점>

프레임워크와 라이브러리를 엄밀한 차이로 나누기는 어렵다.

따라서 대충 이런 경향을 띤다는 것만 인지하는 것이 좋다.

가장 큰 차이는 제어 흐름이다.

  • 제어 흐름

    프레임워크 :

    프레임워크가 사용자를 제어한다.

    개발자에게 특정한 구조나 디자인 패턴을 강제


    라이브러리 :

    사용자가 라이브러리를 제어한다.

    개발자가 필요한 기능을 선택적으로 사용할 수 있게 제공

제작자가 라이브러리라 하면 라이브러리, 프레임워크라 하면 프레임워크

<종류>


1. 웹 개발 프레임워크

  • Django (Python)

    파이썬 기반의 웹 애플리케이션 개발 프레임워크로, 주로 백엔드 개발에 사용

  • Ruby on Rails (Ruby)

    루비 기반의 웹 애플리케이션 프레임워크로, 빠른 개발과 간결한 코드를 강조

  • Express.js (Node.js)

    Node.js 기반의 웹 애플리케이션 프레임워크로, JavaScript를 사용하여 백엔드 서버를 개발하는 데 사용

2. 프론트엔드 프레임워크

  • React (JavaScript)

    Facebook에서 개발한 UI 라이브러리로, 단일 페이지 애플리케이션 및 웹 컴포넌트 개발에 주로 사용.

  • Angular (JavaScript/TypeScript)

    Google에서 개발한 프론트엔드 프레임워크로, 대규모 응용 프로그램을 구축하는 데 사용

  • Vue.js (JavaScript)

    가벼운 프론트엔드 프레임워크로, UI 개발 및 단일 페이지 애플리케이션에 많이 사용

3. 모바일 앱 개발 프레임워크

  • React Native (JavaScript)

    React 기반의 모바일 앱 개발 프레임워크로, iOS와 Android 앱을 동시에 개발 가능

  • Flutter (Dart)

    Google에서 개발한 모바일 앱 개발 프레임워크로, iOS, Android 및 웹 앱을 빌드하는 데 사용

4. 데이터 과학 및 머신 러닝 프레임워크

  • TensorFlow (Python)

    구글에서 개발한 오픈 소스 머신 러닝 프레임워크로, 딥러닝 모델을 구축하고 학습시키는 데 사용

  • PyTorch (Python)

    Facebook에서 개발한 머신 러닝 프레임워크로, 연구 및 프로토타입 개발에 널리 사용

5. 게임 개발 프레임워크

  • Unity (C#)

    크로스 플랫폼 게임 개발을 위한 프레임워크로, 2D 및 3D 게임을 개발하는 데 사용

  • Unreal Engine (C++)

    게임 엔진과 개발 프레임워크로, 고품질 그래픽과 대규모 게임 프로젝트를 지원

6. 백엔드 서버 프레임워크

  • Spring Framework (Java)

    자바 기반의 엔터프라이즈 웹 애플리케이션 개발에 사용되며, 스프링 부트는 빠른 웹 애플리케이션 구축을 위한 도구

728x90

'코딩 > 코딩 지식' 카테고리의 다른 글

Midi  (0) 2023.05.21