프레임워크
1. 개요
프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다.
2. 라이브러리와의 차이점
라이브러리와 프레임워크를 헷갈리는 경우도 있는데, 보통 프레임워크라고 하면 클래스와 라이브러리가 합쳐진 형태라고 볼 수 있다.
메소드 및 클래스화, 즉 모듈화를 하는 이유 중 하나가 재사용성인데, 프레임워크는 이 재사용성을 큰 그룹 단위로 묶어주었다고 보면 된다. 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공해 주기 때문에, 여러 개의 표준을 만들지 않아도 돼서 개발자의 피곤함을 덜어준다.
3. 종류
- Spring: Java의 웹 프레임워크
- Apache 시리즈 (Sling, Structs 2, Wicket 등)
- JWT
- Django: Python의 웹 프레임워크
- Flask: Python의 마이크로 웹 프레임워크
- Ruby on Rails: Ruby의 웹 프레임워크
- Laravel, Codeigniter, CakePHP, Symfony, Zend: PHP의 웹 프레임워크
- Bootstrap: 트위터의 jQuery 기반 웹 프레임워크
- .NET Framework
- Qt
- Node.js의 Express.js, NestJS, meteor 프레임워크
- 웹 프론트엔드의 SPA용 프레임워크 (Angular, Vue.js 등)
- Play: 함수형 언어 Scala의 웹 프레임워크
- 안드로이드: 안드로이드 애플리케이션용 프레임워크
- Cocoa: iOS, macOS 애플리케이션용 프레임워크