React Native: 10 pytań do eksperta

– Moja droga do roli developera, a potem konsultanta React Native? Jak to zwykle bywa, o wszystkim zdecydował szczęśliwy zbieg okoliczności i praca przy projekcie, w którym CTO polecił właśnie tę technologię. Aktualnie mam za sobą dziesiątki projektów i wiem jedno: to był zdecydowanie dobry wybór – mówi Bartek Klukaczewski, który w STX Next pełni rolę Konsultanta React Native.

Jesteście ciekawi, z czym związana jest jego praca i jakie projekty związane z React Native realizujemy? Zapraszamy do lektury!


Bartku, aktualnie w STX Next pełnisz rolę Konsultanta React Native, jednak to nie React Native stanowił początek Twojej developerskiej przygody…

Rzeczywiście. Swoją karierę rozpoczynałem od… Pythona, przez jakiś czas tworząc rozwiązania właśnie jako Python Developer.

Bartosz Klukaczewski - Konsultant React Native

Jak więc to się stało, że przerzuciłeś się na przygotowywanie rozwiązań mobilnych?

Jak to w takich sytuacjach często bywa, zadecydował o tym… przypadek.  

W pierwszej połowie 2016 roku pracowałem w projekcie, którego celem była pomoc uchodźcom podczas kryzysu humanitarnego. Była to baza wiedzy od rzeczy podstawowych – takich jak schronienia, prysznice, pomoc lekarska – aż po pomoc prawną czy ułatwienia w rejestrowaniu się w urzędach.

Backend tego rozwiązania pisaliśmy w Pythonie. Były to czasy, gdy mało kto słyszał o React Native. CTO nowojorskiej organizacji, dla której tworzyliśmy to oprogramowanie, zaproponował właśnie ten framework. Zaryzykowaliśmy i stworzyliśmy aplikację dla tysięcy uchodźców w Europie.

Rozumiem, że ryzyko zdecydowanie się opłaciło…

Tak jak powiedziałaś, zdecydowanie! Stworzyliśmy apkę, z której korzystały tysiące osób. Co ciekawe, przy okazji obaliliśmy jeden z mitów mówiących o tym, że React Native jest zasobożerny. Aplikacja, którą stworzyliśmy, działa płynnie na telefonach z 512 mb RAMu, bo takie urządzenia były najbardziej powszechne wśród użytkowników.

Sam fakt dostarczenia dwóch aplikacji natywnych – dla iOS i Androida – w tak krótkim czasie sprawił, że postanowiłem bardziej zgłębić tę technologię. Od tego czasu pracowałem przy kilkunastu aplikacjach mobilnych w React Native i wypatruję kolejnych.

No właśnie. Nie sposób w tym momencie nie zapytać o samą technologię. React Native to stosunkowo młoda technologia, która szturmem wdarła się do wielu firm. Na pewno nie jedna osoba zadawała już Tobie to pytanie: dlaczego warto postawić na naukę i kodowanie z wykorzystaniem React Native?

Tak, to prawda (śmiech). Osobiście wierzę, że zdecydowanie warto, choć mam świadomość, że trudno przekonać do React Native programistów Android czy iOS – dla nich najprawdopodobniej lepszym rozwiązaniem do tworzenia natywnych aplikacji cross platformowych będzie Flutter.

Nie ukrywam, jest to obszar, który interesuje także i nas, i jako STX jesteśmy otwarci na pracę również w tej technologii. React Native szczególnie polecam natomiast Frontend Developer-om, którzy chcą po prostu móc zrobić więcej. PWA są świetne, ale nie oferują tyle, co natywne aplikacje. Do tego musimy walczyć z wsparciem dla starych przeglądarek.

W React Native tego nie ma. Oczywiście, są różnice między platformami, a nawet poszczególnymi wersjami jednego systemu, ale nie ma tutaj takich wyzwań, jak zapewnienie wsparcia dla Internet Explorer (śmiech).

Kiedy rozmawia się o React Native, często pojawia się także argument kosztowy.

