모바일 프레임워크(Framework)

  • 개발자는 iOS 애플리케이션을 개발할 때 프레임워크(만들어놓은 코드)를 이용하여 개발함

애플은 왜 프레임워크를 만들고 제공할까?

  • 앱스토어에 좋은 앱이 올라오길 바람
  • 좋은 앱이 많으면 이 앱을 이용하기 위해 아이폰을 사게됨
  • 거대 IT 회사들은 개발자들을 위해 자사의 애플리케이션을 쉽게 개발할 수 있도록 프레임워크 제공

왜 여러 프레임워크가 존재할까?

  • 애플은 기기가 많기 때문에 기기별로 프레임워크들이 존재
  • 애플은 프레임워크 사용법을 웹 페이지로 제공함 -> 개발자에게 사전 같은 페이지
  • AppKit
    • 맥OS에 올라가는 애플리케이션 개발을 위한 프레임워크
  • UIkit
    • iOS or tvOS에 올라가는 애플리케이션 개발을 위한 프레임워크
  • 애플에서 이 프레임워크들을 통치해서 코코아(Cocoa) 프레임워크라고 함
  • iOS, MacOS, WatchOS 등의 애플의 애플리케이션을 개발하기 위해
    Swift or Objective-C 언어 + 코코아로 개발
  • 안드로이드도 JAVA or Kotlin 언어 + 안드로이드 프레임워크를 활용하면 쉽게 애플리케이션 만듬

웹 프레임워크

  • 앱과 다르게 웹은 특정회사의 소유가 아님
  • 웹 프레임워크 및 라이브러리는 여러 사람이 만듬
  • 웹 프론트엔드 프레임워크 및 라이브러리 삼대장
    • Angular.js -> 구글에서 운영
    • React.js -> 페이스북에서 만듬
    • Vue.j -> Evan You라는 중국사람이 만듬
  • 웹 프레임워크 및 라이브러리는 회사가 만들기도 개인이 만들기도 함

언어별 유명한 프레임워크

  • 자바(Java) : 스프링(Spring) 프레임워크
  • 파이썬(Python) : 장고(Django) 프레임워크
  • 루비(Ruby) : 레일스(Rails)
  • 자바스크립트(JavaScript) : 익스프레스(Express.js)

프레임워크와 라이브러리의 차이

  • 프레임워크가 라이브러리보다 큰 개념
    • 각종 라이브러리와 코드들이 모여 프레임워크가 됨
  • 프레임워크는 한 프로젝트에 하나만 사용 가능
  • 라이브러리는 한 프로젝트에 여러 개 사용 가능

프레임워크와 라이브러리 사용법

  • 만든 주체가 모두 다르므로 사용 전에 반드시 설명을 봐야함
  1. 사용료를 받는 경우
  2. 출처를 남기면 무료인 경우
  3. 조건없이 무료인 경우

reference

비전공자를 위한 이해할 수 있는 IT 지식