Witam, Do tej pory pisałem dość proste aplikacje webowe, które w większości zwracały po prostu widok z jakimś modelem. Nie używałem żadnego frontendowego frameworka, jedynie html, css i prosty js. Nie pisałem żadnych kontrolerów api, jedynie zwykłe, których metoda akcji kończyła się najczęściej "return View(model)". Jak wygląda taka profesjonalna praca w ASP.NET? Widoków już się nie zwraca tylko pisze restowe api, i pobiera się lub wysyła dane do serwera przez to api?
Jak wygląda np. komunikacja SPA napisane w angularze z serwerem ASP.NET?
Nie mam doświadczenia w pisaniu aplikacji webowych, jedynie z książek i internetu(taka amatorka), a chciałbym wiedzieć jak praktycznie to wygląda.
Zamiast return View(model)
masz najczęściej zwrócenie jsona (model) z jakimś kodem HTTP np. return success ? Ok(products) : BadRequest(error)
itd.
Frontned czyli np. ten twój Angular przy wejściu na np. /products
odpytuje twoje API np. /api/products?page=0
i w zwrotce dostaje np. jsona z listą 50 produktów, które już sam musi jakoś wyrenderować np. w najprostszej wersji taki render wyglądałby +- tak (pseudo code)
foreach (product in products)
{
<b>product.Name</b>
<b>product.Price<b/>
foreach (image in product.Gallery)
{
<img src="/images/image.Id" />
}
}
Generalnie przejście z widoków na API jest dość proste (żeby działało) z perspektywy backendu, ale dochodzi jeszcze poznanie np. frameworka w js, aby zacząć pisać ten front oraz jakichś narzędzi typu postman/wireshark oraz jest wiele "dobrych praktyk" do nauczenia się
zwracanie odpowiednich kodów http, jakieś restfule, wersjonowanie api linol.pl/api/v2/yadayada
i wiele więcej, ale generalnie działać można od razu.
Widoków już się nie zwraca tylko pisze restowe api, i pobiera się lub wysyła dane do serwera przez to api
Generalnie wydaje mi się, że przy zwracaniu widoków łatwiej jest zrobić sobie krzywdę i coś "zbyt mocno związać" z widokiem i trudniej się dzieli pracę niż w przypadku gdy frontem jest klient jsowy lub coś innego.
dziękuję bardzo za odpowiedź :)
Generalnie przejście z widoków na API jest dość proste (żeby działało) z perspektywy backendu, ale dochodzi jeszcze poznanie np. frameworka w js, aby zacząć pisać ten front oraz jakichś narzędzi typu postman/wireshark oraz jest wiele "dobrych praktyk" do nauczenia się, zwracanie odpowiednich kodów http, jakieś restfule, wersjonowanie api linol.pl/api/v2/yadayada i wiele więcej, ale generalnie działać można od razu.
A mógłbyś może podesłać jakieś materiały, książki które przybliżają te zagadnienia o których piszesz(dobre praktyki, ogólnie zagadnienia związane z API)?
linol2 napisał(a):
Jak wygląda taka profesjonalna praca w ASP.NET?
Profesjonalnie, to robi się tylko backend, bo frontend to nie programowanie.
Jeśli pytasz o dobre praktyki, to z grubsza są takie same jak przy tworzeniu dowolnego oprogramowania. Jeśli chodzi o samo tworzenie API jako zbioru adresów url, to też jest pełno linków na temat tego jak REST API powinno wyglądać. Ale tutaj trzeba uważać, bo w tym całym temacie istnieje sporo fanatyzmu, w rodzaju "bez HATEOAS" to nie API, itp.