-
Java 30주년, From Beans to Boot, Aspects to AI by Rod Johnson / Juergen Hoeller / Josh Long @ Spring I/O 2025Spring/Spring IO 2025. 9. 20. 19:46
https://www.youtube.com/watch?v=i_fiHmg1qM0
이 영상은 Spring Framework의 창시자인 Rod Johnson, 핵심 프레임워크 리더 Juergen Hoeller, 그리고 개발자 애드버킷 Josh Long이 참여한 Spring I/O 2025 콘퍼런스에서의 대담입니다. Spring의 20년이 넘는 역사를 회고하고, 현재의 Spring Boot와 미래의 Spring AI까지의 여정을 다룹니다.
1단계: 스프링의 탄생과 초기 역할
- 배경 (EJB의 복잡성 제거): Spring Framework는 Rod Johnson이 2002년에 발간한 책에서 시작되었습니다. 당시 **Enterprise Java (J2EE/EJB)**의 "터무니없는 복잡성"을 해결하기 위해 개발되었으며 [01:29], 커뮤니티 주도 오픈소스로서 복잡성을 걷어내고 Java 개발을 다시 "즐겁게" 만들었다고 평가됩니다.
- Spring의 생존 기여: 발표자들은 Spring이 Java 생태계에 가져온 유연성과 단순성이 없었다면, Java가 2025년까지 서버 사이드 플랫폼으로 살아남지 못했을 것이라고 주장하며 [03:21], Java의 30주년을 축하했습니다.
2단계: 스프링 발전의 철학과 외부 영감
- 개발 동기: Rod Johnson은 Spring을 만든 이유가 거창한 비전보다는 개발자로서 자신이 겪는 "고통"을 해결하려는 '자신의 가려운 곳을 긁는(scratching their own edge)' 데서 출발했다고 설명했습니다 [09:27].
- 외부 아이디어 수용: Spring은 언제나 새로운 아이디어에 개방적이었으며, 특히 Java 외부의 아이디어(예: Ruby on Rails의 관례 기반 설정(Convention over Configuration))를 수용하여 Spring Boot와 같은 혁신으로 이어졌다고 강조합니다 [04:30].
- 협업의 진화: 초기 CVS, Subversion과 같은 버전 관리 시스템에서 GitHub로의 전환은 Pull Request를 통한 커뮤니티 협업을 크게 개선시킨 요인으로 꼽았습니다 [28:43].
3단계: Spring Boot의 등장과 의미
- Spring Framework와 Boot의 관계: 초기 Spring Framework 1.0은 거대한 모놀리스 애플리케이션을 위해 설계된 반면 [22:44], Spring Boot는 작고 자체 포함된 실행 가능한 애플리케이션이라는 다른 요구 사항에 부응하기 위해 등장했습니다.
- 핵심 원칙: Spring Boot는 Spring Framework의 마법이 아닙니다. 발표자들은 Spring Boot는 여전히 Spring Framework를 기반으로 하며, 단지 **자동 설정(Autoconfiguration)**을 통해 더 간단하고 나은 기본 가정을 제공하여 프레임워크를 경험하는 훌륭한 방법이라고 강조했습니다 [25:39].
4단계: 미래 비전과 언어 전략
- 과거의 '실수'와 재발명: Juergen Hoeller는 Spring이 역사적인 설계상 실수를 **'신중한 재발명'**을 통해 제거해왔다고 밝혔습니다 (예: 어노테이션 기반 MVC의 내부 재설계, 전체 코드베이스에 Nullability 추가) [30:55].
- Kotlin의 영향: Kotlin은 Spring Framework의 설계에 큰 영감을 주었으며, 특히 Nullability 스토리 등에서 많은 것을 배웠다고 인정했습니다 [38:30].
- 가장 기대되는 Java 기능: 발표자들은 최근 JDK 24/25 LTS의 개선 사항(예: Project Leyden을 통한 시작 시간 최적화)과 미래의 Project Valhalla (값 타입)에 대한 큰 기대를 표했습니다 [35:04].
- AI 시대로의 확장: 최근 최종 버전이 발표된 Spring AI를 언급하며, AI 시대에 맞춰 Python 생태계의 혁신에도 주목하고 있음을 밝혔습니다 [38:02].
- 언어 정책: Spring은 JVM 프레임워크로서 Java와 Kotlin 모두를 일급 언어로 지원하며, 특정 언어를 주력으로 채택할 계획은 없다고 확인했습니다 [41:15].
'Spring > Spring IO' 카테고리의 다른 글