Trendy w technologii tworzenia stron internetowych 2019

Wprowadzenie

Transformacja cyfrowa z roku na rok obejmuje coraz więcej różnych dziedzin życia i biznesu. Jeśli firma chce być konkurencyjna, zwykłe serwisy informacyjne już nie wystarczą, potrzebne są aplikacje mobilne i webowe, które nie tylko dostarczają użytkownikom informacji, ale także pozwalają im wykonywać określone funkcje: odbierać lub zamawiać towary i usługi, dostarczać narzędzia.

Trendy w technologii tworzenia stron internetowych 2019

Przykładowo, współczesne banki już nie wystarczają, aby posiadać informacyjną stronę internetową, muszą mieć narzędzia on-line dla swoich klientów, konto osobiste, na którym użytkownik może zarządzać rachunkami, inwestycjami i pożyczkami. Nawet małe firmy potrzebują wygodnych narzędzi zwiększających konwersję, takich jak umówienie się na wizytę u lekarza czy fryzjera, czy rezerwacja stolika w restauracji czy pokoju zabaw dla dzieci na przyjęcie urodzinowe.

A sami właściciele muszą otrzymywać na czas informacje w wygodnej formie o stanie swojej firmy, na przykład o zbieraniu danych statystycznych i analizach dla różnych działów produkcyjnych czy produktywności działów. Często każdy dział zbiera te dane na swój sposób i może nawet korzystać z różnych narzędzi, a właściciel musi poświęcić dużo czasu, aby to wszystko zrozumieć, pośrednio lub bezpośrednio może to mieć wpływ na wydajność firmy i ostatecznie na zysk. Pomocna będzie także transformacja cyfrowa oraz tworzenie aplikacji internetowych lub mobilnych.

Technologie nie stoją w miejscu i stale się rozwijają, a to, co było stosowane kilka lat temu, dzisiaj może już nie być aktualne lub to, czego nie można było zrobić kilka lat temu, stało się już rzeczywistością. Istnieje więcej nowoczesnych narzędzi, które pozwalają szybciej i lepiej tworzyć aplikacje internetowe i mobilne. Bazując na osobistych obserwacjach i doświadczeniu, chcę podzielić się swoją wizją tego, na jakie technologie i narzędzia będzie zapotrzebowanie w najbliższej przyszłości oraz dlaczego warto na nie zwrócić uwagę tworząc nowoczesną aplikację webową.

Aplikacja jednostronicowa

Zdefiniujmy trochę terminologię. Aplikacja jednostronicowa (SPA) to aplikacja internetowa, której komponenty ładowane są raz na jedną stronę, a treść ładowana jest w miarę potrzeb. A podczas poruszania się pomiędzy sekcjami aplikacji strona nie ładuje się całkowicie, a jedynie ładuje i wyświetla niezbędne dane.

Aplikacje jednostronicowe znacznie przewyższają klasyczne aplikacje internetowe pod względem szybkości i łatwości użycia. Za pomocą SPA można uzyskać efekt strony internetowej działającej jak aplikacja na komputerze stacjonarnym, bez restartów i znacznych opóźnień.

O ile jeszcze kilka lat temu aplikacje jednostronicowe praktycznie nie wspierały optymalizacji pod kątem wyszukiwarek i służyły głównie do tworzenia kont osobistych oraz paneli administracyjnych, dziś stworzenie jednostronicowej aplikacji z pełnym wsparciem optymalizacji pod kątem wyszukiwarek (SEO) stało się znacznie łatwiejsze. Dzięki dzisiejszym aplikacjom jednostronicowym renderowanym na serwerze problem ten całkowicie zniknął. Innymi słowy, jest to ta sama aplikacja jednostronicowa, ale na pierwsze żądanie serwer generuje nie tylko dane, ale tworzy stronę HTML gotową do wyświetlenia, a wyszukiwarki otrzymują gotowe strony ze wszystkimi metainformacjami i znacznikami semantycznymi .

Wraz z rozwojem narzędzi do tworzenia aplikacji webowych po stronie klienta, rozwój i przejście na aplikacje jednostronicowe będzie w tym i kolejnych latach tylko rosły. Jeśli masz starą aplikację, która jest przestarzała i działa wolno, a nawet przy całkowitym przeładowywaniu strony przy przełączaniu się między sekcjami, to w tym roku możesz bezpiecznie przejść na szybką aplikację jednostronicową - teraz jest dobry moment, technologia już na to pozwala zrobić to dość szybko i sprawnie.

Posiadanie nowoczesnej i szybkiej strony internetowej jest bardzo dobre, ale powiem szczerze: nie wszystkie aplikacje da się łatwo przekonwertować na aplikacje jednostronicowe, a przejście może być kosztowne! Dlatego musisz zrozumieć, kto potrzebuje takiego przejścia i dlaczego.

Aby pomóc Ci zrozumieć, w poniższej tabeli podam kilka przykładów tego, kiedy rozwój lub przejście na SPA jest właściwe i uzasadnione, a kiedy nie.

ЗА

Jeśli chcesz stworzyć nowoczesną, szybką aplikację i chcesz korzystać nie tylko z wersji webowej, ale także mobilnej czy nawet desktopowej, a wszystkie procesy i obliczenia odbywają się na serwerze zdalnym lub w chmurze. Co więcej, aby wszyscy klienci mieli jeden interfejs interakcji i nie było konieczności dokonywania każdej edycji kodu serwera przy dodawaniu nowego klienta.

Na przykład: sieć społecznościowa, agregatory, platformy SaaS (oprogramowanie jako usługa w chmurze), rynki

Jeśli masz sklep lub serwis internetowy, wiesz, że działa wolno i ludzie odchodzą, chcesz, żeby był szybszy, rozumiesz wartość klientów i jesteś gotowy zapłacić ponad milion rubli za upgrade.

Masz aplikację mobilną korzystającą z interfejsu API witryny, ale witryna działa wolno i całkowicie przeładowuje treść podczas przechodzenia między stronami

РОТИВ

Jeśli Twoja grupa docelowa nie korzysta z nowoczesnych przeglądarek i urządzeń.

Na przykład: konkretne obszary korporacyjne, takie jak rozwój systemów wewnętrznych dla banków, instytucji medycznych i edukacji.

Główną działalność prowadzisz w trybie offline i nie jesteś gotowy na świadczenie jakichkolwiek usług online, a jedyne, co musisz zrobić, to przyciągnąć klientów.

Jeśli masz sklep internetowy lub serwis internetowy, który już dobrze się sprzedaje, nie zauważysz odpływu klientów i reklamacji

Jeśli masz działającą aplikację, której nie da się zaadaptować pod SPA i potrzebujesz po prostu napisać wszystko od nowa i skorzystać z innych technologii, a nie jesteś gotowy wydać na to kilku milionów.

Na przykład: istnieje witryna pudełkowa lub jakiś starożytny, monolityczny kod napisany samodzielnie.

Progresywne aplikacje internetowe

Progresywne aplikacje internetowe są efektem wspólnej ewolucji aplikacji natywnej i strony internetowej. Zasadniczo jest to aplikacja internetowa, która wygląda i zachowuje się jak prawdziwa aplikacja natywna, może odbierać powiadomienia push, pracować w trybie offline itp. W tym przypadku użytkownik nie musi pobierać aplikacji z AppStore czy Google Play, a jedynie zapisać ją na pulpicie.

Jako technologia czy podejście do rozwoju PWA rozwija się od 2015 roku, a w ostatnim czasie zyskało ogromną popularność w obszarze e-commerce.

Kilka przykładów z życia:

  • w ubiegłym roku hotel Best Western River North zwiększył przychody o 300% po uruchomieniu nowej strony internetowej obsługującej PWA;
  • Arabski Avito OpenSooq.com, po stworzeniu obsługi PWA na swojej stronie, był w stanie wydłużyć czas odwiedzin serwisu o 25% i liczbę leadów o 260%;
  • słynny serwis randkowy Tinder był w stanie zmniejszyć prędkość ładowania z 11.91 s do 4.69 s dzięki opracowaniu PWA, a ponadto aplikacja waży o 90% mniej niż jej natywny odpowiednik na Androida.

O tym, że warto zwrócić uwagę na tę technologię, świadczy także fakt, że jeden z największych silników do tworzenia projektów e-commerce, Magento, uruchomił w 2018 roku wczesną wersję rozwojową PWA Studio. Platforma umożliwia stworzenie frontendu opartego na React dla Twoich rozwiązań e-commerce ze wsparciem PWA.

Rada dla tych, którzy mają już projekt internetowy lub dopiero pomysł na nową usługę ze wsparciem dla urządzeń mobilnych: nie spiesz się z napisaniem pełnoprawnej aplikacji natywnej, ale najpierw przyjrzyj się technologii PWA. Może to być rozwiązanie o najlepszym stosunku jakości do ceny dla Twojego produktu.

Trochę z praktyki. Aby stworzyć prostą natywną aplikację mobilną z wiadomościami, pod warunkiem, że posiadasz już gotowy serwer REST, potrzebujesz około 200-300 roboczogodzin na platformę. Przy średniej cenie rynkowej za godzinę rozwoju wynoszącej 1500-2000 rubli/godzinę, aplikacja może kosztować około 1 miliona rubli. Jeśli stworzysz aplikację webową z pełnym wsparciem dla PWA: powiadomienia push, tryb offline i inne gadżety, to opracowanie zajmie 200-300 roboczogodzin, ale produkt będzie od razu dostępny na wszystkich platformach. Oznacza to około 2-krotną oszczędność, nie mówiąc już o tym, że nie będziesz musiał płacić opłat za umieszczenie w sklepach z aplikacjami.

Bezserwerowe

To kolejne nowoczesne podejście do rozwoju. Ze względu na nazwę wiele osób uważa, że ​​jest to programowanie prawdziwie bezserwerowe, nie ma potrzeby pisania kodu back-endowego, a każdy programista front-endowy jest w stanie stworzyć pełnoprawną aplikację webową. Ale to nieprawda!

Tworząc aplikację bezserwerową, nadal potrzebujesz serwera i bazy danych. Główna różnica w tym podejściu polega na tym, że kod back-endu jest prezentowany w postaci funkcji chmurowych (inna nazwa bezserwerowego to FaaS, funkcjonuje jako usługa lub Functions-as-a-Service) i pozwala na szybkie skalowanie aplikacji i łatwo. Tworząc taką aplikację, programista może skupić się na problemach biznesowych, nie myśląc o skalowaniu i konfigurowaniu infrastruktury, co w konsekwencji przyspiesza tworzenie aplikacji i obniża jej koszt. Co więcej, podejście Serverless pomoże Ci zaoszczędzić na wynajmie serwerów, ponieważ zużywa dokładnie tyle zasobów, ile potrzeba do wykonania zadania, a jeśli nie ma obciążenia, czas serwera w ogóle nie jest wykorzystywany i nie jest opłacany.

Na przykład dużej amerykańskiej firmie medialnej Bustle udało się obniżyć koszty hostingu o ponad 60% po przejściu na wersję bezserwerową. Natomiast firmie Coca-Cola, opracowując zautomatyzowany system sprzedaży napojów za pośrednictwem automatów sprzedających, udało się obniżyć koszty hostingu z 13000 4500 do XNUMX dolarów rocznie, przechodząc na wersję bezserwerową.

