Mentionsy Mentionsy
ITeracja by EL Passion
ITeracja by EL Passion

#11 Dev Experience w React Native i Flutterze. Agnieszka Młyńska i Michał Warda

11.05.2023 ·48 min 20 s · 5 rozdziałów

W najnowszym odcinku ITeracji Agnieszka Młyńska (React Native Developer) i Michał Warda (CTO) porównują dwa najpopularniejsze crossplatformowe frameworki - React Native i Flutter. Czym różni się React Native od Fluttera? Czy łatwo “przestawić” się z jednego frameworki na drugi? Które community prędzej pomoże ci w razie problemów? O tym, i nie tylko, posłuchasz w ITeracji. Dołącz do naszego zespołu!: bit.ly/ELP-Careers Zapisz się do newslettera i nie przegap świeżych newsów ze świata IT: bit.ly/El-Digest Odwiedź naszą stronę: iteracja.elpassion.com

0:00 · Wprowadzenie i Dev Experience React Native 1

Wszystko u mnie działało. Oczywiście Android Studio instalowało się przez pół godziny, ale powiem szczerze, że cały experience był bardzo płynny. Mam wrażenie, że też się w miarę szybko kompilowało. Od momentu, kiedy ostatnio skorzystałem z React Native wymieniłem kompa, ale też nie jest to jakaś bestia kompletna, więc wszystko działało w miarę szybko. I myślę, że jeżeli ktoś już miał styczność z React Native, to z perspektywy Dev Experience to było dla mnie naprawdę spoko. Jak było we Flutterze? No to tutaj ja niestety aż tak łatwo nie miałam, żeby nie trzeba było w tutoriale patrzeć, bo jednak musiałam zajrzeć do tej dokumentacji.

9:39 · Dev Experience Flutter - Setup i Testy 4

No dobra, a jak we Flutterze? Ja akurat we Flutterze nie podejmowałam jakby próby ogarniania testów, bo samo ogarnięcie składni jak to w ogóle ruszyć, no bo mimo wszystko to wygląda zupełnie inaczej niż taki React Native, do którego jestem przyzwyczajona. Zamiast komponentów mamy jakieś magiczne widżety, które w sumie niby zachowują się podobnie, ale tak nie do końca. Jakieś takie rzeczy w stylu stylowanie oczywiście też jest, ale nie jest to wyodrębnione tak jak w React Native, tylko składniowo wiadomo to wygląda zupełnie inaczej, no inny język. Więc tutaj ja podejścia do testów szczerze mówiąc nie robiłam, bo stwierdziłam, że

Agnieszka Młyńska, Michał Warda. Myślę, że to by nie poszło i tak jak patrzę na to dzisiaj, to wiem, że dobrze zrobiłam, że nie zaczynałam tych testów, bo bym nie zdążyła zwyczajnie, nie? Okej, ale z tego co, bo ja też trochę we Flutterze, może nie akurat do tego zadania, ale trochę się bawiłem wcześniej, To jeżeli chodzi o setup, to tutaj jest też bardzo fajnie pod tym kątem, że jest ten testowy renderer, też można odpalać tak testy i też można, nawet ten testowy renderer działa tak bardziej niż ten, który jest w React Native, analogicznie do

Więc jestem ciekaw tego, wiem, że nie zdążyliśmy, ale z perspektywy Dev Experience'u jeszcze takie jakbyś powiedziała o Poza postawieniem aplikacji. To, co mi tak naprawdę chyba najmocniej pomogło, to była taka bardzo fajna sekcja w dokumentacji Flutterowej, a mianowicie Flutter dla React Native Developerów. I to jest naprawdę bardzo fajnie przemyślana ta dokumentacja, no bo Flutter jest rozwijającym się cały czas frameworkiem i takie wydaje mi się, że jest dosyć duże parcie w tej chwili na Fluttera. Więc jakby ta sekcja taka, bo wiadomo nie tylko dla React Native developerów, ale jest wyszczególnione dla tych, co dewelopują natywne aplikacje, dla Androida, dla tych co web i tego typu rzeczy.

Więc próbują zachęcić tych innych developerów, żeby jednak przyszli do Fluttera. No i jak to wygląda? Wygląda to w ten sposób, że mamy wyszczególnione różne rzeczy, które ogólnie są w React Native i od razu pod danym przykładem, na przykład w React Native mamy view, jakiś kontenerek na kawałek ekranu załóżmy, no i jest od razu wyszczególnione, że w React Native wygląda to tak, a we Flutterze wygląda to w ten sposób. No dla mnie, jako osoby, która w React Native robi, to to ułatwiało trochę tak naprawdę pierwsze uruchomienie, napisanie pierwszych ekranów, bo myślałam sobie tak, no w React Native zrobiłabym to tak,

15:03 · Biblioteki i Dokumentacja 2

Więc to jest spoko, ale chcesz znaleźć jakąś jedną przykładową rzecz i masz wylistowane wszystkie klasy widżetów dostępne we Flutterze. No i jeżeli nie wiesz, czego do końca szukasz, to nie jest w żaden sposób pokategoryzowane, więc tam było mi się, szczerze mówiąc, bardzo trudno odnaleźć. Też niektóre rzeczy w sumie, no to też jest jakiś tam Dev Experience, bo na przykład niektóre komponenty w stylu ten nasz input we Flutterze, z tego co ogarnęłam we wczorajszym researchu, są dwa rodzaje inputów, z czego jeden działa w formularzu, a drugi nie. Dla mnie to było ogólnie zaskoczenie, że input nie musi koniecznie działać w formularzu.

