Cześć, jakby mógł ktoś doradzić.
Mam do zrobienia webowa apke którą będzie wykorzystywala api java spring z kontami użytkowników itd pisane przez drugą osobę z grupy projektowej. Opcje które rozważam na razie to node js + vue, albo Laravel w którym mam już jakieś doświadczenie, ale z laravelem jest ten problem, że bardzo mało jest materiałów o łączeniu laravela z external api. Lepszym wyborem jest node i vue, czy jest coś lepszego?
Czemu mało materiałów? Od pobierania danych z zewnętrz czyli np od komunikacji z zewnętrznym api masz guzzle. Natomiast powiem ci, że robisz okropny błąd, że robisz inżynierkę w grupie projektowej a nie samodzielnie.
api java spring
To znaczy REST co nie?
REST jest obsługiwane w każdym, nawet najbardziej zacofanym języku. Więc możesz brać co Ci się podoba. NodeJS z RESTem jest jak ryba z wodą, JSON będzie typem natywnym. Pozostaje więc kwestia gustu, ewentualnej przydatności techu na rynku a tu wydaje mi się PHP > NodeJS.
Natomiast to co mnie zastanawia, to dlaczego kolega pisze w Javie a ty w PHP. To potem będzie rodzić problemy z uruchomieniem tej aplikacji (obowiązkowo powsadzał bym w Dockery + docker-compose bo inaczej to nikt tego nie odpali w normalny sposób). Także zabrzmi to dziwnie ale proponuje całość pisać w Javie.
Zalety tagiego podejścia:
- Jeden system buildu, jeden build zbuduje całą apkę
- Wspólny język = można przeglądać na wzajem swój kod, robić code review
- Pomimo tego ze REST to standard to jednak pisanie w tym samym tech stacku ułatwi takie duperele jak przesyłanie daty
I na koniec Java >> PHP jeśli chodzi o rynek pracy w dłuższej perspektywie.
Na froncie to inna sprawa, jeżeli cały backend to REST to Vue/React/Angular będą działać. React to kupa roboty no chyba że weźniesz jakiś opinionated stack. Angular - wszystko działa out-of-the box. Vue nie używałem (a i przez długi czas wymawiałem wuuueee) więc się nie wypowiem.
Zrób w tym, co umiesz i idź dalej. I tak wszyscy mają w d**pie te całe inżynierski i magisterki. Szkoda życia na ambitne projekty, Chyba że rozważasz pracę naukową.