W ciągu ostatnich kilku lat, ze względu na swoją nowość i ograniczenia, Serverless był używany głównie w małych projektach, startupach i MVP, ale dziś, dzięki ewolucji oprogramowania, wszechstronności i mocy konteneryzacji serwerów, pojawiają się narzędzia, które pozwalają usunąć ograniczenia, uprościć i przyspieszyć rozwój aplikacji chmurowych.
Oznacza to, że scenariusze biznesowe przedsiębiorstw, w których modernizacja chmury wcześniej była uważana za niemożliwą (na przykład w przypadku urządzeń brzegowych, przesyłanych danych lub aplikacji stanowych), stały się teraz rzeczywistością. Dobrymi narzędziami, które dają wiele obietnic, są kNative i Serverless Enterprise.

Ale pomimo tego wszystkiego, Serverless nie jest srebrną kulą w tworzeniu aplikacji internetowych. Technologia, jak każda inna, ma swoje wady i zalety i trzeba to narzędzie wybierać ze zrozumieniem, a nie „wbijać gwoździe mikroskopem” tylko dlatego, że jest bardziej zaawansowane technologicznie.

Aby pomóc Ci to rozgryźć, oto kilka przykładów sytuacji, w których warto rozważyć opcję Serverless podczas tworzenia nowej lub ulepszania bieżącej usługi internetowej:

  • Gdy obciążenie serwera jest okresowe i płacisz za niewykorzystaną pojemność. Przykładowo mieliśmy klienta z siecią ekspresów do kawy i trzeba było przetwarzać zgłoszenia i zbierać statystyki tylko kilkaset, tysiące razy dziennie, a w nocy liczba zapytań spadała do kilkudziesięciu. W tym przypadku znacznie efektywniej jest płacić jedynie za faktyczne wykorzystanie zasobów, dlatego zaproponowaliśmy i wdrożyliśmy rozwiązanie na platformie Serverless;
  • Jeśli nie planujesz zagłębiać się w szczegóły techniczne infrastruktury i przepłacać za konfigurację i utrzymanie serwerów oraz balansera. Przykładowo, tworząc marketplace, nie wiesz dokładnie, jaki będzie ruch, lub odwrotnie – planujesz duży ruch i aby Twoja aplikacja z pewnością wytrzymała obciążenie, to Serverless będzie doskonałym wyborem.
  • Jeśli potrzebujesz wykonać jakieś zdarzenia strumieniowe w aplikacji głównej, zapisz dane poboczne w tabelach, wykonaj pewne obliczenia. Przykładowo zbierać dane analityczne o działaniach użytkowników, przetwarzać je w określony sposób i zapisywać w bazie danych;
  • Jeśli potrzebujesz uprościć, ujednolicić lub przyspieszyć bieżące działanie aplikacji. Na przykład utwórz usługi poprawiające wydajność pracy ze zdjęciami lub filmami, gdy użytkownik przesyła wideo do chmury, a osobna funkcja obsługuje transkodowanie, podczas gdy główny serwer nadal działa normalnie.

Jeśli chcesz przetwarzać zdarzenia z usług stron trzecich. Na przykład przetwarzaj odpowiedzi z systemów płatności lub przekieruj dane użytkowników do CRM, aby przyspieszyć przetwarzanie zapytań od potencjalnych klientów
Jeśli masz dużą aplikację i niektóre jej części można zaimplementować bardziej optymalnie przy użyciu języka innego niż główny. Przykładowo masz projekt w Javie i potrzebujesz dodać nową funkcjonalność, ale nie masz wolnych rąk, lub wdrożenie w danym języku może potrwać dłużej i jest już rozwiązanie w innym języku, wtedy Serverless może pomóc z tym też.

To nie cała lista narzędzi i technologii, które zasługują na uwagę, po prostu podzieliłem się tym, czego sami używamy na co dzień w naszej pracy i dokładnie wiemy, jak mogą pomóc biznesowi.

Źródło: www.habr.com

Dodaj komentarz