Ui 프레임워크란 - ui peuleim-wokeulan

프레임워크란

- 어떤 프로그램을 만들기위한 기본 틀 이라고 생각하면 된다

- 사전적 정의로는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 

클래스들을 제공하는 것이라고 나와있지만 무슨소리인지 모르겠다.

예시

- 컴퓨터 본체를 조립하는 회사라고 했을 때 1) 메인보드에 CPU를 장착하고 2) 메인메모리를 달고 , 3) 하드디스크를 장착 등

  이처럼 본체를 조립하기 위한 일련의 과정 또는 틀을 프레임 워크라고 한다

장점

- 프레임워크를 사용하면 프로그램을 편리하고 빠르게 만들 수 있다. (생산성 향상)

- 체계적으로 만들어진다 (유지보수가 쉽다)

라이브러리란

- 재사용이 가능한 필요기능으로 반복적인 코드 작성을 없애기 위해 언제든지 필요한 곳에서 호출하여 사용할 수 있도록

  Class나 Function으로 만들어진 것

- 예를들어 컴퓨터 본체를 조립한다고 했을 때  우리는 직접 CPU , Memory , 메인보드 , HDD 등을 만들지 않고

  이미 만들어져있는것을 가져다 사용한다.

예시

- 컴퓨터 본체를 조립하기 위해 필요한 CPU , Memory , 메인보드 등의 각각의 모듈들

장점

- 코드의 중복을 줄인다 (가독성 , 유지보수 향상)

- 프로그래밍 시간을 줄일 수 있다. (생산성 향상)

프레임워크 VS 라이브러리 

프레임 워크 - 내가 개발을 하기위해 지켜야하는 틀

라이브러리 - 내가 개발을 하기위해 필요로 하는 미리구현 되어있는 대상

IT, 미디어/소프트웨어

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

2022. 2. 1.

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

프레임워크란?

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

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

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

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

프레임워크의 종류

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

Laravel (라라벨)

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

출처 : 코지 코더
Ui 프레임워크란 - ui peuleim-wokeulan

라라벨 공식 홈페이지

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

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

laravel.kr

Ui 프레임워크란 - ui peuleim-wokeulan

앵귤러

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

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

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

앵귤러 공식 홈페이지

Angular 가이드

Angular 가이드

angular.kr

Ui 프레임워크란 - ui peuleim-wokeulan

데이터 과학 프레임워크

아파치 스파크

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

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

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

Ui 프레임워크란 - ui peuleim-wokeulan

파이 토치

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

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

  • Comcast
  • Exelon
  • Trifo
  • Quadient

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

Shortcuts

tutorials.pytorch.kr

텐서 플로우

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

TensorFlow

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

www.tensorflow.org

Ui 프레임워크란 - ui peuleim-wokeulan

모바일 개발 프레임워크

아이오닉

아이오닉은 안드로이드, 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

Ui 프레임워크란 - ui peuleim-wokeulan

자 마린

자 마린은 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 프레임워크란 - ui peuleim-wokeulan

플러터

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

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

  • 알리바바
  • 구글 애즈

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

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

flutter-ko.dev

Ui 프레임워크란 - ui peuleim-wokeulan