2012년 11월 18일 일요일

Java 개발자에게 Spring Framework 의 의미...

Java 진영에서 Spring Framework 의 존재는 거의 모든 기반 기술은 다 해줄테니, 비즈니스 로직에만 집중하라... 입니다만... 

문제는 Spring Framework을 실제 이용하는 사람은 여러가지 기능에 대한 원리에 대한 이해나 필요성에 대해서는 그리 신경 쓰지 않는다는 것입니다.

이런 현실때문에 만약 Spring Framework을 쓰지 않는 곳에서는 프로젝트가 제대로 진행될 수 없거나, 품질이 제대로 나올 수 없을 것 같더군요...
 
이렇게 된게 국가가 공공 표준 프레임웍으로 Spring을 지정해서 그렇게 된게 가장 큰 거 같습니다.


표준화 자체의 효율과 효과에 대해서는 이론의 여지가 없지만, 새로운 발전을 위한 혁신에는 걸림돌이 될 것 같습니다. - Spring 으로 표준화도 혁신이었지만 - 앞으로 또 이런 노력이 계속 필요하지만, 이제는 거의 하지 않는 것 같습니다. ㅎㅎ

이런 면에서 .NET은 .NET Framework 과 NHibernate (myBatis) + DI (Castle.Windsor, NInject 등) + Entrprise Library + 몇가지 Utils 를 가지고 작업하니, 표준으로 내세울 것이 없어, 선택의 폭이 넓고, 공부해야 할 것도 더 많아서, 초기 개발자에게는 더 도움이 되지 않을까 하는 역설적인 상황이 온 거 같습니다.

물론, 개개인의 개발자의 학습에 대한 의욕 및 역량에 따라 다르지만, 객관적인 상황은 그렇다는 얘기입니다...

Java 진영에서는 Ruby, Groovy, Closure, Scala 등 다른 언어들이 있어, 자신의 역량을 높힐 신세계가 훨씬 많습니다만, Java에만 머물겠다면 Spring 외에는 공부할 게 없다는 유혹 또한 있습니다...





Spring Framework만으로 충분하다고 생각하시는 개발자분들은 Spring Framework을 사용하는 것을 넘어 Framework 내부 구조나 원리를 공부하시기를 조심스레 추천합니다.





Spring Framework이 표준화까지 되었다는 것은, 거의 모든 Best Practices 가 녹아 있으므로, 원리를 이해하는 것이 향후 다른 언어를 사용하거나, 제품을 고품질화할 때 도움이 될 것입니다. 


(단순히 Spring 책 한 두권 읽고, 적용하는 수준이 아니라, 기능을 가장 잘 사용할 방안뿐 아니라 왜 그런지 등을 이해하시는 게 필요합니다.)

댓글 없음: