프레임워크란?
소프트웨어 개발을 위한 구조와 규칙을 제공하는 도구나 라이브러리 집합
Spring
- Java 기반의 프레임워크
- 전반적인 생태계를 지칭하는 용어
- Spring Framework와 Spring Boot 등 기술 있음
Spring Framework
- Java 플랫폼을 위한 경량화된 애플리케이션 프레임워크.
- 제어의 역전 (IoC) : 프레임워크나 컨테이너에 의해 호출되는 것을 허용
- 의존성 주입 (DI) : 객체 간의 의존성을 외부에서 주입하여 객체 간의 결합도를 낮추는 디자인 패턴
- 관점 지향 프로그래밍 (AOP) : 별도의 모듈로 분리하고, 필요한 곳에 이를 적용하는 방식으로 프로그래밍
- 기본적으로 설정이 필요하며, XML, Java Config, Annotation 등 다양한 방식으로 설정할 수 있음
Spring Boot
- Spring Framework를 사용하여 단독 실행 가능한, 생산성 높은 웹 애플리케이션을 쉽게 만들 수 있도록 지원하는 도구
- 프로덕션 환경에서 사용하기 적합한 기본 설정을 자동으로 제공하여 개발자가 초기 설정에 시간을 쓰지 않아도 됨
- 서버 내장
ASP.NET
- Microsoft에서 개발한 웹 애플리케이션 프레임워크
- .NET 플랫폼에서 동작
- ASP.NET Web Forms, ASP.NET MVC, ASP.NET Core 등 기술 있음
- ASP.NET은 Windows 환경에서 실행되며, 최근에는 .NET Core와 함께 크로스 플랫폼 지원을 강화하여 Linux 및 macOS에서도 실행가능
장점
1. 동적 웹페이지 구성 가능
2. MVC 패턴
3. Microsoft의 지원을 받으며, 강력한 보안 기능 제공
.NET
- Microsoft에서 개발한 개발 프레임워크
- C#,VB.NET,F# 등 다양한 프로그래밍 언어 지원
C
- Microsoft에서 개발한 객체지향 프로그래밍 언어
- .NET 프레임워크에서 주로 사용