no hejka #programowanie #react #kotlin #reactnative
chce się nauczyć pisac apki mobilne i wciąż się nie moge zdecydować na konkretna technologie :C
obecnie jestem react developerem, więc react native to tak praktycznie z marszu moglbym pisac, no ale to nadal react, nadal ten sam framework, jakies to chyba malo rozwijajace? idk
z drugiej strony chyba jedyne sensowne rozwiazanie to kotlin, gdzie ucze sie nowego jezyka, nowe koncepty, piszesz apki natywne i w koncu to nie ten sam JS i niby wszystko spoko, ale zanim zaczne pisac apki to troche minie, a i w pracy ostatecznie duzo bardziej zyskalbym na react native, no bo czesto szukaja z obydwoma, wiec i boost do zarobkow moglby byc lepszy, gdzie kotlin nie do konca da mi boost do zarobkow, za to da mi ewentualnie bezpieczenstwo, bo zawsze to dwa jezyki i duzo wiekszy wybor pracy w przyszlosci
eh no nie wiem, trudna decyzja -> macie jakies przemyslenia na temat tych dwoch technologii?
Razikus

Cześć

Moje przemyślenia - większość aplikacji zrobisz spokojnie w czymś jak react native czy cordova itd

Ja używam bezpośrednio Kotlina wtedy jak wiem że aplikacja będzie korzystała z jakichś featurów sprzętowych (nie standardowych) - np NFC ale do raw komunikacji

Albo geolokacja w tle


Podejrzewam że już teraz i tak mogą gdzieś być pluginy które na to pozwolą i tak


Odpowiedz znalazłeś sam - więcej plusów masz od react native

Karierowo i życiowo

TheSuyush

@Razikus A co myślisz o Django? W pracy pisze różne skrypty i całkiem spoko mi się to pisze w pythonie chociaż wolę ASP.net. c# dużo lepiej znam ale te skrypty w pythonie dużo łatwiej mi się pisze nawet o Django zahaczylem żeby je sobie wyzwalać przez przeglądarkę

llama

@najkk napisz sobie jakąś szybką apkę w RN, ot tak żeby wiedzieć z czym to się je. Potem przerzuć się na Swifta lub Kotlina (+ Jetpack Compose).

tortoise

@najkk tworzę apki mobilne w RN od praktycznie początku jego istnienia, ma swoje wady (np. słaby DX w porównaniu do innych rozwiązań, upgrade wersji RN w projekcie może być bolesny, często autorzy paczek nie nadążają za zmianami w architekturze RN) i całą masę zalet, jeśli znasz Reacta to będzie to naturalne przejście (Kotlin ograniczy Cię wyłącznie do jednej platformy), multiplatformowy jest jeszcze Flutter i jeśli preferujesz podejście OOP bardziej od FP to możesz też rozważyć


nadal ten sam framework, jakies to chyba malo rozwijajace


tutaj się nie zgodzę, tworzenie apek mobilnych to nie tylko kod, to wiele bardziej złożony proces: musisz poznać guideliny Apple/Google, żeby aplikacja nie została odrzucona po wysłaniu do sklepów, musisz wiedzieć jak zautomatyzować proces releasu, czy budowania apki na potrzeby testów, musisz wiedzeć jak działają uprawnienia na iOS/Android (generalnie musisz poznać config projektów natywnych), a jeśli tworzyłbyś projekt z obsługą płatności to zabawy jest więcej w panelu Apple/Google niż w samym kodzie

najkk

@tortoise no akurat Kotlin ma KMM ktory chyba dziala dosyc spoko, w 2023 ma byc release stable wersji


czyli twierdzisz ze nawet jak wezme RN, to potem niezaleznie od jezyku development apek bedzie latwiejszy i pewna wiedza jest uniwersalna? xd


bo troche sie boje zamykac w jednym frameworku, w react calkiem spoko mi sie pisze i obecnie jest na fali, no ale nie wiadomo co bedzie za 2/3 lata, dlatego ciagle mysle czy nie miec dwoch scieżek kariery otwartych, zamiast jednej, wiekszej i szybszej


@llama skoro mialbym sie przerzucic na swifta lub kotlina, to po co w ogole zaczynac z RN? to chyba sie nie dodaje


a mimo ze preferuje o wiele bardziej ios niz androida, to chyba nie chce brnac w swifta, ktory wlasciwie obecnie obsluguje jedna firma i pisze sie w nim produkty tylko dla nich. Kilka zlych decyzji biznesowych apple moze szybko sprawic ze ios/swift odejdzie do lamusa, kotlin jest uniwersalniejszy, KMM brzmi bardzo przyszlosciowo

tortoise

@najkk


pewna wiedza jest uniwersalna?


tak, zdecydowanie, bez znaczenia na język będziesz wiedział jak podejść do niektórych tematów (nawigacja, uprawnienia, płatności, obsługa gestów, itd.)


jak już wgryziesz się w RN to na pewno nie jeden raz zajrzysz do kodu natywnego paczek (czasami trzeba coś zpatchować), tym samym z czasem poszerzysz wiedzę w tym zakresie


Kotlin i Swift są bardzo podobne do siebie, zakładam, że dla osoby znającej dobrze Kotlina przejście na Swifta nie byłoby czasochłonne (i odwrotnie), a co do RN, to chyba największą wadą jest… TypeScript jak piszesz w innych językach to dostrzegasz ułomność i braki w TS: brak pattern matchingu, brak pipeline operatora (choć to feature języków FP to mimo wszystko fajnie byłoby gdyby był), słaba inferencja typów i kilka innych mankamentów (niektóre z nich są w proposalach, ale długa droga, żeby weszło w najbliższym czasie)

najkk

@tortoise polecisz jakas libke UI do react native? cos w stylu tailwinda/chakry? tam tez raczej na czyms takim sie bazuje?

llama

@najkk skoro znasz JSa to wejście w RN będzie łatwiejsze, dużo szybciej zobaczysz efekty pracy + liźniesz trochę konfiguracji natywnych apek + potencjalnie będzie to jakiś bonus do CV. No i późniejsze wejście w Swifta/Kotlina będzie nieco łatwiejsze.


No chyba, że korci cię, żeby sprobować totalnie czegoś innego, wtedy to inna kwestia Pozdro!

tortoise

@najkk nie polece żadnej w zasadzie bo nigdy nie korzystałem z gotowców (projekty nad którymi pracowałem miały tak złożony UI, że nauka i customizacja gotowców byłaby bardziej czasochłonna, jedynie komponenty do "układania" elementów na ekranie mają wartość), ale łap kilka linków:

https://tamagui.dev/

https://reactnativeelements.com/docs

https://reactnativepaper.com/

https://mobily.github.io/stacks/

https://wix.github.io/react-native-ui-lib/

https://akveo.github.io/react-native-ui-kitten/

najkk

@tortoise a widzisz, to myslalem ze raczej bez takiego czegos to sie nie podchodzi do developmentu, tak jak w react zawsze bierzesz jakas biblioteke, czy to material ui czy tailwind

Zaloguj się aby komentować