• 12/01/2020
  • 6 minut do przeczytania
    • a
    • s
    • y
    • g
    • p
    • +1

„prawo Atwooda: każda aplikacja, która może być napisana w JavaScript, zostanie ostatecznie napisana w JavaScript.,”
– Jeff Atwood

obecnie istnieją dwa ogólne podejścia do tworzenia aplikacji internetowych: tradycyjne aplikacje internetowe, które wykonują większość logiki aplikacji na serwerze, oraz aplikacje jednostronicowe (spa), które wykonują większość logiki interfejsu użytkownika w przeglądarce internetowej, komunikując się z serwerem internetowym głównie za pomocą interfejsów API. Możliwe jest również podejście hybrydowe, najprostszym jest hostowanie jednej lub więcej bogatych subaplikacji podobnych do SPA w większej tradycyjnej aplikacji internetowej.,

używaj tradycyjnych aplikacji internetowych, gdy:

  • wymagania aplikacji po stronie klienta są proste lub nawet tylko do odczytu.

  • Twoja aplikacja musi działać w przeglądarkach bez obsługi JavaScript.

  • Twój zespół nie jest zaznajomiony z technikami programowania JavaScript lub TypeScript.

użyj SPA, gdy:

  • Twoja aplikacja musi udostępniać bogaty interfejs użytkownika z wieloma funkcjami.

  • Twój zespół zna JavaScript, TypeScript lub blazor WebAssembly development.,

  • Twoja aplikacja musi już udostępniać API dla innych (wewnętrznych lub publicznych) klientów.

dodatkowo ramy SPA wymagają większej wiedzy architektonicznej i bezpieczeństwa. Doświadczają one większego odpływu z powodu częstych aktualizacji i nowych frameworków niż tradycyjne aplikacje internetowe. Konfigurowanie zautomatyzowanych procesów budowania i wdrażania oraz korzystanie z opcji wdrażania, takich jak kontenery, może być trudniejsze w przypadku aplikacji SPA niż tradycyjnych aplikacji internetowych.

poprawa doświadczenia użytkownika możliwa dzięki podejściu SPA musi być rozpatrywana w świetle tych rozważań.,

Blazor

ASP.NET Core zawiera model do tworzenia bogatych, interaktywnych i składowych interfejsów użytkownika o nazwie Blazor. Blazor server-side pozwala programistom na tworzenie interfejsu Użytkownika za pomocą C# i Razor na serwerze oraz na interaktywne połączenie z przeglądarką w czasie rzeczywistym za pomocą trwałego połączenia SignalR. Blazor WebAssembly wprowadza kolejną opcję dla aplikacji Blazor, pozwalającą na uruchamianie ich w przeglądarce przy użyciu WebAssembly. Ponieważ jest to prawdziwe. NET działające na WebAssembly, możesz ponownie użyć kodu i bibliotek z części aplikacji po stronie serwera.,

Blazor zapewnia nową, trzecią opcję do rozważenia przy ocenie, czy zbudować aplikację internetową renderowaną wyłącznie na serwerze, czy SPA. Możesz tworzyć bogate, podobne do SPA zachowania po stronie klienta przy użyciu Blazor, bez potrzeby znacznego rozwoju JavaScript. Aplikacje Blazor mogą wywoływać interfejsy API w celu żądania danych lub wykonywania operacji po stronie serwera. Mogą współpracować z JavaScript, jeśli jest to konieczne, aby skorzystać z bibliotek i frameworków JavaScript.,

rozważ zbudowanie aplikacji webowej za pomocą Blazor, gdy:

  • Twoja aplikacja musi udostępniać bogaty interfejs użytkownika

  • Twój zespół jest bardziej komfortowy w rozwoju.NET niż JavaScript lub TypeScript

Jeśli masz już aplikację web forms, którą rozważasz migrację do. Net Core lub najnowszego. NET, możesz zapoznać się z bezpłatnym e-bookiem Blazor dla programistów formularzy internetowych, aby sprawdzić, czy warto rozważyć przeniesienie go do blazor.

aby uzyskać więcej informacji na temat Blazor, Zobacz pierwsze kroki z Blazor.,

kiedy wybrać tradycyjne aplikacje internetowe

poniższa sekcja zawiera bardziej szczegółowe wyjaśnienie podanych wcześniej powodów wyboru tradycyjnych aplikacji internetowych.

Twoja aplikacja ma proste, prawdopodobnie tylko do odczytu, wymagania Po stronie klienta

wiele aplikacji internetowych jest głównie wykorzystywanych w trybie tylko do odczytu przez zdecydowaną większość użytkowników. Aplikacje tylko do odczytu (lub głównie do odczytu) wydają się być znacznie prostsze niż te aplikacje, które utrzymują i manipulują dużą ilością stanu., Na przykład wyszukiwarka może składać się z pojedynczego punktu wejścia z polem tekstowym i drugiej strony do wyświetlania wyników wyszukiwania. Anonimowi użytkownicy mogą łatwo składać wnioski i nie ma potrzeby logiki po stronie klienta. Podobnie, publiczna aplikacja blogu lub systemu zarządzania treścią zwykle składa się głównie z treści o niewielkim zachowaniu po stronie klienta. Takie aplikacje są łatwo budowane jako tradycyjne aplikacje internetowe oparte na serwerze, które wykonują logikę na serwerze WWW i renderują HTML do wyświetlenia w przeglądarce., Fakt, że każda unikalna strona witryny ma swój własny adres URL, który może być oznaczany i indeksowany przez wyszukiwarki (domyślnie, bez konieczności dodawania tej funkcjonalności jako oddzielnej funkcji aplikacji) jest również wyraźną korzyścią w takich scenariuszach.

Twoja aplikacja musi działać w przeglądarkach bez obsługi JavaScript

aplikacje internetowe, które muszą działać w przeglądarkach z ograniczoną lub zerową obsługą JavaScript, powinny być pisane przy użyciu tradycyjnych przepływów pracy aplikacji internetowych (lub przynajmniej być w stanie powrócić do takiego zachowania)., Spa wymagają JavaScript po stronie klienta, aby funkcjonować; jeśli nie jest dostępny, Spa nie są dobrym wyborem.

Twój zespół jest zaznajomiony z JavaScript lub technikami tworzenia maszynopisu

Jeśli twój zespół nie zna JavaScript lub maszynopisu, ale jest zaznajomiony z tworzeniem aplikacji internetowych po stronie serwera, prawdopodobnie będzie w stanie dostarczyć tradycyjną aplikację internetową szybciej niż SPA., O ile nauka programowania Spa nie jest celem lub wymagane jest doświadczenie użytkownika zapewniane przez SPA, tradycyjne aplikacje internetowe są bardziej produktywnym wyborem dla zespołów, które są już zaznajomione z ich tworzeniem.

kiedy wybrać Spa

poniższa sekcja jest bardziej szczegółowe wyjaśnienie, kiedy wybrać jedną stronę aplikacji styl rozwoju aplikacji sieci Web.,

Twoja aplikacja musi udostępniać bogaty interfejs użytkownika z wieloma funkcjami

Spa może obsługiwać bogate funkcje po stronie klienta, które nie wymagają przeładowywania strony, gdy użytkownicy podejmują działania lub poruszają się między obszarami aplikacji. Spa mogą ładować się SZYBCIEJ, pobierając dane w tle, a poszczególne działania użytkownika są bardziej responsywne, ponieważ przeładowania całych stron są rzadkie. Uzdrowiska mogą obsługiwać aktualizacje przyrostowe, zapisując częściowo wypełnione formularze lub dokumenty bez konieczności klikania przycisku, aby przesłać formularz., Spa mogą obsługiwać bogate zachowania po stronie klienta, takie jak przeciąganie i upuszczanie, znacznie łatwiej niż tradycyjne aplikacje. Uzdrowiska mogą być zaprojektowane do pracy w trybie odłączonym, co aktualizacje do modelu po stronie klienta, które są ostatecznie zsynchronizowane z powrotem do serwera po ponownym nawiązaniu połączenia. Wybierz aplikację w stylu SPA, jeśli wymagania aplikacji obejmują bogatą funkcjonalność, która wykracza poza typowe formularze HTML.,

często uzdrowiska muszą zaimplementować funkcje wbudowane w tradycyjne aplikacje internetowe, takie jak wyświetlanie znaczącego adresu URL na pasku adresu odzwierciedlającego bieżącą operację (i umożliwienie użytkownikom powrotu do zakładki lub głębokiego linku do tego adresu URL). Spa powinny również umożliwić użytkownikom korzystanie z przycisków Wstecz i do przodu przeglądarki z wynikami, które ich nie zaskoczą.

Twój zespół jest zaznajomiony z JavaScript i/lub TypeScript rozwoju

pisanie Spa wymaga znajomości JavaScript i / lub TypeScript i technik programowania po stronie klienta i bibliotek., Twój zespół powinien być kompetentny w pisaniu nowoczesnego JavaScript przy użyciu frameworka SPA takiego jak Angular.

Twoja aplikacja musi już udostępniać API dla innych (wewnętrznych lub publicznych) klientów

Jeśli już obsługujesz web API do użytku przez innych klientów, może to wymagać mniej wysiłku, aby utworzyć implementację SPA, która wykorzystuje te API, a nie odtwarzanie logiki w formie serwera. Spa szeroko wykorzystują interfejsy API sieci Web do zapytań i aktualizacji danych podczas interakcji użytkowników z aplikacją.,

kiedy wybrać Blazor

poniższa sekcja zawiera bardziej szczegółowe wyjaśnienie, kiedy wybrać Blazor dla swojej aplikacji internetowej.

Twoja aplikacja musi udostępniać bogaty interfejs użytkownika

podobnie jak SPAs oparte na JavaScript, aplikacje Blazor mogą obsługiwać bogate zachowanie klienta bez przeładowywania strony. Aplikacje te są bardziej responsywne dla użytkowników, pobierając tylko dane (lub HTML) wymagane do odpowiedzi na daną interakcję użytkownika. Odpowiednio zaprojektowane aplikacje Blazor po stronie serwera można skonfigurować tak, aby działały jako aplikacje Blazor po stronie klienta z minimalnymi zmianami, gdy ta funkcja jest obsługiwana.,

Twój zespół jest bardziej komfortowy w rozwoju.NET niż JavaScript lub TypeScript

wielu programistów jest bardziej produktywnych z. NET i Razor niż z językami po stronie klienta, takimi jak JavaScript lub TypeScript. Ponieważ aplikacja po stronie serwera jest już rozwijana z. NET, korzystanie z Blazor zapewnia, że każdy programista. NET w zespole może zrozumieć i potencjalnie zbudować zachowanie front-end aplikacji.,

tabela decyzji

poniższa tabela decyzji podsumowuje niektóre z podstawowych czynników, które należy wziąć pod uwagę przy wyborze pomiędzy tradycyjną aplikacją internetową, SPA lub aplikacją Blazor.,

wymagany zespół znajomość JavaScript/TypeScript minimalny Obsługa przeglądarek bez skryptów obsługiwane nie obsługiwane obsługiwane Minimalne zachowanie aplikacji po stronie klienta dobrze dopasowane Overkill realne bogate, złożone wymagania interfejsu użytkownika ograniczone dobrze dopasowane dobrze dopasowane

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *