2012-01-25 4 views
6

Obecnie studiuję framework Spring i JDBC (ponownie studiuję to, ponieważ tak naprawdę chcę zrozumieć Hibernate), aby tworzyć serwisy internetowe/usługi internetowe jako stażysta letni. Od dłuższego czasu byłem ciekawy, jakie zalety ma Java/Spring (lub tylko Java EE) w stosunku do Django, Rails, PHP, itp.Co usprawiedliwia korzystanie z Java przez Django/Python, PHP itp. W Internecie?

O ile widzę, te ostatnie ramy są daleko bardziej skuteczne w szybkim rozwoju, a niektóre z nich skalują się dość imponująco. Na podstawie jednej z tutejszych postów:

Web: When should I consider using Java rather than PHP, Python/Django, Ruby/Rails, etc?

Naprawdę nie ma oczywiste korzyści przy użyciu Java. Odpowiedź zawsze brzmi "w zależności od tego, z którym czujesz się najbardziej komfortowo". Interesuje mnie jednak to, jakie aspekty korzystania z frameworków Java są lepsze od tych z innych wymienionych frameworków i na odwrót.

+0

@ julio.alegria Przyjąłem już pytania, na które odpowiedziano. Sądziłem, że głosowanie na odpowiedź jest sposobem, w jaki przekazujemy informacje zwrotne na tym forum. – harryo

Odpowiedz

8

Nic. Railsy, ​​PHP i wszystkie frameworki Pythona mogą zapewnić środowiskom produktywnym, które dobrze się sprawdzają i skalują. Spring Framework jest bardzo dojrzały, a krzywa uczenia się jest nieco bardziej stroma - sądzę, że w jednej z ich podstawowych próbek znajduje się 55 plików JAR. Każdy doświadczony programista powie ci, że w pewnym momencie zamierzasz spędzić trochę czasu z każdym z nich, jeśli stworzysz nietrywialną aplikację internetową.

Zazwyczaj kupuje się dość wyrafinowaną strukturę do tworzenia aplikacji dla przedsiębiorstw, np. kiedy pracujesz z systemami rozproszonymi i potrzebujesz obsługi skomplikowanej komunikacji między aplikacjami.

Tak więc, kompromis w ramach między wsparciem dla funkcjonalności i łatwości użytkowania. Nie ma żadnego a priori dowodu lub usprawiedliwienia wyższości jakiejkolwiek struktury, a dobrzy programiści są generalnie wydajni w każdym z nich.

+0

Chciałbym dodać: Każda kombinacja języków/środowiska wykonawczego ma zalety/wady w stosunku do pozostałych. Wybierz ten, który najbardziej Ci odpowiada/chcesz użyć. Żadne nie jest idealne. –

+0

Ahh. Zatem ramy w Javie zapewne zapewniają większą funkcjonalność kosztem szybkiego rozwoju. Tak, zdecydowanie widzę, że jest dużo "papierkowej roboty" tylko po to, aby uzyskać coś do pracy w Java/Spring/EJB. Czy mógłbyś podać nam konkretny przykład o większej funkcjonalności Javy? (Np. Co może zrobić Java, ale byłoby to wysoce niepraktyczne w innych frameworkach). – harryo

+0

@Martin Samson - Bardzo chętnie używam odpowiedniego narzędzia do konkretnej pracy. Nie chcę, aby w mojej karierze pisano w określonym języku, dlatego planuję nauczyć się bardzo różnorodnych języków i frameworków. Myślę, że zadawanie pytań takich jak ten, o który prosiłem, pomogłoby tym, którzy są zainteresowani oceną, czy Java będzie dobrym wyborem do rozwiązania konkretnego projektu. – harryo