Opcje migracji
Istnieją 2 główne sposoby migracji z aplikacji Chrome: aplikacje internetowe i rozszerzenia do Chrome:
W większości przypadków dobrym rozwiązaniem są aplikacje internetowe. Rozszerzenia do Chrome mogą być używane w niektórych sytuacjach, których sieć nie obsługuje, np. gdy działają w tle, bez interfejsu użytkownika.
Aplikacje internetowe
Zalecaną alternatywą w przypadku migracji z Aplikacji Chrome jest stworzenie aplikacji internetowej. W ten sposób możesz korzystać z zaawansowanych funkcji, takich jak projekt funkcji internetowych. Interfejsy API wchodzące w skład projektu Capabilities obejmują teraz większość przypadków użycia, które wcześniej były osiągalne dzięki interfejsom API aplikacji Chrome. Korzystanie z żadnej z tych funkcji nie jest jednak obowiązkowe. Elastyczność sieci pozwala programistom wybrać poziom złożoności najlepiej odpowiadający ich potrzebom.
Zalety aplikacji internetowych
Aplikacje internetowe mają kilka zalet w porównaniu z aplikacjami Chrome:
- Przenośność: 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 różni się w zależności od nich.
- Wrażenia programistów: aplikacje Chrome korzystają z tych samych technologii co aplikacje internetowe (HTML, JavaScript i CSS), ale niektóre zaawansowane możliwości 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ż obsługiwane ani aktualizowane za pomocą nowych funkcji. Aplikacje internetowe opierają się na otwartym internecie, który stale się rozwija i ma dostęp do wszystkich aktualnych interfejsów API.
- Instalacja i aktualizacje: aplikacje Chrome wymagają ręcznego zainstalowania i zaktualizowania, a czasem też wymagają sprawdzenia w sklepie. Aplikacje internetowe są dostępne bezpośrednio w przeglądarce i mogą być instalowane opcjonalnie. Aktualizacje aplikacji internetowych są wprowadzane natychmiast po wdrożeniu, gdy tylko przeglądarka pobierze nowe pliki.
- Wsparcie: zarówno aplikacje Chrome, jak i aplikacje internetowe tworzą duże społeczności, ale platforma internetowa jest bardziej widoczna i oferuje szerszy zakres narzędzi dla programistów, takich jak platformy i biblioteki.
Progresywne aplikacje internetowe
Progresywne aplikacje internetowe (PWA) to po prostu aplikacje internetowe zaprojektowane i zoptymalizowane przy użyciu nowoczesnych interfejsów API, które zapewniają większe możliwości, lepszą możliwość instalacji i niezawodność. Dzięki temu możesz korzystać z aplikacji w przeglądarce.
Możliwość zainstalowania
PWA można instalować zarówno na komputerach, jak i na platformach mobilnych, ale jest to opcjonalne, ponieważ nadal można je otwierać bezpośrednio w przeglądarce. Użytkownicy, którzy zdecydują się zainstalować PWA, mogą ją uruchamiać za pomocą ikon i skrótów. W pliku manifestu internetowego PWA możesz umieścić metadane, które wskazują, że po uruchomieniu aplikacja otwiera się w osobnym oknie.
Niezawodność
PWA mogą działać spójnie nawet w trudnych warunkach sieciowych. Jest to możliwe dzięki podstawowym komponentom aplikacji PWA nazywanym skryptami service worker. Skrypty service worker pozwalają przechwytywać żądania sieciowe i udostępniać zawartość z pamięci podręcznej. Pozwala to zapewnić działanie aplikacji w trybie offline lub w przypadku słabego połączenia. Biblioteki takie jak Workbox udostępniają zestaw gotowych strategii, które pozwalają wdrożyć typowe funkcje offline, co znacznie upraszcza programowanie.
Ulepszone możliwości
Projekt Web Capabilities pomaga aplikacjom internetowym w realizowaniu wielu przypadków użycia, które są w stanie wdrożyć Aplikacje Chrome. Jednak model zabezpieczeń internetu nakłada pewne ograniczenia. Oto kilka przykładów zaawansowanych funkcji internetowych, których możesz używać zamiast dotychczasowych interfejsów API aplikacji Chrome:
- Dostęp przez Bluetooth i USB: Bluetooth i Web USB stanowią alternatywę dla odpowiednio
chrome.bluetooth
ichrome.usb
. - Zarządzanie systemem plików: interfejs File System Access API to alternatywa dla interfejsu API
chrome.fileSystem
. - Skróty: aplikacje internetowe mogą obsługiwać skróty klawiszowe nasłuchiwania różnych najważniejszych zdarzeń (np. klawisza), ale liczba obsługiwanych skrótów jest ograniczona. Gdy Twoja aplikacja internetowa jest używana w trybie pełnoekranowym, możesz przechwycić te skróty systemowe za pomocą interfejsu klawisze blokady klawiatury.
- Pamięć trwała: prośba o uprawnienie Pamięć trwała w aplikacji internetowej daje podobne możliwości co uprawnienie
unlimitedStorage
w aplikacjach Chrome. - Geolokalizacja: interfejs API geolokalizacji może być używany w aplikacjach internetowych do lokalizowania pozycji użytkownika zamiast uprawnień do geolokalizacji.
- Przetwarzanie w tle: alternatywą dla uprawnienia
background
są interfejs Background Sync API oraz Periodic Background Sync API. - Kopiowanie do schowka: interfejs Async Clipboard API umożliwia automatyczne kopiowanie i wklejanie zarówno tekstu, jak i obrazów.
Rozszerzenia do Chrome
Najlepszym rozwiązaniem w przypadku migracji z Aplikacji Chrome są aplikacje internetowe, ale w niektórych przypadkach dobrym rozwiązaniem mogą być rozszerzenia do Chrome. Rozszerzenia są również tworzone przy użyciu technologii internetowych (HTML, CSS i JavaScript) i można za ich pomocą dodawać lub modyfikować funkcje przeglądarki oraz dostosowywać inne aplikacje internetowe w celu poprawy wrażeń użytkowników.
Tworzenie samodzielnego rozszerzenia
W zależności od tego, jakie wrażenia chcesz zapewnić użytkownikom, warto przekonwertować aplikację Chrome na rozszerzenie. Możesz na przykład dodać przycisk działania przeglądarki, który wyświetla małe wyskakujące okienko interfejsu użytkownika lub umożliwia otwarcie strony udostępnianej przez rozszerzenie. Ten model interfejsu może być bardziej odpowiedni w przypadku aplikacji, które większość czynności wykonują w tle.
Łączenie rozszerzenia do Chrome z aplikacji internetowej
Jeśli Twoja aplikacja Chrome oferuje funkcje niedostępne na platformie internetowej, możesz połączyć rozszerzenie do Chrome z aplikacją internetową i przyznać jej dostęp do interfejsów API rozszerzeń.Wadą tego podejścia są użytkownicy lub administratorzy IT, którzy muszą zarządzać 2 różnymi częściami (aplikacji internetowej i rozszerzeń towarzyszących). Pamiętaj, że rozszerzenia do Chrome nie działają w niektórych przeglądarkach. W takim przypadku należy wykryć, kiedy wymagane funkcje są niedostępne, i podać tekst wyjaśniający użytkownikom tych przeglądarek.
Czy lepiej utworzyć aplikację internetową czy rozszerzenie do Chrome?
Preferowaną technologią migracji z Aplikacji Chrome jest aplikacja internetowa. W niektórych przypadkach rozszerzenia do Chrome mogą być lepszym rozwiązaniem. Zanim podejmiesz decyzję, sprawdź, która opcja jest lepsza, biorąc pod uwagę różne czynniki:
- Cel: rozszerzenia do Chrome służą głównie do zwiększania funkcjonalności przeglądarki. Typowe przypadki użycia to: narzędzia biurowe, wzbogacanie zawartości stron internetowych i agregacja informacji. Dzięki wykorzystaniu wszystkich możliwości internetu aplikacje internetowe mają znacznie szerszy zakres zastosowań.
- Wygoda użytkownika: rozszerzenia do Chrome mają zwykle bardziej ograniczony interfejs i zostały zaprojektowane tak, aby integrować się z przeglądarką. Aplikacje internetowe mogą mieć rozbudowany interfejs użytkownika, który wygląda i działa jak aplikacja natywna oraz można je łatwo dostosowywać.
- Przenośność: rozszerzenia do Chrome działają tylko w Chrome. Niektóre przeglądarki (na przykład Firefox i Edge) obsługują te same interfejsy API rozszerzeń co Chrome, ale taka obsługa nie jest uniwersalna. Aplikacje internetowe są obsługiwane przez wszystkie przeglądarki (chociaż nie wszystkie interfejsy API mogą być).
- Wykrywalność: rozszerzenia do Chrome muszą być zainstalowane (np. ze sklepu Chrome Web Store lub przez własny hosting) i dostępne za pomocą paska narzędzi przeglądarki. Aplikacje internetowe mogą być natychmiast ładowane przez URL i dostępne we wszystkich przeglądarkach. Można je instalować opcjonalnie, ale nie jest to obowiązkowe.
- Zestaw funkcji: rozszerzenia do Chrome ściśle integrują się z Chrome za pomocą interfejsów API Chrome. Aplikacje internetowe mogą być bardziej ograniczone w ramach zadań niskopoziomowych lub systemowych. Jak już wspomnieliśmy, możesz wywołać rozszerzenie z aplikacji internetowej, by uzyskać dostęp do interfejsów API tylko dla rozszerzeń.
- Działanie w tle: rozszerzenia do Chrome mogą pracować w tle i działać nawet po zamknięciu okna przeglądarki. Aplikacje internetowe są natomiast zwykle zaprojektowane do działania na pierwszym planie i mają ograniczone możliwości działania w tle, co jest używane głównie ze względu na wydajność i niezawodność.
Etapy migracji
Migracja aplikacji Chrome
Aby przejść z aplikacji Chrome na aplikacje internetowe lub rozszerzenia do Chrome, wykonaj te czynności:
- Określ zakres funkcji aplikacji: w niektórych przypadkach aplikacja decyduje, czy musisz korzystać z aplikacji internetowej, czy też musisz utworzyć rozszerzenie do Chrome. W sytuacjach, gdy obie te opcje mogą odpowiadać Twoim potrzebom, masz możliwość wyboru. Aby dowiedzieć się więcej o możliwościach poszczególnych technologii, zapoznaj się z witryną dotyczącą funkcji internetowych i dokumentacją interfejsu Chrome Extension API.
- Nauka i tworzenie: skorzystaj z materiałów szkoleniowych, aby poznać technologie i przygotować aplikację do działania. Szkolenie PWA i przewodniki Pierwsze kroki z rozszerzeniem do Chrome to świetne materiały ułatwiające rozpoczęcie pracy z każdą z tych technologii.
- Testowanie i rozpowszechnianie: zaoferuj nową aplikację mniejszemu odsetkowi użytkowników przed szerszym wdrożeniem, aby sprawdzić, czy działa dobrze. W celu szerszego ich rozpowszechnienia aplikacje internetowe są dostępne i instalowane z poziomu przeglądarki. Rozszerzenia do Chrome są zwykle rozpowszechniane w sklepie Chrome Web Store lub na własnym serwerze. W przypadku zarządzanych rozwiązań administratorzy mogą wymusić instalację obu tych rozwiązań.
Przenieś użytkowników
Niezależnie od technologii, jaką wybierzesz w migracji z Aplikacji Chrome, musisz poinformować użytkowników, że powinni odinstalować aktualną aplikację i skorzystać z nowej wersji.
Zalecamy zaktualizowanie aplikacji tak, aby zawierała komunikat informujący o tym, że została wycofana, a użytkownicy powinni odwiedzić Twoją witrynę lub Chrome Web Store (zobacz przykład poniżej). Możesz też dodać przycisk „Odinstaluj”, który wywołuje metodę uninstallSelf()
.
Od wersji Chrome 75 metody installReplacementWebApp()
można używać w aplikacji Chrome w odpowiedzi na kliknięcie przycisku lub inny gest użytkownika, aby automatycznie uruchamiać proces instalacji nowej aplikacji internetowej.
Dodatkowo warto poprosić administratorów przeglądarki Chrome Enterprise i ChromeOS Enterprise o zaktualizowanie zasad dotyczących aplikacji w swoich organizacjach. W przypadku użytkowników zarządzanych przez Google Enterprise oraz Education często instalowanie aplikacji i rozszerzeń jest wymuszane za pomocą zasad zarządzania. Deweloperzy powinni poprosić administratorów o zaktualizowanie zasady ExtensionInstallForcelist (używanej do instalowania aplikacji Chrome) i zastąpienie jej zasadą WebAppInstallForceList adresem URL aplikacji internetowej.
Pomoc
Jeśli masz pytania techniczne, możesz skorzystać z tych zasobów:
- Jeśli masz pytania na temat migracji z aplikacji Chrome do aplikacji internetowych lub rozszerzeń do Chrome, dołącz do społeczności deweloperów ChromeOS na Discordzie.
- Jeśli brakuje funkcji aplikacji internetowych, poproś o nową funkcję w sekcji Możliwości, znane też jako Projekt Fugu.