2009-08-23 11 views
5

Zacząłem analizować kilka większych frameworków do obsługi serwerów, które byłyby w stanie obsługiwać interfejsy klienckie dla komputerów, a także interfejsy internetowe, i naprawdę zignorowały dwa oczywiste: J2EE i .NET. Z punktu widzenia języka, punktu widzenia funkcji, przenośności, punktu widzenia itp. Jestem całkiem zadowolony z mojego zrozumienia tych dwóch produktów. Utrzymam to w prostocie mówiąc, że w przeważającej części albo pasowałoby do potrzeby wystarczająco dobrze na podstawie mojej wstępnej analizy.Dobry, niedawny artykuł na temat porównania Java EE i .NET?

Tam, gdzie ciężko jest znaleźć dobre porównanie z inżynierami, którzy spędzili większą część dekady pracując z jednym, drugim lub jednym i drugim. Nieudokumentowane frustracje, których nie dostajesz od Sun, Microsoftu lub książki.

Wyszukiwarka Google oferuje wiele wyników, ale większość pochodzi z lat 2002-04. Dość powiedzieć, od tego czasu wiele się zmieniło. J2EE ma być znacznie uproszczony, a .NET powinien mieć znacznie więcej funkcji.

Czy ktoś jest świadomy bardziej aktualnych porównań (w ciągu ostatnich dwóch lat), które warto przeczytać?

+3

"... naprawdę zerwałeś na dwóch oczywistych ..." - ciekawy, jakie były twoje pozostałe kandydatury? Ilu zostało wyeliminowanych z ankiety? – duffymo

+0

Java jest całkowicie krzyżowy, twój program zawsze działa bez względu na to, czy jest to Windows, Linux, SunOS, iPhone czy toster. DotNET jest kopią Javy z większą ilością funkcji specyficznych dla systemu Windows, dzięki czemu jest znacznie szybszy, łatwiejszy w użyciu, instalowany i publikowany w świecie Windows. Nigdy nie używałbym Javy do uruchamiania w systemie Windows, ale może nie w twoim przypadku. – Havenard

+3

Java nie działa na iPhonie, więc nie jest to ściśle prawda. – duffymo

Odpowiedz

5

Odkąd mówisz "desktop" zanim powiedziałeś "web", mogę założyć, że strona desktopowa tej aplikacji jest ważniejsza. .Net ma zdecydowaną przewagę w tworzeniu aplikacji komputerowych, Java naprawdę nie ma tego jako zaletę.

Mimo, że ja po prostu iść z którykolwiek zespół dev ma większe doświadczenie w.

1

Java EE z pewnością zmieniło się wiele. Największe zmiany, o których warto pamiętać, to Spring i nowa specyfikacja EJB3.

Wiosna nie jest częścią standardu Java EE firmy Sun. To krystalizacja doświadczenia konsultingowego Rod'a Johnsona w ramy rozwoju POJO, które zyskały dużą siłę napędową. I, dla odesłania, istnieją wersje Spring zarówno dla Javy, jak i .NET. Podobnie jest z Hibernate, popularnym narzędziem ORM.

EJB3 ma bardzo dużo ze Spring i Hibernate. Możesz używać EJB3 z Glassfish lub JBOSS lub WebLogic.

Inną ideą, o której warto pamiętać, są usługi sieciowe. Są to rozproszone komponenty internetowe, które mogą współpracować z dowolnym klientem, środowiskiem Java EE lub .NET, komputerem stacjonarnym lub przeglądarką. Myślę, że ich głównymi zaletami są nacisk na wiadomości i ukrywanie szczegółów implementacji z tyłu. Jeśli piszesz usługi internetowe, twoi klienci nie muszą wiedzieć ani nie dbają o to, czy są napisane w Javie lub .NET.

Usługi sieciowe działają dobrze z bogatymi klientami internetowymi, takimi jak Flex i Silverlight. Mogą pomóc ci zachować otwarte opcje.

Niestety, nie mogę mówić z osobistych doświadczeń związanych z .NET.

-1

To jest prawdziwy „jabłka i pomarańcze” typu pytanie.

Ogólnie rzecz biorąc wolałbym programowanie w środowisku .Net.Gdybym zrobił to w Javie, prawdopodobnie byłbym zwolennikiem Eclipse SWT lub Netbeans RCP przez Java Swing.

Do programowania przy pomocy serwera można użyć dowolnego z nich. Nie jestem wielkim fanem Windows jako platformy serwerowej (przez Linuksa), a stos Java jest zasadniczo darmowy, co jest szczególnie przydatne pod względem kosztów początkowych (niezależnie od Bizspark).

Największą zaletą aplikacji serwerowych Java nie jest już tak naprawdę J2EE. Jest wiosna. Prawdopodobnie znajdziesz więcej aplikacji internetowych Java z Tomcat i Spring, niż w pełnych aplikacjach na stosach J2EE (zazwyczaj w tym EJB).

EJB3 poszedł POJO jak Wiosna jest.

Powiązane problemy