Mając doświadczenie w pracy z front-endem, chcieliśmy spróbować czegoś co pozwoli nam wykorzystać posiadane już umiejętności. Zastanawialiśmy się nad popularnym React Native i webowym Ioniciem. W przypadku Reacta problemem dla nas była licencja, która wówczas nie była jeszcze w pełni otwarta. Ionic z kolei zniechęcał nas ograniczeniami płynącymi z wyświetlania całej aplikacji niczym strony internetowej. Kiedy skłanialiśmy się ku wyborowi React Native, do gry wszedł NativeScript - dynamicznie rozwijający się framework pozwalający na tworzenie hybrydowych aplikacji mobilnych w JavaScript, TypeScript lub Angularze. Ostatecznie zdecydowaliśmy się dać szansę NativeScriptowi z Angularem, dlatego też w przyszłych postach będziemy skupiać się głównie na tych frameworkach.
NativeScript to opensource’owy framework pozwalający na tworzenie natywnych aplikacji jednocześnie na iOS’a i Androida. Jego wielką zaletą jest elastyczność w wyborze między pisaniem kodu w JavaScript lub TypeScript oraz innych frameworkach - Angularze i/lub Vue.js, a także łatwość w dostępie do komponentów, klas i funkcji właściwych dla danej platformy. Stworzenie aplikacji w NativeScript nie wymaga napisania ani jednej linijki kodu w Javie lub Objective-C/Swiftcie. Ciągle pojawiają się nowe pluginy poszerzające możliwości frameworka, tworzone przez aktywną społeczność. Dodatkowo zespół odpowiedzialny za {N} wypuścił świetne narzędzia, takie jak NativeScript Playground, NativeScript Marketplace oraz NativeScript Sidekick.
Aby rozpocząć przygodę z NativeScriptem nie trzeba nic instalować na swoim komputerze. Wystarczy wspomniany Playground. Jest to webowa platforma do tworzenia i testowania aplikacji w czasie rzeczywistym na swoim telefonie. Dla osób dopiero odkrywających czym jest NativeScript został przygotowany tutorial, podczas którego stworzymy swoją pierwszą aplikację - listę zakupów. Jest on dostępny tutaj. Do testowania budowanej przez siebie aplikacji, będzie potrzebny telefon z Androidem lub iOS oraz dwie aplikacje: NativeScript Playground oraz NativeScript Preview. Pierwsza aplikacja to skaner kodu QR naszego projektu, który możemy wyświetlić na stronie pod przyciskiem “Preview”. Po rozpoznaniu kodu jesteśmy przekierowani do aplikacji Preview, gdzie wyświetli się aplikacja, którą tworzymy na stronie. Wszystkie zmiany w czasie rzeczywistym ładują się na naszym urządzeniu, a projekt możemy zapisać i udostępnić komu chcemy!
Mimo tego, że NativeScript nie jest tak popularny jak React Native, zdecydowaliśmy się jednak na wypróbowanie {N}. Oba frameworki pozwalają tworzyć w pełni natywną, hybrydową aplikację. Za naszym wyborem stanął stack technologiczny naszego zespołu, czyli znajomość Angulara oraz fakt, że React Native w pewnych sytuacjach wymaga pisania natywnego kodu oddzielnie dla Androida i iOS’a. Aplikacja napisana w NativeScript ma dostęp do natywnego API bezpośrednio z poziomu kodu w JS lub TypeScript’cie, nie jest wymagane tworzenie tzw. mostów (ang. bridge, kod umożliwiający komunikację między natywnym API urządzenia i kodem napisanym w JavaScript). Dostępne już na początku naszej pracy funkcje i pluginy w pełni wystarczały do zrealizowania pierwszego projektu. Z biegiem czasu okazało się, że platforma jest rozwijana na tyle dynamicznie, że kolejne wersje frameworka przynoszą co chwila nowe optymalizacje oraz przydatne narzędzia jak Marketplace czy szablony projektów. Na bieżąco implementowane są także nowe wersje Angulara, co pozwala nam stale korzystać z najnowszych rozwiązań oferowanych przez oba frameworki.
Zero spamu - tylko wartościowe treści!: