Opcje migracji
Istnieją 2 podstawowe opcje migracji z aplikacji Chrome: aplikacje internetowe i rozszerzenia Chrome:
W większości przypadków preferowane są aplikacje internetowe. W niektórych przypadkach rozszerzenia Chrome mogą być używane w sytuacjach, w których przeglądarka internetowa nie jest obsługiwana, np. gdy działa w tle bez interfejsu użytkownika.
Aplikacje internetowe
Najlepszym rozwiązaniem na migrację z aplikacji Chrome jest utworzenie aplikacji internetowej. Dzięki temu możesz korzystać z funkcji zaawansowanych, takich jak te z projektu web capabilities. Interfejsy API wchodzące w skład projektu Capabilities obejmują teraz większość zastosowań, które były możliwe wcześniej dzięki interfejsom API aplikacji Chrome. Nie jest jednak konieczne używanie żadnej z tych funkcji: elastyczność sieci umożliwia deweloperom wybranie poziomu złożoności, który najlepiej odpowiada ich potrzebom.
Zalety aplikacji internetowych
Aplikacje internetowe mają kilka zalet w porównaniu z aplikacją Chrome:
- Możliwość przenoszenia: aplikacje Chrome działają tylko w Chrome. Aplikacje internetowe działają w większości przeglądarek i systemów operacyjnych, ale obsługa różnych interfejsów API jest różna.
- Funkcje dla deweloperów: aplikacje Chrome korzystają z tych samych technologii co aplikacje internetowe (HTML, JavaScript i CSS), ale niektóre zaawansowane funkcje aplikacji Chrome (np. strony w tle) nie są standardowe, dlatego wymagają dodatkowej wiedzy.
- Zestaw funkcji: aplikacje Chrome korzystają z interfejsów API, które nie są już aktualizowane ani nie otrzymują nowych funkcji. Aplikacje internetowe korzystają z otwartej sieci, która stale się rozwija i ma dostęp do wszystkich aktualnych interfejsów API.
- Instalacja i aktualizacje: aplikacje w Chrome wymagają ręcznej instalacji i aktualizacji, a czasami także weryfikacji w sklepie. Aplikacje internetowe można uruchamiać bezpośrednio w przeglądarce i opcjonalnie instalować. Aktualizacje aplikacji internetowych są wprowadzane natychmiast po wdrożenie, gdy tylko przeglądarka pobierze nowe pliki.
- Wsparcie: aplikacje Chrome i aplikacje internetowe mają liczne społeczności, ale platforma internetowa jest znacznie bardziej popularna i oferuje szerszy zakres narzędzi programistycznych, takich jak frameworki i biblioteki.
Progresywne aplikacje internetowe
Progresywne aplikacje internetowe (PWA) to aplikacje internetowe tworzone i optymalizowane za pomocą nowoczesnych interfejsów API, aby zapewnić większą funkcjonalność, możliwość instalacji i niezawodność. Dzięki wdrożeniu tych funkcji możesz uzyskać w internecie podobne wrażenia jak w aplikacjach.
Możliwość zainstalowania
PWA można instalować na komputerach i urządzeniach mobilnych, ale nie jest to konieczne, ponieważ można je otwierać bezpośrednio w przeglądarce. Użytkownicy, którzy zdecydują się zainstalować PWA, mogą uruchomić ją za pomocą ikon i skrótów. W pliku manifestu internetowego progresywnej aplikacji internetowej możesz podać metadane, które wskazują, że po zainstalowaniu aplikacja otwiera się w własnym oknie.
Niezawodność
PWA mogą działać stabilnie nawet w trudnych warunkach sieciowych. Umożliwia to podstawowy element PWA, czyli worker. Skrypty service worker umożliwiają przechwytywanie żądań sieciowych i zapewniają wyświetlanie treści z pamięci podręcznej, aby aplikacja działała w trybie offline lub w sytuacjach słabego połączenia. Biblioteki takie jak Workbox udostępniają gotowe strategie, które umożliwiają implementowanie typowych funkcji offline, znacznie upraszczając proces tworzenia.
Ulepszone funkcje
Projekt Web Capabilities pomaga aplikacjom internetowym realizować wiele scenariuszy użycia, które mogą być implementowane przez aplikacje Chrome. Model bezpieczeństwa internetu nakłada jednak pewne ograniczenia. Oto kilka przykładów zaawansowanych funkcji internetowych, których możesz używać zamiast istniejących interfejsów API aplikacji Chrome:
- Dostęp do Bluetootha i USB: Web Bluetooth i Web USB stanowią alternatywę dla odpowiednio
chrome.bluetooth
ichrome.usb
. - Zarządzanie systemem plików: interfejs File System Access API jest alternatywą dla interfejsu
chrome.fileSystem
API. - Skróty: aplikacje internetowe mogą obsługiwać skróty klawiszowe, podsłuchując różne zdarzenia klawiatury (np. keydown), ale liczba obsługiwanych skrótów jest ograniczona. Gdy aplikacja internetowa jest używana w trybie pełnoekranowym, możesz przechwytywać te skróty systemowe za pomocą interfejsu Keyboard Lock API.
- Pamięć trwała: w aplikacji internetowej możesz poprosić o uprawnienia pamięci trwałej, które zapewniają podobne możliwości jak uprawnienia
unlimitedStorage
w aplikacjach Chrome. - Geolokalizacja: w aplikacji internetowej można użyć interfejsu Geolocation API, aby zlokalizować pozycję użytkownika. Jest to alternatywa dla uprawnienia do geolokalizacji.
- Przetwarzanie w tle: alternatywy dla uprawnienia
background
to Background Sync API i Periodic Background Sync API. - Kopiowanie do schowka: interfejs Async Clipboard API umożliwia kopiowanie i wklejanie tekstu oraz obrazów za pomocą programów.
Rozszerzenia do Chrome
Aplikacje internetowe są najlepszą alternatywą dla aplikacji Chrome, ale w niektórych przypadkach można też użyć rozszerzeń do Chrome. Rozszerzenia są również tworzone za pomocą technologii internetowych (HTML, CSS i JavaScript) i można ich używać do dodawania lub modyfikowania funkcji przeglądarki oraz dostosowywania innych aplikacji internetowych w celu zapewnienia lepszego komfortu korzystania.
Tworzenie samodzielnego rozszerzenia
W zależności od tego, jaką funkcjonalność chcesz zapewnić użytkownikom, możesz przekształcić aplikację Chrome w rozszerzenie. Możesz na przykład udostępnić przycisk działania w przeglądarce, który otwiera małe okno w interfejsie użytkownika lub przekierowuje na stronę udostępnianą przez Twoje rozszerzenie. Ten model interfejsu może być bardziej odpowiedni dla aplikacji, które wykonują większość pracy w tle.
Łączenie rozszerzenia Chrome z aplikacją internetową
Jeśli aplikacja Chrome oferuje funkcje niedostępne na platformie internetowej, możesz połączyć rozszerzenie Chrome z aplikacją internetową i udostępnić mu dostęp do interfejsów API rozszerzeń.Wadą tego podejścia jest to, że użytkownicy lub administratorzy IT muszą zarządzać 2 różnymi częściami (aplikacją internetową i rozszerzeniami towarzyszącymi). Pamiętaj, że rozszerzeń Chrome nie można uruchamiać w niektórych przeglądarkach. Wykryj, kiedy wymagana funkcja jest niedostępna, i zapewnij użytkownikom tych przeglądarek tekst wyjaśniający.
Czy mam utworzyć aplikację internetową czy rozszerzenie do Chrome?
Aplikacja internetowa to preferowana technologia, do której należy przejść z aplikacji Chrome. W niektórych przypadkach rozszerzenia Chrome mogą być lepszym rozwiązaniem. Zanim podejmiesz decyzję, przeanalizuj, która opcja jest lepsza, biorąc pod uwagę różne czynniki:
- Cel: rozszerzenia Chrome służą głównie do rozszerzania funkcjonalności przeglądarki. Typowe zastosowania to narzędzia do zwiększania produktywności, wzbogacanie treści na stronach internetowych i zbieranie informacji. Aplikacje internetowe mogą mieć znacznie szerszy zakres zastosowań, ponieważ korzystają z pełnej mocy internetu.
- Wrażenia użytkownika: rozszerzenia Chrome zwykle mają bardziej ograniczony interfejs użytkownika i są zaprojektowane tak, aby integrować się z przeglądarką. Aplikacje internetowe mogą mieć bogaty interfejs użytkownika, który wygląda i działa jak natywny program, a do tego jest bardzo elastyczny.
- Przenośność: rozszerzenia do Chrome są specyficzne dla Chrome. Niektóre przeglądarki (np. Firefox i Edge) obsługują te same interfejsy API rozszerzeń co Chrome, ale nie jest to uniwersalna obsługa. Aplikacje internetowe są obsługiwane we wszystkich przeglądarkach (chociaż nie we wszystkich interfejsach API).
- Dostępność: rozszerzenia do Chrome muszą być zainstalowane (np. ze sklepu Chrome Web Store lub za pomocą hostingu własnego) i dostępne z poziomu paska narzędzi przeglądarki. Aplikacje internetowe można natychmiast wczytywać za pomocą adresu URL i otwierać we wszystkich przeglądarkach. Można je opcjonalnie zainstalować, ale nie jest to wymagane.
- Zestaw funkcji: rozszerzenia Chrome są głęboko zintegrowane z Chrome za pomocą interfejsów API Chrome. Aplikacje internetowe mogą mieć ograniczone możliwości wykonywania zadań na poziomie niskiego poziomu lub systemu. Jak już wspomnieliśmy, rozszerzenie można wywołać z aplikacji internetowej, aby uzyskać dostęp do interfejsów API przeznaczonych tylko dla rozszerzeń.
- Praca w tle: rozszerzenia Chrome mogą wykonywać zadania w tle i działać nawet wtedy, gdy okno przeglądarki jest zamknięte. Z kolei aplikacje internetowe są zwykle przeznaczone do działania na pierwszym planie i mają bardziej ograniczone możliwości działania w tle, co jest wykorzystywane głównie w celu zwiększenia wydajności i niezawodności.
Etapy migracji
Migracja aplikacji Chrome
Aby przejść z aplikacji Chrome na aplikacje internetowe lub rozszerzenia do Chrome:
- Określ zakres funkcji aplikacji: w niektórych przypadkach aplikacja będzie wymagać użycia aplikacji internetowej lub jedyną opcją będzie utworzenie rozszerzenia do Chrome. W przypadku, gdy obie opcje mogą Ci odpowiadać, masz wybór. Aby dowiedzieć się więcej o każdej z nich, zajrzyj na stronę Web Capabilities i do dokumentacji API rozszerzeń Chrome.
- Ucz się i twórz: korzystaj z materiałów edukacyjnych, aby dowiedzieć się więcej o technologiach i uruchomić aplikację. Szkolenie na temat PWA i samouczek wprowadzający do rozszerzeń do Chrome to świetne materiały, które pomogą Ci zacząć korzystać z tych technologii.
- Testowanie i rozpowszechnianie: przed szerszym wdrożeniem udostępnij nową aplikację mniejszemu odsetkowi użytkowników, aby sprawdzić, czy działa ona prawidłowo. Aby można było je rozpowszechniać na większą skalę, aplikacje internetowe można otwierać i instalować w przeglądarce. Rozszerzenia Chrome są zwykle rozpowszechniane za pomocą sklepu Chrome Web Store lub hostowane samodzielnie. W sytuacjach zarządzanych administratorzy mogą wymusić instalację obu.
Przenoszenie użytkowników
Niezależnie od tego, której technologii używasz do migracji z aplikacji Chrome, musisz poprosić użytkowników o odinstalowanie obecnej aplikacji i poinformować ich o nowej.
Zalecamy zaktualizowanie aplikacji, aby zawierała komunikat o jej wycofaniu i informację, że użytkownicy powinni odwiedzić Twoją witrynę lub sklep Chrome Web Store (patrz przykład poniżej). Możesz też dodać przycisk „Odinstaluj”, który wywołuje metodę uninstallSelf()
.
Od wersji 75 Chrome metoda installReplacementWebApp()
może być używana w aplikacji Chrome, aby w odpowiedzi na kliknięcie przycisku lub inny gest użytkownika automatycznie wywołać proces instalacji zastępczej aplikacji internetowej.
Dodatkowo administratorzy przeglądarki Chrome Enterprise i ChromeOS Enterprise powinni poinformować o tym, że muszą zaktualizować zasady dotyczące aplikacji w swoich organizacjach. W przypadku użytkowników zarządzanych w ramach Enterprise i Education aplikacje i rozszerzenia są często instalowane przy użyciu zasad zarządzania. Deweloperzy powinni poinformować administratorów, aby zaktualizowali zasady ExtensionInstallForcelist (używane do instalowania aplikacji Chrome) i zastąpili je zasadami WebAppInstallForceList z adresem URL aplikacji internetowej.
Pomoc
Jeśli masz pytania techniczne, skorzystaj z tych materiałów:
- Jeśli masz pytania związane z migracją z aplikacji Chrome na aplikacje internetowe lub rozszerzenia do Chrome, dołącz do społeczności deweloperów ChromeOS na Discordzie.
- Jeśli brakuje możliwości aplikacji internetowej, poproś o dodanie nowej w sekcji Możliwości, znanej też jako projekt Fugu.