14 paź 202115 min czytania
Miłosz Kaczorowski
Współzałożyciel Ideamotive. Doradca technologiczny i konsultant ds. oprogramowania.
W sierpniu 2021 roku platformy Android i iOS miały 99,15% udziału w rynku mobilnych systemów operacyjnych. Przez lata zdominowały rynek aplikacji mobilnych. Efektem jest rozkwit rozmaitych technologii mobilnych, w tym frameworków wieloplatformowych.

React Native jest jedną z najpopularniejszych spośród nich.
Dlaczego?
React Native pozwala programistom współdzielić do 70% bazy kodu między platformami. Szybsze wytwarzanie, niższy koszt i łatwe debugowanie to część zalet tego frameworka. Wsparcie Facebooka sprawia też, że React Native działa jak należy. Jak każdy framework ma jednak swoje ograniczenia.
Inżynierowie React Native często napotykają problemy ze zgodnością i brak własnych modułów. Do tego aplikacje budowane w tym frameworku tracą na wydajności przez funkcje jedynie zbliżone do natywnych. Czy w takim razie React Native to dobry wybór? Odpowiedź zależy od wymagań Twojego produktu. Aby ułatwić Ci decyzję, zebraliśmy listę alternatyw dla React Native, które mogą dać Twojej aplikacji mocne i wygodne funkcje. Na koniec będziesz wiedzieć, na którą technologię postawić.
Zaczynajmy!
Języki programowania aplikacji natywnych to jedne z najpopularniejszych alternatyw. To technologie właściwe dla konkretnej platformy, używane do tworzenia aplikacji mobilnych na dany system. Przykłady takich systemów to Android, iOS czy Windows. Aplikacje natywne budowane w tych językach zwykle oferują lepszą wydajność i doświadczenie użytkownika. Programiści używają Swifta i Objective-C do aplikacji Apple oraz Javy i Kotlina do natywnych aplikacji na Androida.
Te języki programowania komunikują się bezpośrednio z zasobami platformy. Dzięki temu programiści mogą w pełni wykorzystać elementy graficzne systemu, funkcje obliczeniowe czy inne komponenty, by budować szybko działające aplikacje.
Przy rozbudowie możliwości aplikacji zawsze istnieje ryzyko natrafienia na uciążliwe przeszkody. Kod natywny zmniejsza to ryzyko. Wspierają go środowiska IDE i zestawy SDK dla iOS i Androida. Korzystając z tego, wdrożysz podstawowe, zaawansowane, a nawet najnowsze funkcje dla każdej platformy, bez martwienia się o zgodność.
Według Stack Overflow Developer Survey 2021 Swift jest 8. najbardziej lubianym językiem programowania spośród 38. W podobnym zestawieniu React Native jest 9. wyborem na 13 frameworków. Java plasuje się jako 5. najczęściej używany język, a React Native jako 6. najczęściej używany framework z 13. Pokazuje to, że te dwa języki natywne są odrobinę łatwiejsze w użyciu i nauce. Budowanie w nich aplikacji może zmniejszyć złożoność, na jaką natrafiają zarówno średnio zaawansowani, jak i doświadczeni programiści.
Podejście natywne opiera się przede wszystkim na zasadzie „jeden produkt, dwie aplikacje”. W efekcie bywa kosztowne, bo potrzebujesz dwóch wyspecjalizowanych zespołów z rozległą znajomością kodu natywnego iOS i Androida.
Aplikacje na Androida i iOS wymagają osobnych baz kodu, co uniemożliwia ponowne wykorzystanie kodu między platformami. Każdy produkt trzeba budować, testować, aktualizować i utrzymywać osobno. W projektach wrażliwych na czas ten powolny proces to poważna wada.
Choć Java jest szeroko stosowana także poza tworzeniem aplikacji natywnych, z pozostałymi językami w tej kategorii jest odwrotnie. Stack Overflow ustalił, że Swifta używa 5,1%, a Kotlina 8,32% programistów. Może to wynikać z młodego wieku tych języków. Objective-C plasuje się jeszcze niżej, na 2,8%. React Native jest daleko z przodu, z 14,51%. W efekcie znalezienie programistów Swift lub innych osób z rozległą znajomością Kotlina i Objective-C może być trudne.
Chcesz przeczytać szczegółowe porównanie React Native i Swifta? Przeczytaj ten artykuł.
Technologia natywna jest idealna do gier, odtwarzaczy multimedialnych właściwych dla systemu i innych aplikacji wymagających pełnego dostępu do funkcji urządzenia.