Myślisz, że gdybyś była bardziej zaznajomiona, to byś chciała pracować w tym stoku technologicznym? Myślę, że w sumie czemu nie? Można by było tego ogólnie spróbować. Można by było spróbować tego na jakichś, nie powiem, że bardziej zaawansowanych rzeczach, ale po prostu na takich bardziej skomplikowanych rzeczach, w stylu właśnie to, co też na początku wspominałeś, jakieś natywne moduły, podpięcie. Nie wiem, nawet płatności, nie? Zobaczenie po prostu, jak to wygląda, bo tutaj nie jestem pewna. To, co trochę mnie martwi, nie martwi we Flutterze.

24:18 · Community i Integracja z Natywnymi Modułami 3

No dobra, to porozmawiajmy o tych paczkach we Flutterze. Jak to wygląda we Flutterze? We Flutterze wygląda to tak, że większość rzeczy nie jest w oddzielnych paczkach, bo jest po prostu we Flutterze bezpośrednio. Więc z jednej strony Flutter ma zdecydowanie mniej dostępnych paczek niż React Native. Z drugiej strony Flutter ma zdecydowanie więcej rzeczy sam w sobie, więc może nie ma potrzeby Tak, no tak.

Myślę, że bardziej o aktywności community przekonalibyśmy się pisząc jakieś bardziej zaawansowane rzeczy, po prostu napotykając jakiś taki problem. Ciężki do ogarnięcia ogólnie i myślę, że problem flutterowy jak flutterowy. Czy Dart jest Dart, czyli język używany we flutterze, jest używany gdzieś poza flutterem? Bo ja szczerze mówiąc próbowałam to znaleźć i znalazłam jakiś jeden framework związany z server site renderingiem bodajże. I no tak zaczęłam patrzeć, że oni się chwalą, że to jest w Dart'cie, tylko że ich repozytorium jest od dwóch lat zarchiwizowane.

No i w sumie to nie wiem, czy ten projekt jest jakby rozwijany, czy nie. I jakby do czego zmierzam? Do tego, że community flutterowe to jest community trochę developerów Dart'a, a nie wydaje mi się, żeby ich było bardzo dużo. Więc tu na potkanie na problem może się skończyć ciężko, nie? Okej, ale też trzeba pamiętać, tutaj myślę, że trzeba by było wziąć pod uwagę to, jak bardzo nie jest to częścią naszego researchu, ale warto by było się zastanowić, jak trudne jest integrowanie z natywnymi modułami, co nie? No bo jeżeli jest stosunkowo proste, to hipotetycznie możemy wtedy jeszcze polegać na dużo szerszym community natywnych deweloperów, ale to wtedy już jest nie fair, bo tak samo w React Native moglibyśmy wtedy polegać na tym samym community.

38:40 · Community Flutterowe i React Native 3

Więc nie są często kompatybilne, trzeba poczekać z przesiąściem się na kolejną wersję, ale chce się ludziom i nie wygląda jakby to zaangażowanie spadało. Wręcz przeciwnie. Myślę, że do tego świata React Native'owego co chwila nadchodzi nowa fala osób, które wymyślają to kolejne rzeczy i jest ogromne to community. Ciekawostka, bo tak jeszcze ze swojej perspektywy sprawdziłem, jak chat GPT odpowiada mi na pytania związane z React Native'em i odpowiadał bardzo fajnie. W sensie te rzeczy, które ty miałeś w dokumentacji. Jak jestem Reactowcem, to jak napisać we Flutterze? Chat GPT, jak piszę na webie tak, to jak napisać w React Native albo coś?

To odpowiadał mi fenomenalnie. Obawiam się tego, jak by sobie radził z Flutterem, skoro jest tak... Stosunkowo mało contentu online. To w następnym odcinku. Tak, wszystko w następnym odcinku. Prawdzimy. Wszystko w następnym odcinku. Jak to GPT koduje w React Native i Flutterze. Tak, dokładnie. Dobrze. Mamy temat. Tak, mamy temat kolejny. No, więc jeżeli chodzi o community, to ja uwielbiam to community. Uwielbiam i nienawidzę. Ale raczej uwielbiam. No wiesz, przede wszystkim to jest też to, że community React Native'owe to jest community React'owe tak naprawdę, to jest community JavaScript'owe, TypeScript'owe i po prostu, jeżeli masz jakiś problem, masz jakieś pytanie, to na 99% znajdzie się ktoś, kto miał dokładnie ten sam problem i już obojętnie, czy to będzie TypeScript, czy JavaScript, czy po prostu...

Cokolwiek innego, to raczej to już gdzieś jest, nie? Tak, tak. No tylko trzeba umieć szukać. Jak wszędzie. No tak, ale przynajmniej we Flutterze szukasz dokumentacji. Tak, tak. Ale to ciekawe, czyli Google sobie samemu psuje rynek, bo jak daje ci tak dobrze odpowiedzi, to ludzie nie googlują odpowiedzi. Dobra, to dla mnie community javascriptowe daje 5 na 5. W sensie community React Native'owe daje 5 na 5 dla Ciebie Flutterowe? Ja bym powiedziała tu też podobnie, czyli jakieś 3,5-4, bo nie jestem przekonana, czy znalazłabym odpowiedzi na swoje problemy gdzieś w internecie.

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