Zgadza się. Tworzenie aplikacji cross platform, czyli działających zarówno na iOS i Androidzie, jest coraz bardziej powszechne. Oczywiście pisanie i utrzymywanie dwóch aplikacji jest bardzo kosztowne i nawet najwięksi gracze na rynku widzą tutaj pole do optymalizacji. Kiedyś jedynym rozwiązaniem były technologie hybrydowe oparte o HTML i CSS.

Jednak rozwiązania hybrydowe nie są do końca porównywalne do tych natywnych, choćby ze względu na User Experience. Głównym argumentem jednak za podejściem hybrydowym były niskie koszty tworzenia i utrzymywania aplikacji. React Native łączy dobre strony z obu tych podejść: dostajemy natywne rezultaty przy pomocy JavaScript, a próg wejścia do technologii jest naprawdę niski.

Polecam sięgnąć również do mojego artykułu, gdzie piszę na ten temat więcej i porównuję React Native z Ionic.

Według mnie projekty mobilne są po prostu ciekawsze niż te webowe – mamy więcej dostępnych API (więcej możliwości), rzadko zdarzają się wewnętrzne narzędzia dla korporacji, a sam klient jest bardziej startupowy.

Wspomniałeś o swoim pierwszym projekcie w React Native. Od tego czasu zrealizowałeś już wiele projektów, w tym sporą część współpracując z STX Next. Opowiesz trochę więcej o projektach, nad którymi pracowałeś lub pracujesz w STX-ie?

Było ich kilka, ale najciekawszym projektem był projekt Nota Nota, gdzie za pomocą aplikacji mobilnej możemy sterować dedykowaną maszyną do produkcji perfum. Był to bardzo niskopoziomowy projekt, gdzie komunikacja z maszyną odbywa się za pomocą Bluetooth.

Nota Nota

Jako programiści musieliśmy sobie przypomnieć podstawy zapisu binarnego liczb, specyfikację Bluetooth i wiele innych rzeczy, których nie używaliśmy w codziennej pracy programisty JavaScript lub Python.

Projekt jest też bardzo ciekawy od strony UX – nasz zespół Product Design zaprojektował proces wizualnego komponowania perfum. Po naszej stronie było zaimplementowanie tego w aplikacji mobilnej. Kolejną ciekawą rzeczą był sam rynek na jakim aplikacja ma działać – jest to Bliski Wschód, gdzie ludzie używają języka arabskiego i piszą od prawej do lewej. Było to spore wyzwanie dla naszej testerki Asi, która przez kilka miesięcy korzystała z telefonu i aplikacji po arabsku.

Podejrzewam, że ciekawych projektów było jednak zdecydowanie więcej…

Tak, zdecydowanie: od aplikacji smart home, Ubera dla nauczycieli, aplikacji medytacyjnej sygnowanej nazwiskiem Arabskiej Kobiety Roku, komunikatora dla szkół, po aplikację, która ma sprawić, że szwajcarskie miasta będą jeszcze czystsze. Wszystkie te aplikacje miały sporo funkcjonalności natywnych – żadna z nich nie mogła być PWA.

Bartek, w STX Next pełnisz rolę Konsultanta React Native. Z czym związana jest rola Konsultanta w firmie?

Jest to zdecydowanie rola, która łączy pracę w projekcie z pracą z klientem oraz wspieraniem procesu sprzedaży. Największą zaletą tego stanowiska jest właśnie to, że każdy dzień jest inny i nie ma tutaj czasu na nudę.
Na co dzień nie przynależę do jednego projektu – zdarzało się, że byłem w 4 projektach i kilku procesach sprzedażowych jednocześnie.

A styczność z kodem?

Nadal jest, ale jest tego zdecydowanie mniej. W niektórych projektach ogranicza się to tylko do code review i pomocy przy bardziej złożonych problemach, zazwyczaj związanymi z natywnymi funkcjonalnościami, jak np. powiadomienia push, komunikacja bluetooth czy geolokalizacja.

Ważny jest też sprawny przepływ wiedzy i doświadczeń między oddziałami i projektami. Taka wymiana doświadczeń bardzo często odbywa się przeze mnie, bo współpracuję ze wszystkimi biurami jednocześnie i często potrafię połączyć osoby z podobnym problemem, mimo że jedna osoba pracuje w Gdańsku, a druga we Wrocławiu.