Flutter to młoda otwartoźródłowa technologia stworzona i oficjalnie wydana przez Google w 2018 roku. Podobnie jak React Native Flutter pozwala zbudować z jednej bazy kodu aplikację przypominającą natywną na wielu platformach. Powstaje w Darcie, obiektowym języku również od Google. Przez lata Flutter systematycznie zyskiwał na popularności, wyprzedzając swojego głównego konkurenta — React Native.
Podobnie jak React Native, Flutter pozwala skrócić czas wytwarzania i wdrożenia. Z jednego kodu zbudujesz dwie aplikacje (iOS i Android). Jego widżety i interaktywne narzędzia (np. hot reload) ułatwiają żmudne zadania, takie jak testowanie i debugowanie. Do tego językiem Fluttera jest Dart. Jest szybki, zwięzły i kompiluje się do kodu natywnego bez dodatkowych abstrakcji. Sumuje się to na sprawne wytwarzanie i przewagę konkurencyjną dzięki krótszemu czasowi wejścia na rynek.
Widżety Material i Cupertino we Flutterze są zgodne z wytycznymi projektowymi Apple i Google. Programiści mogą korzystać z tych gotowych elementów UI, by budować aplikacje o efektownych interfejsach na obu platformach. Co więcej, silnik renderujący Fluttera - Skia - pozwala zarządzać każdym pikselem. To z kolei sprawia, że interfejs zbudowany we Flutterze pozostaje spójny na wielu platformach i wersjach systemu.
Dzięki hot reloadom nie trzeba restartować całej aplikacji, by zobaczyć zmiany. Zamiast tego programiści Fluttera wprowadzają i widzą zmiany w czasie rzeczywistym, bez ponownej kompilacji kodu. To, że na dwie platformy buduje się jedną aplikację, sprawia, że wykryte i naprawione błędy znikają w obu wersjach.
Podobnie jak przy React Native, koszt tworzenia aplikacji we Flutterze jest niższy niż przy aplikacjach natywnych. Jedną aplikację na iOS i Androida zbudujesz bowiem małym zespołem i w krótszym czasie.
Aplikacje zbudowane we Flutterze mają duży rozmiar plików. Mogą ładować się wolno oraz zajmować miejsce i baterię. Aby to obejść, programiści często sięgają po mniej pakietów i bibliotek, rezygnując z części funkcji. Efektem jest produkt gorszej jakości.
Jako młody framework Flutter nie ma jeszcze rozbudowanej bazy zasobów. Oznacza to, że możesz nie znaleźć potrzebnych bibliotek i pakietów zewnętrznych. Inną wadą jego niedojrzałości jest potencjał zmian. Mniej korzystna zmiana w przyszłości może wprowadzić do frameworka komplikacje i utrudnić zarządzanie nim. Istnieje też możliwość, że Flutter nie przetrwa, biorąc pod uwagę historię zamykania projektów przez Google.
Flutter pozwala szybko i płynnie tworzyć aplikacje na Androida. Z iOS jest inaczej. Dostęp do natywnych komponentów platformy bywa problematyczny. Przez to niemal niemożliwe jest wdrożenie specjalnych funkcji iOS, takich jak guided access, czy prostych rzeczy w rodzaju domyślnego przejścia między ekranami.
Chcesz przeczytać szczegółowe porównanie React Native i Fluttera? Przeczytaj ten artykuł.
Fluttera możesz użyć do produktów wymagających szybkiego dostępu lub działania w czasie rzeczywistym. Należą do nich aplikacje dla obsługi klienta, usług finansowych, firm e-commerce czy każdego sprzedawcy przyjmującego płatności na miejscu.

