Mentionsy Mentionsy
Subiektywny Frontend
Subiektywny Frontend

Zmniejsz koszt pisania aplikacji mobilnej. Napisz ją w JavaScript!

11.10.2025 ·54 min 38 s

Odcinek opublikowany 19.03.2024Chcesz napisać za jednym zamachem aplikację na Web, Androida i iOS?Zaczynamy podróż po świecie hybrydowych frameworków, które uczynią to możliwe w 2024!W dzisiejszym epizodzie rzucimy okiem na te sprytne narzędzia, które pozwalają ci hulać między platformami niczym tarzan między lianami.Ale hej, to nie tylko geeky tech-talk! Będziemy też przechadzać się po mniej wydeptanych ścieżkach, omawiając plusy i minusy hybryd, dzieląc się sprytnymi sztuczkami i rozkminiając typowe zagwozdki. Oczywiście, nie zapomnimy też rzucić okiem w przyszłość – czy hybrydy przetrwają próbę czasu i trend popularności będzie tylko rosnąć?Przygotuj się na dawkę wiedzy z przymrużeniem oka. Weź popcorn, usiądź wygodnie i daj się porwać hybrydowemu rollercoasterowi. Zaczynamy!Prezentacja Aleksandra o hybrydowej rewolucji: https://youtu.be/WVLoXTBU1a8?feature=shared

No właśnie, bo Ionic przejął kapasitora, tak? Czy oni wyszli z kapasitora, to jakoś tak było, nie? Kapasitor dalej jest pod spodem, więc możliwe, że go przejął, ale nie znam do końca tej historii. Ale sam Ionic jest w zasadzie, jako Ionic Framework, jest tylko setem komponentów wizualnych i pewnymi, jakby, mobile SDK for the web. Czyli to jest toolkit. Czyli tak naprawdę są komponenciki, które ułatwiają Ci budowanie tych... Tak, które zklejamy sobie ten frontend. Więc dalej mówimy o aplikacji takiej w pełni frontendowej, czyli... Czy to będzie Angular, React, Vue? I wpychamy go do WebVue, właśnie przez Ionica, ale dalej korzystamy, to jest taka trochę strona internetowa na sterydach, po prostu osadzona w interfejsie, osadzona w urządzenie.

React Native, czyli dalej mamy technologie frontendowe, piszemy w Reaccie. Coś masz więcej do dodania? Ja mam tylko jedną rzecz do dodania, to jest potwarz, rozumiesz? To jest potwarz. Dlaczego? Nie rozmawiamy o React, dobra? Dobra, to o React. Dalej. NativeScript. To jest w ogóle... Ja chciałem taką wrzutę zrobić z tym NativeScriptem, bo to jest technologia, która trochę... trochę przycichło o niej. Oni zaczynali trochę jak React Native się pojawiał. NativeScript miał umożliwić angularowe frontendy, czyli angularowe hybrydowe aplikacje. Ja pracowałem z NativeScriptem i pracowało mi się naprawdę super. Pąci, jestem zaskoczony, bo w sumie ja słyszałem o NativeScript, ale nie znam żadnych szczegółów, nie wnikałem w NativeScript w ogóle, tylko dosłownie tyle, co o, jest coś takiego.

No to ja nawet poczyniłem parę projektów komercyjnych, pracowałem w NativeScriptcie. To, co było fajne, to też pisanie kodu dostępu do natywnych funkcjonalności w JS. Czy to było fajne? Są sprawy takie dyskusyjne, ale ja nie miałem jakiegoś dużego doświadczenia w pisaniu natywnego kodu, a byłem w stanie sobie tam wyciągnąć jakieś takie rzeczy z aplikacji natywnej. Więc ten Native Script to taka trochę wrzuta, ale jest taka opcja. Chyba niezbyt popularny już teraz. Nie, niekoniecznie. Dobra, Jakub, cofnijmy się może jeszcze raz na chwilę do React Native, bo to był trochę żart. To z mojej strony, z tym po twarz. To może ja też dodam... React Native. W zasadzie niektórzy się zastanawiają, czy to jest hybrydowy framework, czy nie, bo React Native tak naprawdę pozwala Ci pisać kod, który później jest kompilowany do winarki, czyli on się później zamienia całkowicie do kodu, który jest bardzo bliski tego, co później jest uruchamiane w natywnej aplikacji.