W STX Next React Native stanowi jedną z odnóg biznesowych, Ty zaś sam bierzesz udział w rozmowach technicznych na stanowiska React Native Developer. Powiedz proszę, jakie są Twoje oczekiwania co do potencjalnego współpracownika? Czy jako rekruter techniczny wymagasz od kandydatów doświadczenia w React Native?

Wymagam przede wszystkim zainteresowania aplikacjami mobilnymi. Ciekawość i znajomość platform i różnic między nimi to podstawa. Prawdą jest, że w ciągu kilku dni dobry programista znający React jest w stanie nauczyć się sprawnie posługiwać się React Native. Mamy kilkanaście takich przypadków w STX Next. Oczywiście, wiele kompetencji przychodzi wraz z doświadczeniem i trudno w jednym projekcie nauczyć się wszystkiego, jednak zazwyczaj nawet jeden komercyjny projekt pozwala czuć się pewnie w tej technologii.

Podstawą jest więc dla Ciebie…

Zdecydowanie znajomość JavaScript, z dużym naciskiem na najnowsze standardy z ECMA Script. Pamiętajmy, że nic nas tutaj nie ogranicza. Ważna jest umiejętność stylowania we Flexbox, jako że RN korzysta z podobnego rozwiązania.

Od kogoś, kto już pracował z RN, oczekiwałbym doświadczenia w integracji natywnych bibliotek, a bardzo pożądanym doświadczeniem jest napisanie własnego natywnego modułu i doświadczenie w zarządzaniu aplikacjami w Google Play i App Store.

We are looking for React Native Developer

Aktualnie wspólnie z Matthew Harrisem rozglądasz się za kolejnym React Native Developer-em oraz Konsultantem. Powiedz proszę, dla kogo jest to dobra rola i z jaką osobą chciałbyś współpracować?

Obecnie mamy otwarte rekrutacje we wszystkich oddziałach STX Next i szukamy osoby, z którą moglibyśmy dalej rozwijać obszar React Native – potrzebujemy osoby samodzielnej i kontaktowej, która mogłaby nas wesprzeć w rozkręcaniu nowych projektów, zdobywaniu i rozszerzaniu tej kompetencji wśród współpracowników. Powinna to być osoba nastawiona na rozwiązywanie problemów i preferująca pracę w projektach około 3-6 miesięcznych. Po więcej szczegółów można sięgnąć w naszych ogłoszeniach w zakładce Careers lub bezpośrednio podczas rozmowy ze mną.

Dziękuję za rozmowę!

Przeczytaj również

Najciekawsze w Pozostałe

Odkryj Moc Spotkań Town Hall

Town Hall w firmie, czyli strategia na zespołową synergię Spotkanie Town Hall to platforma komunikacyjna, gdzie zarząd i dyrektorzy spotykają się z resztą organizacji ze wszystkich działów i szczebli, by w otwartym dialogu przedstawić osiągnięcia firmy, jej bieżące projekty i przyszłe kierunki rozwoju. To niezastąpiona okazja, by każdy mógł poczuć się częścią większego przedsięwzięcia i […]

Nauka DevOps – jak zacząć?

Nauka DevOps od podstaw nie jest łatwa. Nie bez przyczyny jednymi z najczęściej pojawiających się wyników w wyszukiwarce po wpisaniu hasła “devops” są: devops who know what czy devops where to start. Sprawdziliśmy to. Wychodzimy więc naprzeciw potrzebom tym, którzy szukają odpowiedzi na te i podobne pytania. Poniżej znajdziesz serię wyselekcjonowanych i praktycznych źródeł wiedzy, […]

Roślinny Tinder w React Native – mariaż dwóch pasji

Programowanie w React Native to sposób, by wynieść swoje pasje typowo offline do zupełnie nowego poziomu. Nasz Hrad of React Native jest twórcą popularnej aplikacji do wymiany roślin, Plantswapp.

Czytaj więcej

Kontakt

Masz pytania?