Blog
23/11/2023
EP

Vue i Vue 3

Wprowadzenie do Vue oraz najważniejsze zmiany we Vue 3

Wprowadzenie

Vue to jedna z najpopularniejszych bibliotek JavaScript obok Reacta i Angulara. Została stworzona w 2014 roku przez Evana You jako niezależny projekt oparty na społeczności. Obecnie jest aktywnie rozwijana przez pełnoetatowy zespół oraz entuzjastów z całego świata, z Evanem na czele jako liderem projektu.

Vue opiera się na powszechnie znanych językach takich jak HTML, CSS i JavaScript, co ułatwia naukę frameworka, szczególnie dla osób z doświadczeniem w tworzeniu stron internetowych. Interfejsy API Vue mogą wydać się znajome dla osób, które wcześniej pracowały z AngularJS lub jQuery.

Vue działa jako transkompilator, przekształcając kod Vue na równoważny kod HTML, CSS i JavaScript przed implementacją, czyli kod, który przeglądarki mogą odczytać i interpretować.

Vue oferuje deklaratywny i oparty na komponentach model programowania, co oznacza, że możemy skupić się na tym, jak nasz interfejs powinien wyglądać, a nie na tym, jak go osiągnąć krok po kroku. To sprawia, że tworzenie nawet bardziej skomplikowanych interfejsów jest bardziej efektywne i przejrzyste.

 

Główne cechy Vue to:

  • Renderowanie deklaratywne - podejściem do tworzenia interfejsów użytkownika, w którym programista opisuje, jak powinien wyglądać wynikowy widok, a nie jak go osiągnąć krok po kroku. W tym podejściu programista skupia się na określeniu, co ma być wyświetlane na ekranie i jakie dane powinny być używane do renderowania interfejsu, a nie na manipulowaniu bezpośrednio drzewem DOM (Document Object Model) za pomocą imperatywnych operacji.
  • Reaktywność – automatyczne śledzenie zmian stanu JavaScript i aktualizacja DOM, gdy zmiany wystąpią.

Wraz z wydaniem Vue 3 w 2020 roku, wprowadzono wiele nowości i usprawnień, które czynią ten framework jeszcze bardziej wydajnym i potężnym. 

 

Zmiany i usprawnienia wprowadzone we Vue 3
  • Kompatybilność z poprzednimi wersjami - jedną z głównych zalet Vue 3 jest to, że został zaprojektowany w sposób, który zachowuje kompatybilność wsteczną z poprzednimi wersjami. To oznacza, że większość istniejących aplikacji Vue 2.x może być łatwo zaktualizowana do Vue 3 bez konieczności większych zmian w kodzie.
  • Reaktywność oparta na Proxy API - Vue 3 wprowadza zmiany w mechanizmie reaktywności, które są oparte na Proxy API w języku JavaScript. Dzięki temu możliwe jest wykrywanie i reagowanie na zmiany danych w bardziej wydajny sposób. Nowa reaktywność w Vue 3 przyczynia się do zwiększenia wydajności i zmniejszenia zużycia pamięci.
  • Composition API - W Vue 3 wprowadzono Composition API, które dostarcza alternatywny sposób na organizację logiki komponentów. Zamiast opierać się na opcjach komponentu, Composition API pozwala definiować logikę w postaci funkcji, które są łatwe do ponownego wykorzystania i testowania. Composition API pozwala na lepsze zarządzanie stanem i logiką w bardziej modułowy sposób.
  • Fragmenty - Vue 3 wprowadza wsparcie dla fragmentów, które umożliwiają renderowanie wielu elementów bez dodatkowego kontenera div. Teraz możemy używać <template> jako rodzica dla wielu elementów bez zbędnego wpływu na strukturę HTML.
  • Teleportacja (Teleport) - Teleportacja w Vue 3 pozwala na renderowanie treści komponentu w innym miejscu w drzewie DOM, poza komponentem rodzica. To przydatne narzędzie, które ułatwia tworzenie złożonych interfejsów i unikanie problemów związanych z układem i stylami.
  • Obsługa typów w TypeScript - Vue 3 został zoptymalizowany pod kątem pracy z TypeScript, dzięki czemu programiści mogą korzystać z typów i otrzymać bardziej przejrzysty i bezpieczny kod.
  • Zmniejszony rozmiar i wydajność

Vue 3 wprowadza szereg optymalizacji, które zmniejszają rozmiar biblioteki i poprawiają jej wydajność. Dzięki tym zmianom aplikacje Vue 3 działają szybciej i zużywają mniej zasobów.

 

Ekosystem Vue 3

Istnieje wiele aplikacji i bibliotek wspierających programistów w tworzeniu, rozwijaniu i zarządzaniu aplikacjami opartymi na Vue 3.

Oto krótka charakteryzacja głównych składników ekosystemu Vue 3:

  • Vue Router: Jest to oficjalna biblioteka do obsługi routingu (nawigacji między stronami) w aplikacjach Vue. Umożliwia tworzenie dynamicznych ścieżek URL, dzięki czemu użytkownicy mogą nawigować między różnymi widokami i komponentami wewnątrz aplikacji.
  • Vite: Nowoczesne narzędzie do budowy aplikacji Vue (zastąpiło dotychczasowe Vue CLI). Znacznie przyspiesza czas ładowania i rozwijania projektów dzięki wykorzystaniu nowych technologii, takich jak ES modules oraz dynamiczne importy.
  • Vitest: Framework do pisania testów jednostkowych oparty na Vite, którego API wzorowane jest na popularnym frameworku Jest. Dzięki korzystaniu z Vitest, a nie z Jest, nie duplikujemy złożoności, bo Vitest współdzieli wtyczki i konfiguracje z Vite.
  • Vue Test Utils: Biblioteka ułatwiająca pisanie testów jednostkowych i integracyjnych dla komponentów Vue. Zapewnia narzędzia do montowania komponentów, wywoływania metod i sprawdzania stanu, co pomaga w utrzymaniu jakości kodu i wydajności aplikacji.
  • Vue Devtools: Rozszerzenie do przeglądarki umożliwiające inspekcję, debugowanie i profilowanie aplikacji Vue. Umożliwia śledzenie stanu komponentów, zdarzeń oraz interakcji w czasie rzeczywistym.
  • Zestawy komponentów UI: np. Vuetify, Quasar, Element Plus – zestawy te pomagają w szybkim i spójnym tworzeniu estetycznych i interaktywnych interfejsów.
  • Nuxt.js: Framework oparty na Vue do tworzenia aplikacji SSR (Server-Side Rendering) i SPA (Single-Page Application). Ułatwia tworzenie aplikacji uniwersalnych, wydajnych i zgodnych z SEO.

Taki ekosystem dostarcza programistom narzędzi i rozwiązań, które pomagają w pełni wykorzystać potencjał Vue 3 i tworzyć nowoczesne, interaktywne i wydajne aplikacje internetowe.

 

Podsumowanie

Vue 3 to znaczący krok naprzód w rozwoju tego popularnego frameworku. Wprowadza wiele nowych funkcji i optymalizacji, które czynią Vue jeszcze bardziej atrakcyjnym dla programistów. Dzięki kompatybilności wstecznej i bogatej dokumentacji, przechodzenie z Vue 2.x na Vue 3 jest łatwe i nie wymaga dużego wysiłku. Dla nowych projektów warto rozważyć wybór Vue 3, aby skorzystać z jego zalet i usprawnień.

Zobacz też...