SpringBoota - w czym front polecacie?

0

Hej

Ruszam domowy projekt (do wyszukiwania partnerow do terningu) tworzony w SpringBoocie.
Zastanawiam sie jaki bibliotekę wykorzystać przy tworzeniu frontonowej części aplikacji.
Nie chce wchodzi w JS, angulara, itp... bardziej wygodnym dla mnie narzędziem sa jsf, reachface.
Macie jakieś przemyślenia jakiego rodzaju narzędzia można wykorzystać?
Mozecie polecić coś łatwego w integracji? Jakies osobiste doswidczenia, przemyślenia?

0

Ile to ma mieć stronek i przycisków?

Jak przysięgniesz, że:

To wtedy możesz użyć JSF i np, PrimeFaces :-)

W innym przypadku idź w Angulara.

Jest jeszcze Vaadin ze spring bootem - nie polecam, ale chyba nie może być nic gorszego od JSF.

0

Akurat JSF i Primefaces ogarniam calkiem niezle. Ale patrzac jak ciezko jest zintegrowac springboota z primefaces to zaczynam sie zastanawiac czy czegos nie zrobilam zle i czy rzeczywiscie to nadaje sie do wspolpracy :P
Projekt duzy nie bedzie ogolnie chce go zrobic na szybkosci.
A boje sie wchodzic w Angulara i JS - glownie dlatego ze kazda przegladarka interpretuje to jak chce a dodatkowo niesie to za soba duzy naklad czasowy. W primefaces wszystko mam gotowe :)

1

Skoro juz wiesz w czym chcesz pisać - to nie ma sensu pytać.
Btw. z tymi przeglądarkami to muszę trochę skorygować - jest rok 2017. A to co piszesz to było w 2005 - trochę się zmieniło.

przy okazji, jak zawsze, przypominam co pisze grupa dbająca o modę:
https://www.thoughtworks.com/radar/languages-and-frameworks/jsf

1

Kiedyś integrowałem Spring Boot i PrimeFaces i mogę się podzielić:
https://bitbucket.org/margor/simple-jsf-primefaces-starter-for-spring-boot

Ogólnie jest to quick and dirty, ale działa. @ViewScoped przeniesiony z JSF Manged Beans. Tu w produkcyjnych rozwiązaniach trzeba uważać na leaki, a ja nie testowałem tego aż tak dokładnie (w szczególności ViewScoped, ale w sieci są dobre implementacje: czy ta jest dobra nie wiem, może jest może cieknie). Było to robione jakiś czas temu więc na pewno można podnieść Sping Boot, PrimeFaces itp. Ale jak chcesz szybą aplikację w JSF to powinno dać radę: ale nie testowałem tego zbyt dokładnie.

Ogólnie aby uruchomić w przeglądarce:
http://localhost:9090/index.jsf

0

Angular 2 lub React
To pierwsze jest mocno 'javowe' i na Typescript.

JS i tak Cie dopadnie predzej czy pozniej.

0
marta1995 napisał(a):

Projekt duzy nie bedzie ogolnie chce go zrobic na szybkosci.

Jak na szybkości to nie Angular :] React jest dosyć prosty, pisze się w nim bardzo przyjemnie, masz spore wsparcie społeczności, więc łatwo będzie znaleźć rozwiązania problemów na jakie sie natkniesz. Do zarządzania stanem albo popularny Redux, albo np. MobX.

marta1995 napisał(a):

A boje sie wchodzic w Angulara i JS - glownie dlatego ze kazda przegladarka interpretuje to jak chce a dodatkowo niesie to za soba duzy naklad czasowy.

Problemy pojawiają się głównie przy wsparciu starszych wersji przeglądarek i wymyślnym projekcie graficznym, gdzie jest sporo dłubaniny w stylach. Ani jedno, ani drugie nie stanowi problemu w domowym projekcie. Jak coś nie zadziała na IE to trudno, korzystając z Babela (do "tłumaczenia" składni ES2015+ na kod zrozumiały dla większości przeglądarek) ciężko będzie Ci napisać coś co nie działa na nowoczesnej przeglądarce "bo tak". UI zależy od Ciebie, więc odpada rzeźbienie w stylach. Jak użyjesz jakiegoś frameworka (np. najpopularniejszego Bootstrapa) i odpowiada Ci domyślna skórka to w ogóle nawet nie tkniesz się CSSów.

0

Przemyśl to dobrze.
Vaadin jako jedyny framework trzyma całą sesję klienta po stronie serwera. Warto o tym pamiętać gdyż wymaga to sporych zasobów pamięci ram. (Bardzo duże projekty średnio 200-300mb per user Pomniejsze około 50mb). Przy vaadinie nie masz żadnego problemu z tzw 'magią'. Możesz za pomocą 5 linijek przejąć całą sesję innego usera i wyświetlić ją sobie w przeglądarce. Każda zmiana jest automatycznie pushowana do klienta (brak zapytań http. Wszystko idzie po socketach). Sockety webowe masz zaimplementowane na strzała i nawet nie musisz wiedzieć jak działają(vaadin używa ich domyślnie). Każda zmiana w kodzie jest automatycznie wyświetlany u klienta. Nie musisz się martwić DOM-em bo vaadin sam dba o zasięgi iwidoczność po stronie klienta. Z plusów to to że framework nie wymaga wiedzy na temat js, css do podstawowego działania. Podstawowe komponenty wspierają wszystkie przeglądarki. Posiada full dodatków i zasobów które wychodzą każdego dnia. Wiedza z awt może się przydać bo koncepcja działania vaadina jest podobna. Uruchom podstawowy projekt/demo i sama zobaczysz że nie jest to trudne. Z największych plusów to tworzenie widoku za pomocą javy ;]

JSF-y są dla mnie uciążliwe. Kod większych aplikacji wygląda jakby przeżył jesień średniowiecza. Robi się bajzel i można się pogubić. Dodatkowo trzeba pisać cały wygląd ręcznie co nie jest przyjemne bo zazwyczaj po jakimś czasie włącza się 'szał kopiowania' i jest problem. Dodatkowo beany łączone z widokami które też nie są przyjemne i wymagają pisania ton linijek kodów.

Czy angular jest bardziej dla javowców? Chyba nie do końca. Sam wygląd kodu i typizacja za pomocą TypeScripta nie robi z angulara brata javy. Zresztą angular działa po stronie klienta i ciężko pisać w nim logikę biznesową ;] CIężko go załapać na strzała to fakt. Może spowodować ból głowy ale polecam dla wielbiceli frontendu. Pięknie rozwiązane zasięgi stylów. Prostota bindowania. Zachowanie formatowania i spójności kodu. Brak dużych zasobów zewnętrznych komponentów co uważam za minus bo ciężko przyśpieszyć w tym pracę.

Do małego projektu o zasięgu lokalknym w którym nie przewidujesz większej ilości userów niż 100 w jendym czasie to polecam vaadina. Można w nim walnąć w pełni funkconalną stronę z bajerami w naprawdę krótkim czasie. Dla projektów ogarniających większą ilość userów i udostępniających głównie informacje to jsf lub angular.

PS: SpringBoot to ochyda(w mojej opinii). Radzę postawić surowy projekt springowy z obsługą WebModule i odpalić na normalnym serwerze.

0

Ja ostatnio tak się irytuję na JS,a chciałbym sobie zrobić REST API w Springu. I jak żyć. Czym to mogę przetestować :D
Może zrobić front w Androidzie?

1

Przetestować REST API ?

  • ad hoc: curlem
  • w CI - HttpClientem

1 użytkowników online, w tym zalogowanych: 0, gości: 1