Android Programjaim

Android fejlesztes, java, kotlin, web.. miegymas:)

React Native-rol kis gondolatmenet

2018. május 21. 07:54 - lacas82

Kicsit koran van meg nekem, de azert megprobalok osszeszedett lenni. A react native tapasztalataimrol fogok irni egy kis szosszenetet. Tavaly ev vege fele nem volt mas munkam nativ androidban, igy 3-4 honapra elvallaltam egy react native fejlesztest. Gyakorlatilag 10+ evet webfejlesztettem, es android 8+ ev, valamint meglattam a react native peldakodokat, es pofon egyszerunek tuntek ezek utan. Ossze volt kb gyurva a webes tartalom a nativval, kis JS-el.
Ezek utan par nap alatt boven el lehet sajatitatni a nyelvet, egyedul talan a redux okozott fejtorest egy ideig.

Nagyon negativ leszek a posttal, mert oszinten amilyen konnyu a nyelv, maga a fejlesztes mar siralmas. Azt hiszem atom.io-t vagy vs.code-ot hasznaltam ra. (vs.code-ot hasznalok mostansag a ceges weblapom fejlesztesere, es arra elmegy)

Szoval a vs.code es atom.io-kkal a problemak: rekaftoralas, leginkabb ez hianyzott benne, persze sok apro dolog is van ami nem jarja. Egy android studion nevelkedett coder vagyok, eclipse utan. Eclipse-rol is azert valt az ember, mert keves. Legalabbis keves volt akkoriban. Erre odaraknak eled az AS utan egy ilyen rettenetet, amiben minden korulmenyes, refaktoralni eleg nehez... De igazabol meg ez se problema annyira. Inkabb VS.code, mint atom.io.

Magarol a nyelvrol mar beszeltunk, szinte css + javascript kis nativ elemszerusegekkel fuszerezve. Ezzel nincs bajom.

Akkor jojjon a kovetkezo: maga a build, a parancssorok, a stb.

Mert leginkabb itt valik fajdalomma az egesz tortenet. A Facebook azt szajkozza mekkora kiralysag az egesz es hogy sok nagy appot is ebben fejlesztenek. El nem tudom kepzelni ezt.

Nalam sok kis problema felmerult, amire most emlekszem az az, hogy pl:

- nem frissult a kod emulatoron
- dobta a piros hatteru random hibakat emulatoron
- nem frissult le a kod device-en
- dobta a console-ban a piros betus hibakat
- random hibak jottek elo, de ugy hogy semmit sem valtoztattam, egyik nap ment a build, masnap mar masik hibat irt buildkor...
- vagy pl egy terkepre akartam POI-t rakni (image-t), es egyszeruen nem ment, ezert egy sima kort kellett oda rakni, talan mert mindig kinagyitotta?
- hiaba irsz nekik a githubon, hogy segitsenek, nem megy ez meg amaz, nem nagyon tudjak az okat, vagy: "meg nincs implementalva"
- vagy latod, hogy az emailedre honapok mulva is jon az altalad megnyitott hiba topicra a next developer random hozzaszolasa, hogy neki sem megy, mit tegyen

Szoval ezek vicces/fajdalmas dolgok. Garantalom, hogyha kihivast keresel, es 2 het alatt 2 ev oregedest es osz hajszalat, akkor ezt a cuccot neked talaltak ki.

Jah meg egy olyan is volt, amit mar senki se tudott megoldani:D

- ugye vannak build parancsok react native-al, sajnos ha ezeket nem pont a megfelelo idoben es sorrendben irod be, elhasal az egesz folyamat...

- volt, hogy frissitettunk (alt+enter) a libraryk verziojat, majd jott egy ujabb build ugye, ilyenkor mar androidra nem is buildelt szerencsetlen. Erre senki se tudta a valaszt, miertjet. Egyedul ugyanis en voltam andoridbol/javabol olyan szinten, hogy rajojjek. (ez most nem henceges, de tenyleg, ha itt nem vagy profi androidbol+iosbol+webbol, akkor baszhatod, mert egyedul a budos eletben nem fogsz tudni fejleszteni normalisan ra szerintem)

tehat a hiba az volt, hogy ugye mikor lehuzza a sok kis libraryjat, akkor azok java projectek. es voltak olyan hibak benne, hogy xy projectben mar nem voltak olyan interface-ek, amikre hivatkozott a masik, stb... Na ebbol volt 3-4. Ezt igy kezzel kellett manualisan kicommentelni...

- ez az app pedig egy kulfoldi kis futar app volt, semmi nagy dolog nem volt meg benne...terkepes cucc az egesz kb, rendelesekkel..

Es akkor a megfelelo sorrend build+runra:

cd project
cd android && gradlew clean
cd .. && react-native start
cd project && react-native run-android


Osszegzeskent: Sok kis apro hibaval rendelkezik a react native, amit eddig meg egyertelmuen a fejleszto legyilkolasara talaltak ki. En nem ajanlom senkinek, de ha a kihivasokat szereted, akkor hajra. Nekem meg 18-20 evesen ment ez, de 35 evesen mar nem jo az infarktus kozeli allapot es a magas vernyomas. :D

Talan a Flutter mar orvosolja a crossplatform cuccok hibait, mivel a Google kesziti. Lehet, hogy 2018-ban sikerul letrehozni egy normalis crossplatform cumot, amivel nem lesz szivas fejleszteni? Orulet lenne...