Spring - wzór do naśladowania

Od pewnego czasu obserwuję projekt Spring Framework. Jest to framework aplikacji j2ee, którego częścią jest framework MVC. Cały projekt jest profesjonalnie prowadzony i może być przykładem do naśladowania dla wielu twórców oprogramowania.

Najważniejszą częścią Springa jest innowacyjny kontener implementujący wzorzec dependency injection. Polega on na wkładaniu do aplikacji obiektów, od których aplikacja zależy. Nie jest to odpowiednie miejsce ani pora na zagłębianie się w szczegóły wzorca i jego implementacji. Wspomnę tylko, że pozwala on na większą elastyczność oraz na łatwiejsze testowanie aplikacji.

Spring od momentu powstania robi małą rewolucję w świecie Javy. Był odpowiedzią na toporne EJB2 i Struts. Pokazał lepszą, lżejszą drogę do sukcesu. Zbliżył Javę do świata Agille.

Szybko zyskał uznanie programistów. Przyczyniło się do tego parę czynników:

Innowacyjność i reakcja na zmiany

Pokazał nową lżejszą Javę. Sama idea dependency injection może nie była nowa, lecz Spring pozwolił na jej lepsze poznanie. Ponadto autorzy obserwują tendencje i idą dalej. Powstaje wiele projektów około springowych: Spring Moules, Spring WebFlow, Spring Security itp. Wystarczy trochę czasu, aż któryś z tych projektów wypali na większą skalę. Są też reakcje na dużą popularność Rubiego. Spring 2.0 opiera się na zasadzie “konwencji nad konfiguracją” oraz daje możliwość zagnieżdżania JRuby i innych języków skryptowych.

Kompatybilność wstecz

Podobno od wersji 1.0 spring jest cały czas kompatybilny w dół. Wystarczy wymienić jar’a z biblioteką. Co ważne, cały czas wprowadzają nowe dość rewolucyjne zmiany nie zapominając o wcześniejszych użytkownikach.

Integruj, nie walcz

Cały czas starają się integrować różne frameworki. Nie walczą aby przekonać do swoich rozwiązań. “Jak chcesz możesz używać tego co lubisz. Wystarczy że podepniesz pod nasz kontener”. Np. do obsługi baz danych moża używać: czystego JDBC, Hibernate, IBatis, JDO, JPA, Oracle TopLink. Wszystko to spięte w jednolity interface i drzewo wyjątków.

Podobną filozofię można zauważyć w Pylonsie.

Zbieraj społeczność

Spring jest wydawany na licencji Apache. Pomaga to w budowaniu społeczności wokół projektu. Ludzie piszą swoje podprojekty, udzielają się itp.

I do tego niezły biznes

Nic dodać, nic ująć. Prowadzą szkolenia na całym świecie.

Polecam zapoznanie się z tym projektem: http://www.springframework.org. Myślę, że jest to dobry wzór do naśladowania.

This entry was posted on Mon, 08 Jan 2007 20:34:00 GMT and Posted in . You can follow any any response to this entry through the Atom feed. You can leave a comments, .


Comments

Leave a response

Leave a comment