본문 바로가기
IT, 미디어/소프트웨어

프레임워크는 무엇이고 프레임워크의 종류는 어떤 것이 있을까?

by B.Iog 2022. 2. 1.
728x90

프레임워크는 개발자가 어플을 개발하기 위해서 사용하는 소프트웨어이다. PPT를 만들 때 템플릿이 있으면 디자인을 처음부터 만들 필요가 없다. 프레임워크는 프로그래머들에게 있어서 PPT 템플릿과 같은 존재다. 프로젝트를 진행할 때 프레임워크 도구를 사용하면 처음부터 코딩할 필요가 없는 것이다. 

 

프레임워크란?

프레임워크는 소프트웨어 개발에 있어서 하나의 뼈대 역할을 한다. 소프트웨어 프레임워크를 사용하여 프로그램을 개발하면 처음부터 코딩하는 것보다 훨씬 빠르게 개발할 수 있다.

 

소프트웨어를 개발하는 것은 되게 복잡하다. 코딩은 물론이고 디자인과 수많은 디버깅을 하려면 많은 노가다 작업이 필요하다. 이런 막노동을 하다 보면 몸도 마음도 많이 지칠 건데 프레임워크를 사용하면 개발자의 삶이 더 편해진다. 

 

소프트웨어 프레임워크를 사용하면 다음과 같은 장점이 있다.

  • 코드가 더 안전하다
  • 중복 코드를 작성하는 일이 없어진다.
  • 버그를 적게 생성한다
  • 작업을 더 빠르게 끝낼 수 있다.
  • 프레임워크를 사용할수록 오픈소스 프레임워크에 기여할 수 있다 -> 프레임워크의 지속적인 개선이 이루어짐

 

 

프레임워크의 종류

 

 

웹 애플리케이션 개발 프레임워크

 

 

Laravel (라라벨)

라라벨은 PHP 기반 웹 애플리케이션 프레임워크이다. 오픈소스 프레임워크이고 이해하기 쉬운 구조를 지니고 있다. 구글에 의하면 PHP 웹 애플리케이션 개발에 최적화되었다고 합니다.

 

출처 : 코지 코더

 

라라벨 공식 홈페이지

 

라라벨 코리아 커뮤니티(Laravel Korea Community)

laravel korea community 라라벨 코리아 커뮤니티 - 한글 매뉴얼

laravel.kr

 

 

앵귤러

앵귤러는 웹에서 애플리케이션을 쉽게 구축할 수 있도록 도와주는 오픈 소스 프레임워크이다. 앵귤러는 구글의 많은 내부 도구에서 사용되기도 한다. 

 

앵귤러를 사용하여 만들어진 웹사이트들은 다음과 같다.

  • 넷플릭스
  • 페이팔
  • 유튜브
  • 장고

앵귤러 공식 홈페이지

 

Angular 가이드

Angular 가이드

angular.kr

 

 

데이터 과학 프레임워크

 

 

아파치 스파크

아파치 스파크는 대규모 데이터 처리를 위한 엔진이다. 아파치 스파크를 사용하여 애플리케이션을 빠르게 개발할 수 있다. 정말 많은 회사에서 아파치 스파크를 사용하고 있지만 요약해보자만 다음과 같다.

  • 아마존
  • 마이크로소프트
  • 비자
  • 버라이즌

 

 

Apache Spark™ - Unified Engine for large-scale data analytics

Run now Installing with 'pip' $ pip install pyspark $ pyspark QuickStart Machine Learning Analytics & Data Science df = spark.read.json("logs.json") df.where("age > 21").select("name.first").show() # Every record contains a label and feature vector df = sp

spark.apache.org

 

 

파이 토치

파이 토치는 연구, 프로토타입 제작에서 사용되는 오픈 소스 프레임워크이다. 파이 토치는 페이스북의 AI 연구 팀에서 개발한 프레임워크이고 컴퓨터 비전 및 자연어 처리에 사용된다. 

 

파이 토치를 사용해 개발된 웹사이트는 다음과 같다.

  • Comcast
  • Exelon
  • Trifo
  • Quadient

 

 

파이토치(PyTorch) 튜토리얼에 오신 것을 환영합니다 — PyTorch Tutorials 1.10.1+cu113 documentation

Shortcuts

tutorials.pytorch.kr

 

 

텐서 플로우

텐서 플로우는 머신러닝을 위해 개발된 오픈소스 프레임워크이다. 연구원 혹은 개발자가 프로그램을 빠르게 구축할 수 있도록 도와준다. 도구, 라이브러리, 커뮤니티 리소스가 많고 유용하다.

 

 

TensorFlow

모두를 위한 엔드 투 엔드 오픈소스 머신러닝 플랫폼입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 TensorFlow의 유연한 생태계를 만나 보세요.

www.tensorflow.org

 

 

모바일 개발 프레임워크

 

 

아이오닉

아이오닉은 안드로이드, IOS를 포함한 모든 모바일 플랫폼을 개발하기 위한 오픈소스 프레임워크이다.

 

아이오닉을 사용하여 개발된 프로그램은 다음과 같다.

  • 마켓워치
  • 맥도널드 터키 예

 

 

Cross-Platform Mobile App Development: Ionic Framework

Ionic Framework's app development platform builds amazing cross-platform mobile, web, and desktop apps all with one shared code base and open-web standards.

ionicframework.com

 

 

자 마린

자 마린은 3700개의 회사에서 6만 명 이상의 커뮤니티 사람들이 활발하게 사용하고 있는 무료 오픈소스 애플리케이션 개발 플랫폼이다.

 

자 마린을 이용하여 개발된 애플리케이션은 다음과 같다.

  • 알래스카 항공 애플리케이션
  • CA 모바일 (모바일 뱅킹)
  • 노바룸 DX (의료 앱)

 

 

Xamarin | Open-source mobile app platform for .NET

Xamarin is a free and open source mobile app platform for building native and high-performance iOS, Android, tvOS, watchOS, macOS, and Windows apps in C# with .NET.

dotnet.microsoft.com

 

 

플러터

플러터는 구글의 UI 툴킷이다. iOS와 안드로이드에서 좋은 성능을 발휘한다.

 

플러터를 이용하여 개발된 애플리케이션은 다음과 같다.

  • 알리바바
  • 구글 애즈

 

 

Flutter - 가장 빠른 아름다운 네이티브 앱

Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고

flutter-ko.dev

 

 

 

댓글