Framework란?
"소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것" - Ralph Johnson -
하나의 애플리케이션을 건물이라고 가정한다면, Frame은 건물의 구조라고 이해하면 됩니다.
프로그래밍 상에서의 Framework은 기본적으로 프로그래밍을 하기 위한 어떠한 틀이나 구조를 제공한다.
Framework를 사용하는 장점과 단점
장점
효율적으로 코드를 작성할 수 있습니다.
정해진 규약이 있어 애플리케이션을 효율적으로 관리할 수 있습니다.
단점
내가 사용하고자 하는 Framework에 대한 학습이 필요합니다.
자유롭고 유연한 개발이 어렵습니다.
Spring Framework이란?
웹 애플리케이션 개발을 위한 Framework에는 Spring뿐만 아니라, Django, Express, Flask, Lalavel 등 다양한 Framework를 통해 개발이 가능합니다.
각각 Framework마다 사용하는 언어도 다르고 개발 방법도 조금씩 달라지게 됩니다. Spring Framework만의 장점은 어떤점이 있을까요?
POJO(Plan Old Java Object)기반의 구성
DI(Dependency Injection) 지원
AOP(Aspect Oriented Programming, 관점지향 프로그래밍) 지원
Java 언어를 사용함으로써 얻는 장점
Java 언어의 특징중 어떤점이 장점으로 다가올 수 있을까요?
정적 타입 언어로서 변수의 타입, 메서드의 입력과 출력이 어떤 타입을 가져야 하는지를 강제합니다.
이는 곳 여러사람이 함께 작업할 때, 다른 사람의 코드 혹은 이전에 내가 작성했던 코드를 수정, 보완이 용이하고 웹 서버를 구축하는데 있어서 런타임에 발생하는 오류를 사전에 방지할 수 있습니다.
Spring Framework를 사용하는 이유
대부분의 기업들이 기업용 엔터프라이즈 시스템용 애플리케이션 개발에 있어 Framework을 선택할 때, 개발 생산성을 높이고 어떻게 하면 애플리케이션의 유지 보수를 조금 더 용이하게 할 것인가에 많은 초점을 맞추는것이 사실입니다.
기업용 엔터프라이즈 시스템
기업용 엔터프라이즈 시스템이란 기업의 업무(기업 자체 조직의 업무, 고객을 위한 서비스 등)를 처리해주는 시스템을 의미합니다.
기업용 엔터프라이즈 시스템은 대량의 사용자 요청을 처리해야 하기 때문에 서버의 자원 효율성, 보안성, 시스템의 안전성이나 확장성 등을 충분히 고려해서 시스템을 구축하는 것이 일반적입니다.