Kolejną popularną alternatywą dla React Native jest Xamarin. To wieloplatformowa technologia od Microsoftu. Zaczęła się od MonoTouch i Mono for Android w 2011 roku, aż Microsoft przejął ją w 2016. Xamarin wykorzystuje język C# i framework .NET do tworzenia aplikacji mobilnych na iOS, Androida i Windows.
Dzięki podejściu Xamarina „jeden produkt, jeden stos technologiczny” programiści mogą wykorzystać ponownie do 90% kodu na różnych platformach. Nie trzeba przełączać się między środowiskami, bo aplikacje Xamarina budujesz w Visual Studio. Framework daje też dostęp do wspólnych zasobów na wszystkich wspieranych platformach. Sumuje się to na krótszy czas i niższy koszt wytworzenia.
Sklep komponentów Xamarina daje programistom dostęp do wieloplatformowych, ustandaryzowanych kontrolek UI, zintegrowanych bibliotek open source i usług zewnętrznych. Dzięki tym rozbudowanym zasobom wybierzesz potrzebne elementy albo wdrożysz wymagane funkcje w swoich aplikacjach.
Biblioteka Xamarin.Essentials daje dostęp do komponentów natywnych. Programiści mogą budować aplikacje na iOS i Androida osobno, przy użyciu Xamarin.iOS i Xamarin.Android. Powstają dzięki temu produkty zbliżone wydajnością do natywnych. React Native nie zbliża się pod tym względem. Interfejs aplikacji można też w czasie działania przekształcić w elementy natywne, by zapewnić niemal natywny wygląd i wydajność.
Debugowanie i utrzymanie są łatwiejsze, bo programiści wychwytują i zmieniają rzeczy na wszystkich platformach z jednego kodu źródłowego. Xamarin integruje się też z SDK i API wspieranych platform. Ułatwia to aktualizowanie i wdrażanie nowych funkcji w aplikacjach na iOS i Androida, gdy tylko zmiany są dostępne.
Microsoft udostępnia materiały edukacyjne i kompleksowe rozwiązania, które pozwalają programistom testować, monitorować i zabezpieczać aplikacje. Należą do nich Azure Cloud, Xamarin Insights i Xamarin TestCloud.
W Xamarinie programiści współdzielą głównie logikę biznesową, a nie kod interfejsu. Oznacza to, że dla każdej platformy trzeba zbudować osobny UI. W efekcie budowanie gier czy innych produktów wymagających złożonych animacji lub bogatego, interaktywnego interfejsu będzie wolniejsze i bardziej żmudne.
W ostatnim badaniu Stack Overflow Developer Survey tylko 5,8% respondentów korzysta z Xamarina. Trudno więc zatrudnić programistów Xamarina z solidnym doświadczeniem i wiedzą. Ta wada może jednak nie potrwać długo, bo framework wciąż się rozwija. Jeśli masz pilne potrzeby, skontaktuj się z nami, a połączymy Cię ze zweryfikowanymi ekspertami Xamarina.
Xamarin przyspiesza prace i obniża koszty. Ta korzyść może jednak mniej imponować, gdy weźmie się pod uwagę cenę jego IDE — Microsoft Visual Studio. Do projektów komercyjnych najlepiej nadają się licencje Enterprise i Professional. Roczna cena Enterprise to 5999 USD na użytkownika w pierwszym roku, a potem 2569 USD za odnowienie. Nowy subskrybent Professional zapłaci 1999 USD , a w kolejnych latach 799 USD.
Choć Xamarin jest mocno nastawiony na tworzenie aplikacji natywnych, nie jest w pełni natywny. Wiąże się to z kilkoma ograniczeniami: restrykcyjnym dostępem do bibliotek open source, opóźnieniami w aktualizacji lub integracji nowych API właściwych dla platform oraz większym rozmiarem aplikacji.
Xamarin dobrze radzi sobie z aplikacjami o rozbudowanej logice lub prostym interfejsie. Należą do nich aplikacje do ankiet, zarządzania projektami, podróży, zakupów spożywczych czy śledzenia.

