2015-02-24 19 views
5

Mam dużą aplikację, która używa Java na backend i rozporkach, bibliotekę znaczników Jsp i JSTL na interfejsie. Baza danych to DB2, a my w dużej mierze polegamy na procedurach przechowywanych.Aplikacja WWW Java Przód Koniec

Planujemy uaktualnić aplikację do nowej architektury/architektury.

Główną ramą, którą rozważamy, jest Spring, chociaż nasi potencjalni klienci próbują namówić nas do przyjęcia Java EE zamiast twierdzić, że jest to lepsze ramy.

Wszelkie zalecenia, co do wyboru wiosny lub Java EE? Jakiekolwiek główne powody, by preferować jeden z drugim (przewaga/wada)?

Dla każdej z nich, jaka jest najlepsza alternatywa dla taglib JSP? Używamy do ręcznego zapisywania wszystkich znaczników html, aby wyświetlać dynamiczne dane za pomocą JSTL. Czytam o nowych strukturach, takich jak komponenty Angular i JSF. Nie jestem też pewien, co jest obecnie powszechnie stosowane. Czytałem, że coraz więcej programistów przekazuje dane z usług REST jako JSON do front-end. Czego używają do renderowania danych, czy to JSF, Angular?

Robię programowanie .NET, aw ASP.NET mamy powiązanie danych i komponenty takie jak ListView itp. Czy JSF i Angular są takie same?

Dowolna strona internetowa z dobrymi przykładami, dokumentacją (zwłaszcza architekturą), którą polecasz?

+0

Gdzie zatem można prosić deweloperów o rekomendacje dotyczące konkretnych technologii? Aktualizuję przestarzałą aplikację i potrzebuję porady. Chyba muszę znaleźć inną stronę techniczną online. – daoud175

Odpowiedz

7

Java EE i Spring są bardzo dobrymi i bardzo kompleksowymi frameworkami do pisania backendów. Oboje powinni być w stanie zrobić dokładnie to, co chcesz. Polecam korzystanie z tego, co zna twój zespół, ale nie będę miał żadnych szczegółów, ponieważ będziesz mógł z łatwością stworzyć aplikację wysokiej jakości z jednym z nich.

Jeśli chodzi o front-end, osobiście osiągnąłem najlepsze wyniki dzięki tworzeniu RESTful API i używaniu go do wysyłania danych do frontowej struktury Javascript. Angular jest w tym naprawdę dobry. Jednym z powodów jest to, że ramy Javascript mają tendencję do dostarczania dużej mocy, jeśli chodzi o pisanie dobrych stron WWW. JSF to oparte na serwerze, oparte na komponentach środowisko MVC, które ogólnie daje mniejszą kontrolę nad tworzonym językiem HTML + JavaScript i sprawia, że ​​testowanie testów jest o wiele trudniejsze.

Odkryłem również, że w dużych sklepach nie zawsze można ufać ludziom, że robią to od razu. Rozdzielenie obaw jest ważne i lubię używać JavaScriptu, takiego jak Angular, do front-endu, ponieważ pozwala on na utrzymanie kodu front-end z back-endu. Aplikacje JSF, które mamy w moim miejscu pracy, są raczej okropne, ponieważ programiści nadużywają takich rzeczy jak sesje. Kod JSF również był w tym samym wdrożeniu, co backend. Zamiast korzystać z usług sieciowych i podejścia zorientowanego na usługi i utrzymywać wszystko luźno powiązane, skończyło się na gigantycznych "blokach" kodu, które "robią wszystko".

+0

Dziękuję bardzo za opinie – daoud175

1

Wiele zależy od twojego zespołu, z którym czują się komfortowo. Zarówno Spring, jak i Java EE mogą zrobić dla ciebie wszystko, ale osobiście zaproponuję moduły jdbc + spring mvc dla backendu. Funkcja wstrzykiwania wiosennego jest bardzo pomocna w przypadku aplikacji internetowych. Również moduł sprężyny jdbc tworzy środowisko i tworzy sessionFactory dla wywołań jdbc.

Stwórz spoczynkowe api w swoim kontrolerze, które ułatwi Ci życie. Spring oferuje również wiele szablonów, które działają jako klasy bazowe, dzięki czemu korzystanie ze standardowych technologii Java EE staje się łatwe. Na przykład JdbcTemplate działa dobrze z JDBC, JpaTemplate robi dobre rzeczy z JPA, JmsTemplate sprawia, że ​​JMS jest bardzo prosty.

Również punktu widzenia maintence wiosną jest najlepszy, ponieważ jest to popularny i głównie deweloperzy familier ze sprężyną.

Dla kątów przednich końców jest znakomity, ponieważ AngularJS ma wbudowany podsystem wprowadzania zależności, który pomaga programistom, ułatwiając opracowanie, zrozumienie i testowanie aplikacji.

Wiązanie danych jest prawdopodobnie najfajniejszą i najbardziej przydatną funkcją AngularJS. Pozwoli to zaoszczędzić na pisaniu znacznej ilości kodu standardowego.

+0

Dziękuję bardzo za opinie – daoud175

+0

> 'JpaTemplate robi dobre rzeczy z WZP" - To jest trochę dyskusyjne i był tematem kontrowersyjnym. W rzeczywistości było to przyczyną pewnych napięć między Hibernate (Gavin King) i wiosennymi zespołami - JPA było nowym i czystym API i wątpliwe jest, czy potrzebuje Springa, aby go zawinąć lub ulepszyć. –

+0

> 'JmsTemplate czyni JMS całkiem prostym" - Zwróć uwagę, że w Java EE 7 API JMS został radykalnie uproszczony. Prawdopodobnie JmsTemplate nie ma już sensu dla JMS 2.0. –