Nie wiem, czy możemy to nazwać takim hybrydowym To jest ciekawa rzecz, że React Native w zasadzie to nie jest React. Czyli to nie jest tak, że można sobie wrzucić jeden codebase i hello, lecimy teraz na frontend. Ale Native Script to też było to samo co React, czyli to było kompilowane do kodów. Tam była w ogóle ciekawa koncepcja, bo można było wymieniać tylko szablon. Czyli mogłeś mieć swoją klasę, swoje serwisy, jakby całą motoczkę Angulara, a wymieniał się tylko szablon HTML.

Może powiedzmy, o czym mówimy najpierw? Tak, czyli .NET MAUI jest to platforma do budowania aplikacji multiplatformowych od Microsoftu. Widziałem, że w historii to gdzieś się wywodzi od Xamarina. Właśnie, Xamarin. Tam się pojawia ta nazwa gdzieś w historii. Na razie jest to zastąpione po prostu .NET MAUI, ale tutaj nie mam wiele więcej doświadczeń. Mi się wydaje popularnym hybrydową aplikacją, tak się uznaje, że to jest hybrydowa aplikacja, to jest Instagram. Instagram jest napisany właśnie React Native. Jak wiemy Instagram jest wykorzystywany przez setki milionów ludzi codziennie. Kiedy ostatni raz byłeś na Instagramie? Dobra, ja jestem człowiekiem innej daty. O!

Może kogoś wykorzystywują. Może kogoś wykorzystywują. Co oni wykorzystują tak naprawdę tam pod spodem, żeby tą hybrydową aplikację zbudować? Bo tego się akurat nie dowiedziałem. Ale mam też Uber. Uber tak samo. Uber to jest React Native. Mamy też taki z ciekawostek PoPay. PoPay jest hybrydową aplikacją. To jest polski produkt drugiego największego banku w Polsce. Wiem, bo sam z tym pracowałem. Ho, ho, ho, człowiek z doświadczeniem. Ok, no i mamy jeszcze jakieś produkty Apple'owe, czyli App Store, też jakieś tam części mamy hybrydowe. I tutaj warto powiedzieć o jednej rzeczy, bo my sobie często myślimy o tym, że hybrydowa aplikacja to jest aplikacja, która ma cały frontend albo

Tylko właśnie, czy my mówimy teraz o hybrydowych aplikacjach w kontekście na przykład kapasitora Ionica, czyli że piszemy kod webowy, który później jest wrzucany do aplikacji natywnej, czy mamy też na myśli teraz React Native czy Fluttera? Czy te wady też mają swoje odzwierciedlenie? To jest różne w zależności od tego jaka jest technologia, ale idea jest bardzo często bardzo podobna. To znaczy masz bug, który występuje na jednej platformie, a na innej nie występuje. I teraz musisz mieć... To urządzenie, na którym tak naprawdę inaczej. Musisz to zdebugować na tym urządzeniu, na którym występuje. Więc to jest jakby pierwsza taka deweloperska wada.

Praca z taką hybrydową aplikacją ma trochę tego swojego narzutu pod postacią obsługi natywnych zachowań. Na przykład nawigacja. Nawigacja w aplikacjach mobilnych jest trochę inna niż w aplikacjach webowych. I teraz możemy oczywiście iść po najmniejszej linii oporu i zrobić Dokładnie 1 do 1 Web Native, ale wtedy użytkownik coś czuje, że coś jest nie tak. I tutaj mamy, musimy właśnie dobrać trochę to, czy chcemy robić taki bardzo look and feel i taki, no właśnie, te anglikanizm, takie wrzuty.

Tak w skrócie. No właśnie, czyli są powoli, pojawiają się nowe rozwiązania, które adresują ten problem, czyli piszesz kod raz i dostarczasz absolutnie wszędzie, nawet do twojej lodówki i po prostu taki jest kierunek. Żeby ta hybryda, to nie była już hybryda, tylko po prostu one solution. Właśnie, to jest bardzo ważne, co ty mówisz, bo ten socket supply i chyba tak samo jak Tauri, oni robią to trochę inaczej. Tam nie ma tego kontenera, nie ma tego wrapera. A co jest? Po prostu cały kod jest zamieniany, webowy kod jest zamieniany w binarkę. A to nie brzmi jak Flutter, React Native, Native Script? No może tak, może tak. Nie sprawdzałem jeszcze. Ja też nie, ale na pewno warto obserwować.

Pokazano wszystkie 9 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.