Narzędzie Wiz i jego zastosowanie
Google opracowało wewnętrzne narzędzie o nazwie Wiz, które jest wykorzystywane do tworzenia aplikacji o wysokiej wydajności, takich jak Google Search, Google Photos, Google Payments i YouTube. W związku z ogromnym ruchem na tych stronach, wiele użytkowników nie ma dostępu do szybkiego internetu, dlatego Wiz koncentruje się na maksymalnej optymalizacji aplikacji przy minimalnej interaktywności. Podstawą Wiz jest renderowanie po stronie serwera (SSR) – wszystkie komponenty aplikacji są renderowane na zoptymalizowanej platformie strumieniowej, a JavaScript potrzebny do interakcji ładowany jest tylko wtedy, gdy komponent jest widoczny dla użytkownika.
Angular i jego zalety
Z drugiej strony mamy Angular, który skupia się na wysokiej interaktywności i doświadczeniu programistycznym. Z każdą nową wersją, Angular wprowadza nowe funkcje optymalizujące końcową aplikację, takie jak sterowanie przepływem za pomocą bloku defer – co jest możliwe dzięki współpracy z zespołem Wiz.
Współpraca Wiz i Angular
W ramach współpracy oba frameworki będą czerpać nawzajem ze swoich funkcji, z długoterminowym celem połączenia obu rozwiązań. Wiz przechodzi na model open-source, co umożliwi pracę nad nim poprzez feedback i wkład społeczności.
Segmenty aplikacji Angular i Wiz
Angular i Wiz obsługują różne segmenty aplikacji:
Wiz: Skupia się na aplikacjach krytycznych pod względem wydajności, jak Google Search, który ma na celu jak najszybsze renderowanie wyników i ma stosunkowo niską interaktywność.
Angular: Skupia się na aplikacjach o wysokiej interaktywności, priorytetyzując doświadczenie programistyczne i szybkie dostarczanie złożonych interfejsów użytkownika, jak Google Analytics.
Optymalizacja dla wolnych sieci
Miliony użytkowników korzystają z dużych aplikacji Google na wolnych sieciach i/lub urządzeniach o niskiej wydajności. W takich przypadkach, kluczowe znaczenie ma opóźnienie początkowego ładowania i ilość JavaScriptu. Framework Wiz spełnia te wymagania poprzez renderowanie po stronie serwera, gdzie wszystko na stronie, w tym interaktywne komponenty, jest renderowane na zoptymalizowanej platformie strumieniowej. Wiz ładuje tylko kod wymagany przez faktycznie renderowane na stronie interaktywne komponenty, co eliminuje większość JavaScriptu z krytycznej ścieżki renderowania.
Wzajemne przenikanie się segmentów
Obserwujemy coraz większe przenikanie się tych dwóch segmentów. Aplikacje o wysokiej wydajności muszą dostarczać więcej funkcji szybciej, aby zapewnić wartość użytkownikom i utrzymać ich zaangażowanie. Jednocześnie aplikacje o wysokiej interaktywności zaczynają korzystać z coraz większej ilości JavaScriptu, co znacząco wpływa na wydajność.
Odpowiedź na rosnące zapotrzebowanie
Aby odpowiedzieć na rosnące zapotrzebowanie na wysoko wydajny framework z doskonałym doświadczeniem programistycznym, Angular i Wiz łączą siły, aby przynieść najlepsze cechy obu światów. Programiści Angular nie będą musieli wybierać między doświadczeniem programistycznym a wydajnością.
Strategia na przyszłość
Długoterminowym celem jest stopniowe i odpowiedzialne łączenie Angular i Wiz w nadchodzących latach. Strategia polega na stopniowym wprowadzaniu funkcji Wiz do Angular, z zachowaniem modelu open-source, pozwalając społeczności na wpływanie na plan działań. Proces publicznego RFC (Request for Comments) zapewni zebranie feedbacku na temat proponowanych funkcji.