Podobnie jak React Native framework ten używa JavaScriptu do budowy wieloplatformowych aplikacji mobilnych na iOS i Androida. Wspiera też TypeScript, Angulara i pokrewne frameworki. Aplikacje zbudowane w NativeScripcie są w pełni natywne.
NativeScript wstrzykuje API iOS i Androida do maszyny wirtualnej JS, co ułatwia integrację z zasobami natywnymi. Daje to programistom szybki dostęp do wtyczek, Android SDK, menedżera zależności iOS - Cocoapods - i innych powiązanych technologii, by budować aplikacje o natywnej wydajności. Skutkuje to też intuicyjnym interfejsem i lepszym doświadczeniem użytkownika.
NativeScript korzysta z JS i podzbioru CSS, a obie technologie są dojrzałe. Programiści z niezłą znajomością tych technologii szybciej zbudują aplikacje natywne. Do tego NativeScript wspiera różne frameworki JS, takie jak Angular, Vue.js czy TypeScript.
Budując w NativeScripcie, programiści widzą zmiany w kodzie na ekranie emulatora w czasie rzeczywistym. Nie trzeba więc potem ponownie kompilować aplikacji. W połączeniu z jedną bazą kodu oznacza to, że każda modyfikacja może zostać zastosowana na innych platformach. Framework przyspiesza więc wytwarzanie.
W zależności od zakresu projektu może zajść potrzeba wdrożenia zaawansowanych funkcji natywnych. Wymaga to konsultantów software'owych znających markup i elementy interfejsu właściwe dla danej platformy.
Choć w NativeScripcie jest sporo darmowych wtyczek, nie wszystkie są zweryfikowane. Naraża to programistów na użycie wadliwych wtyczek open source, co może skutkować poważnymi wąskimi gardłami albo, co gorsza, słabym produktem końcowym.
Niezależnie od tego, jak blisko natywnych są aplikacje NativeScript, ich rozmiar jest stosunkowo większy. Domyślny rozmiar pustego projektu na Androida w NativeScripcie to 12 MB. To wciąż mniej niż domyślny rozmiar APK w React Native, który sięga nawet 23 MB
NativeScript najlepiej nadaje się do aplikacji czasu rzeczywistego lub produktów, które muszą sięgać do funkcji podzespołów urządzenia. Należą do nich aplikacje do streamingu, transmisji na żywo i prostych gier.

Ionic to alternatywa dla React Native, która pozwala budować aplikacje wieloplatformowe. Ten otwartoźródłowy SDK powstał pierwotnie na bazie Apache Cordova i AngularJS. Później dodano wsparcie dla innych frameworków JS, takich jak React, Vue.js i Angular.
Dzięki wtyczkom Apache Cordova i Capacitor Ionic zyskuje dostęp do takich możliwości systemu mobilnego jak aparat, Bluetooth, mikrofon, czytnik linii papilarnych czy GPS. Komponenty UI Ionica i wbudowane style adaptacyjne sprawiają też, że aplikacje zachowują natywny charakter dzięki drobnym zmianom w projekcie.
Ionic korzysta ze standardów webowych i popularnych API, by budować aplikacje na dowolną platformę. Programiści mogą zbudować aplikację, a potem dostosować ją do wszystkich wspieranych platform, używając jednej bazy kodu.
Dzięki gotowym funkcjom Ionica nie trzeba budować komponentów UI dla każdego projektu. Programiści mogą je wykorzystać ponownie lub dostosować, budując działającą aplikację w krótszym czasie.
Jak większość frameworków wieloplatformowych, Ionic może nie być idealny do aplikacji z zaawansowaną grafiką. Wynika to z użycia CSS, który jest ograniczony przy tworzeniu gier 3D. W takim wypadku najlepszym wyborem może być technologia natywna.
Zintegrowane wtyczki natywne mogą ze sobą kolidować, powodując problemy, które znacząco spowalniają prace.
Tworzenie wieloplatformowe oznacza, że trzeba zadbać o bezpieczeństwo zarówno wersji webowej, jak i natywnej aplikacji mobilnej. Choć istnieją na to rozwiązania, bywa to żmudne i kosztowne przy aplikacjach wymagających wysokiego poziomu bezpieczeństwa.
Chcesz przeczytać szczegółowe porównanie React Native i Ionica? Przeczytaj ten artykuł
Ionica można użyć do aplikacji wymagających natychmiastowej informacji lub funkcji zbliżonych do natywnych. Obejmuje to aplikacje newsowe, lifestyle'owe, streamingowe i finansowe.

Stworzona przez Nitobi Apache Cordova została przejęta przez Adobe w 2011 roku i przemianowana na PhoneGap. Następnie wydano ją jako otwartoźródłową wersję PhoneGapa. Apache Cordova pozwala budować aplikacje mobilne w HTML-u, CSS-ie i JavaScripcie. Tworzenie aplikacji wieloplatformowych w tej alternatywie dla React Native możliwe jest przez interfejs wiersza poleceń (CLI). Do aplikacji zbliżonych do natywnych możesz użyć przepływu pracy Cordovy skoncentrowanego na platformie.
Budując w Apache Cordova, programiści mają do wyboru sporo wtyczek. Dają one dostęp do natywnych API urządzenia, co ułatwia wdrażanie szerokiej funkcjonalności w aplikacjach dla lepszej wydajności i doświadczenia użytkownika.
JS, CSS i HTML, czyli standardowe technologie używane przez Cordovę, są dojrzałe. Programiści mobilni z zapleczem w tych technologiach szybko przestawią się na budowanie aplikacji w Apache Cordova. Łatwość znalezienia programistów, łagodna krzywa uczenia i szybkie wejście na rynek to bezpośrednie korzyści.
Działając na zasadzie „Write Once, Run Anywhere”, kod można wykorzystywać ponownie na wielu platformach. Dzięki temu aplikacje dopasowują się do interfejsu dowolnej platformy. Nie trzeba też uczyć się języków właściwych dla platform, bo wystarczy jedna baza kodu.
Ponieważ aplikacje Apache Cordova nie są w pełni natywne, korzystają z wtyczek, by sięgnąć do możliwości urządzenia. Te zewnętrzne wtyczki mogą nie być łatwo dostępne, aktualne lub zgodne między platformami.
Jak wspomnieliśmy, aplikacje zbudowane w Cordovie mogą mieć problemy ze zgodnością niektórych wtyczek. Możesz potrzebować wyspecjalizowanych programistów natywnych, którzy napiszą własną wtyczkę od zera. Przekłada się to na dłuższy czas i wyższy koszt wytworzenia.
Budowanie wysokowydajnych aplikacji na domyślnej funkcjonalności Cordovy bywa trudne. Ograniczenia jej technologii potrafią spowolnić aplikację. Takie wady tkwią w komponentach WebView i przeglądarki mobilnej, a także w braku wielowątkowości w JavaScripcie.
Cordovy możesz użyć do aplikacji łączących komponenty natywne z WebView, by sięgać do API urządzenia. Należą do nich aplikacje fitnessowe, sportowe, do śledzenia i marketplace'y.

