용어정리 같은 경우는 친구가 항상 나에게 물어봤지만 그 친구에게 쉽고 명확하게 알려주지 못하여, 그 부분을 정리하고 알려주려고 이 포스트를 작성하게 되었습니다

Framework

  • 소프트웨어 제작을 편리하게 할 수 있도록 뼈대인 클래스와 인터페이스를 제작한 것들을 미리 모아둔 것

    • 개발자는 이 뼈대에 살을 붙이는 방식으로 어플리케이션을 완성 시킨다

    • 프레임워크를 사용하면 개발 생산성이 증대되고, 유지보수가 편리하다는 장점이 있다 (장점)

    • 프레임워크는 익숙해지는 데에 시간이 소요되고 모든 상황을 커버할 수 없다는 한계가 있다 (단점)

    • 위에 기술한 (단점) 때문에 개발 프레임워크를 얼마나 쉽게 커스터마이징 할 수 있는지가 프레임워크의 우수성을 평가하는 기준이 되기도 한다.

API (Application Programming Interface)

  • 어플리케이션 : 응용프로그램, 우리가 알고 있는 앱(App)

  • 프로그래밍 인터페이스 : 기계가 이해하기 쉽게 입출력이 테이터로 이루어지는 인터페이스

  • API : 프로그램 간 서로의 커뮤니케이션을 담당하는 기능이라고 이해하면 쉽다

    • 예를들어 앱을 개발한다고 할때 앱 어플리케이션 개발에서 다른 서비스에 요청을 보내고 응답을 받기 위해 정의된 명세를 말한다
  • 오픈 API : 오픈되어 있는 API, 어떤 기업의 API를 개방하여 외부에서 쉽게 쓸 수 있도록 만든 것

    • 오픈 API는 포털의 개방성을 높이기 위한 기술적 기반/개방 응용프로그램 인터페이스이다

    • 예를들어 구글과 네이버 다음의 지도 API, 서울시 공공 오픈 API 등등