Framework 7 to kolejna alternatywa dla React Native, którą warto rozważyć. To otwartoźródłowy framework HTML służący do budowy hybrydowych aplikacji webowych i mobilnych o funkcjonalności zbliżonej do natywnej. Framework 7 jest zgodny z platformami Android i iOS.
Od podstawowych po zaawansowane elementy - Framework 7 ma rozbudowany zestaw komponentów UI. Programiści mają dostęp do kontrolek takich jak leniwe ładowanie, nieskończone przewijanie czy listy z polami wyboru. Z tymi zasobami budują dynamiczne aplikacje o czystych, natywnych interfejsach.
Frameworka 7 można używać z frameworkami JS takimi jak Angular, React i Vue.js. Te struktury wnoszą do procesu wytwarzania swoją moc i prostotę
Programiści nie są ograniczeni do własnych tagów. Pracując z Frameworkiem 7, mogą swobodnie używać zwykłego HTML-a uzupełnionego o JS i CSS. Oznacza to, że programiści z przynajmniej średnią znajomością tych języków, a nawet jQuery, sobie poradzą.
Wady
Obecnie Framework 7 wspiera tylko platformy iOS i Android. Programiści, którzy chcą tworzyć aplikacje na inne platformy, powinni rozważyć inne frameworki.
Framework 7 powstał pierwotnie dla środowiska Apple. Otwiera to możliwość wystąpienia problemów z renderowaniem przy tworzeniu aplikacji na Androida.
Użytkownicy łatwo znajdą materiały o tym, jak wdrożyć dowolny zestaw elementów w tym frameworku. Bardziej zaawansowane potrzeby mogą jednak nie mieć gotowych odpowiedzi, bo dokumentacja nie jest tak obszerna jak w innych frameworkach.
Frameworka 7 można użyć do progresywnych aplikacji webowych albo aplikacji na iOS i Androida korzystających z podzespołów urządzenia.

jQuery Mobile to otwartoźródłowa biblioteka JavaScriptu do tworzenia wieloplatformowych aplikacji mobilnych i stron. Korzysta z możliwości jQuery, znanego z łatwości i szybkości wdrażania animacji, AJAX-a i manipulacji drzewem DOM.
Technologia opiera się na jQuery Core, z którym większość programistów zapewne już pracowała. Ułatwia to naukę i korzystanie.
Dzięki frameworkowi jQuery Mobile zbudujesz bardzo responsywne aplikacje i strony zgodne z popularnymi przeglądarkami desktopowymi i platformami. Wspierane platformy to iOS, Android, Windows, WebOS i Blackberry.
Oparty na zasadzie progresywnego ulepszania system nawigacji jQuery Mobile pozwala ładować strony do DOM przez Ajax. Dzięki temu strony są ulepszane, a następnie wyświetlane z wysokiej jakości przejściami.
Programiści obsłużą zdarzenia HTML, żądania AJAX i manipulację DOM w kilku linijkach kodu. W czystym JavaScripcie zajęłoby to znacznie więcej.
Dzięki ograniczonej liczbie zależności graficznych jQuery Mobile ma zminifikowany rozmiar 40 KB. Przekłada się to na szybkość.
Dostępne motywy CSS w jQuery Mobile ułatwiają dostosowanie aplikacji. Jest ich jednak niewiele. Programiści mogą więc tworzyć aplikacje mało wyróżniające się na tle innych produktów zbudowanych w tej technologii.
jQuery Mobile łączy się z innymi frameworkami mobilnymi, takimi jak PhoneGap, dla lepszej wydajności. Może to jednak spowolnić prace.
Ta technologia jest zauważalnie wolniejsza nawet na najnowszych platformach iOS i Android. Jeśli chcesz zbudować szybką aplikację mobilną, warto rozważyć inne rozwiązania.
jQuery Mobile jest idealne do aplikacji celujących w starsze przeglądarki, systemów zarządzania treścią i innych produktów, które wymagają animacji, a mniej interakcji użytkownika.

Progresywne aplikacje webowe to oprogramowanie, które ładuje się i działa w przeglądarce jak zwykła strona. Łączy możliwości webu z funkcjonalnością aplikacji natywnych (na przykład powiadomieniami push i dostępem do funkcji sprzętowych), by zapewnić świetne doświadczenie użytkownika. W przeciwieństwie do tradycyjnych aplikacji PWA nie da się zainstalować z sklepu z aplikacjami. Można je natomiast dodać do ekranu głównego użytkownika. Progresywne aplikacje webowe budowane są w standardowych technologiach webowych: HTML, JavaScript i CSS.
PWA łatwo dopasowują się do rozmiarów ekranów wielu urządzeń, czy to tabletu, komputera, telefonu z Androidem lub iOS, czy innych rozmiarów pośrednich.
Dzięki HTTPS informacje przesyłane w PWA są szyfrowane. W większości przypadków użytkownicy nie mają dostępu do części funkcji, takich jak geolokalizacja, bez bezpiecznego połączenia. Daje to wysoki poziom bezpieczeństwa i lepszą ochronę przed atakami typu on-path oraz innymi zagrożeniami.
PWA budowane są na zasadzie progresywnego ulepszania. Aplikacje dają lepsze doświadczenie w przeglądarkach zgodnych ze standardami i przynajmniej akceptowalny interfejs w tych mniej zgodnych. Dzięki nowoczesnym standardom webowym oferują też funkcjonalność i wrażenia aplikacji natywnej. Te możliwości dodatkowo wzbogacają doświadczenie mobilne.
Jedną z największych zalet progresywnych aplikacji webowych jest zdolność działania mimo wolnego połączenia. Jeśli użytkownik odwiedził stronę, może sięgnąć po treść nawet bez sieci. Umożliwiają to Service Workery, Cache API i technologia przechowywania po stronie klienta, która zapisuje zasoby strony offline. PWA wykorzystują to też do szybszego ładowania.
Jako aplikacja webowa PWA jest lepiej widoczna, bo mogą ją znaleźć i pozycjonować wyszukiwarki. Testy i aktualizacje przeprowadza się też łatwo, bez dodatkowych instalacji po stronie użytkownika, bo aplikacje te są dostępne online.
Choć PWA mają dostęp do sporej liczby funkcji, nie wykorzystają w pełni rozbudowanych podzespołów urządzenia. Obsługa zaawansowanych ustawień aparatu, funkcji połączeń, Bluetootha i części innych funkcji jest na niektórych urządzeniach wciąż słabo rozwinięta.
Częstą wadą PWA na urządzeniach iOS jest brak obsługi powiadomień push. Uniemożliwia to ponowne zaangażowanie użytkowników iOS nową treścią lub aktualizacjami, co obniża konwersje.
Ponieważ PWA nie są pobierane ze sklepów z aplikacjami, nie ma dla nich standardów regulacyjnych. Przez to jakość interfejsu większości takich aplikacji bywa niespójna.
PWA najlepiej sprawdzają się w oprogramowaniu podatnym na nieudane operacje przez wolną sieć, w aplikacjach o dużym ruchu i w tych używanych rzadko. Należą do nich produkty dla firm e-commerce, usług przewozowych, agencji marketplace'owych itp.

Bootstrap to zestaw narzędzi łączący JavaScript, CSS i HTML. Jest szeroko używany do tworzenia responsywnych stron w podejściu mobile-first oraz progresywnych aplikacji webowych (PWA) w pełni osadzonych w przeglądarce.
Czym są PWA?
Progresywne aplikacje webowe to oprogramowanie, które ładuje się i działa w przeglądarce jak zwykła strona. Łączy możliwości webu z funkcjonalnością aplikacji natywnych (na przykład powiadomieniami push i dostępem do funkcji sprzętowych), by zapewnić świetne doświadczenie użytkownika. W przeciwieństwie do tradycyjnych aplikacji PWA nie da się zainstalować ze sklepu z aplikacjami. Można je natomiast dodać do ekranu głównego użytkownika.
Płynny system siatki Bootstrapa to jedna z jego głównych zalet. Ma dobrze zdefiniowane klasy i wiele łatwych układów. Po wdrożeniu daje spójny wygląd na wszystkich platformach. Te komponenty można też dostosować do projektu graficznego każdego przedsięwzięcia.
Okrzyknięty „najpopularniejszą biblioteką HTML, CSS i JS na świecie”, Bootstrap ma obszerną dokumentację. Programiści mobilni mają więc spore szanse znaleźć rozwiązania podstawowych i zaawansowanych problemów w tym frameworku.
Dzięki tym wbudowanym wtyczkom Bootstrap sięga po kolejne komponenty UI z API JavaScriptu. Interfejsy takie jak dymki podpowiedzi czy okna dialogowe potrafią też poprawić działanie istniejących elementów.
PWA w Bootstrapie przesyłają informacje przez HTTPS. W większości przypadków użytkownicy nie mają dostępu do części funkcji, takich jak geolokalizacja, bez bezpiecznego połączenia. Daje to wysoki poziom bezpieczeństwa i lepszą ochronę przed większością zagrożeń.
Używanie Bootstrapa w trybie domyślnym otwiera możliwość wczytania do projektu wielu nieużywanych elementów i kodu. Przekłada się to na duży rozmiar aplikacji i wolne ładowanie.
Używanie tego frameworka do aplikacji webowych wymagających rozbudowanych możliwości smartfona nie jest dobrym pomysłem. Aplikacje webowe napisane w JS i Bootstrapie nie mają bowiem pełnego dostępu do czujników i funkcji urządzenia.
Aplikacje webowe zbudowane na domyślnych komponentach Bootstrapa wyglądają podobnie. Aby je dostosować, trzeba ręcznie nadpisać arkusze stylów. Ten dodatkowy krok często przekreśla sens używania frameworka.
Niektóre zadania, takie jak korzystanie z predefiniowanych klas czy dostosowywanie, mogą wymagać dłuższej nauki.
Bootstrap służy przede wszystkim do projektowania responsywnych stron i aplikacji webowych.


W bardzo konkurencyjnym świecie aplikacji mobilnych rezygnacja z budowania aplikacji na kilka platform to duże ryzyko. Wybór właściwej alternatywy pomoże Ci zachować obecność na ważnych platformach, obniżając przy tym koszty wytworzenia.
Wciąż zastanawiasz się, która technologia najlepiej pasuje do Twojej nowej aplikacji mobilnej? A może jednak zostajesz przy React Native? Niezależnie od wyboru w naszej sieci talentów czekają setki zweryfikowanych programistów gotowych do pracy nad Twoim projektem. Zapewnimy Ci doradztwo techniczne i ekspertów biegłych w dowolnej technologii, dopasowanych do Twojego produktu i branży. Napisz do nas, by skonsultować swój pomysł.
Współzałożyciel Ideamotive. Świetnie zna Ruby on Rails, JavaScript i administrację systemami Linux. Doświadczony we wdrażaniu skutecznych aplikacji webowych.
Zobacz wszystkie wpisy autoraKompletny przewodnik dla CEO i product ownerów
Czytaj terazPopularne artykuły
21 inspirujących projektów UI aplikacji mobilnych na 2023 rok
Michał Pruciak 7 min czytania
MedTech vs HealthTech vs BioTech: jakie są różnice?
Michał Pruciak 7 min czytania
10 biznesowych zastosowań sieci neuronowych (z przykładami!)
Michał Pruciak 4 min czytania
10 przykładów dobrych praktyk w web designie na 2023 rok
Adam Kozłowski 7 min czytania
28 znanych aplikacji webowych napisanych w PHP
Dawid Karczewski 14 min czytania
W naszej sieci talentów czekają dziesiątki zweryfikowanych specjalistów React Native.
Dane rejestrowe:
Firma
Usługi
Najczęściej poszukiwani specjaliści
Ocena 4,8 / 5,0 od klientów z różnych branż i lokalizacji.