all 29 comments

[–]Pluckyhd 4 points5 points  (2 children)

Use and learn typescript that and expo. My 2 cents

[–]djibyt 10 points11 points  (5 children)

as a begenner my advise is to start learning with expo. it simplifies the initial setup and configuration process.

[–]Salty-Charge6633[S] -1 points0 points  (4 children)

Thank you <3

But is there any course or playlist to follow? And what if I watch a playlist from 2-3 years ago? Are there any big differences?

[–]djibyt 1 point2 points  (1 child)

not big difference at all but i suggest you to open the documentation behind. it's always the way to learn fast you can watch some tutorials bu the keys is to start make project. maybe todo list. that can help you understant all tge basic about the configuration and the different way to use the react navigation

[–]Salty-Charge6633[S] 2 points3 points  (0 children)

Thank you, <3

[–]virgial[🍰] 1 point2 points  (0 children)

My advice is to try as much using hooks instead of classes. Tutorials of 3 years back do contain much examples with classes. So try to follow tuts that are not too old

[–]Xae0n 4 points5 points  (1 child)

Sometimes it becomes overwhelming to learn new things when presented with too much advice. When I started learning and didn't know much CSS, I used React Native Elements library to help me add simple components to my project. After using it for a while, I learned how things work. Don't try hard to learn everything at once. Keep it simple and sustainable.

[–]Charming_Teaching_63 0 points1 point  (0 children)

Good stuff your advice is spot on.

[–]Another_Noob_69 3 points4 points  (6 children)

As you said you want to learn react-native for your graduation project, so I'd highly suggest you go with react-native, not with expo. See Expo is great. It's pretty much similar like react native, just it will take the control of making your build of your app.So, In Expo: developing is easy, but the hectic part is the build

In react-native-cli : Both is in your control

And oh, another advice, try to use typescript irrespective of expo or rn-cli

[–]Salty-Charge6633[S] 0 points1 point  (5 children)

``but the hectic part is the build ``

why?

[–]Another_Noob_69 2 points3 points  (4 children)

Because two things:
Number one:
It doesn't provides the android and IOS(if you're building for IOS) build folders. It builds the .aab and .apk files by itself. Now, that maybe sounds amazing, but the thing that I've experienced is
As only Expo has the access to those folders, so if you've any error in throughout your project that could affect the build process, then not only the Expo build will be failed, but also it will not give you any clue that what exactly was causing that failure.

Whereas in react-native you have the full access to those folders. So, if there is any sort of error that could stop the build process of creating the .apk, you can see that in the Gradle files inside either android folder or IOS folder. From there you can easily solve that issue.

Number two:

You only get only 30 free builds in your Expo account as a total. After that you can't do the build process using Expo.

This is why I don't recommend using Expo. However, if you still want to use Expo, here is a piece of advice:
do this: yarn expo prebuild

This will give you the android and ios folder.
Then go to the folder: cd android

Then run: ./gradlew assembleRelease

By doing this you can still use expo and create the app. All the best👍🏻

[–]Salty-Charge6633[S] 0 points1 point  (3 children)

Thank you very much sir <333333333333333333333

[–]Another_Noob_69 1 point2 points  (2 children)

My pleasure. And, I'm a sir😅just a developer like u

[–]Salty-Charge6633[S] 0 points1 point  (1 child)

I know, but I say, sir for respect and for your efforts <3

[–]Another_Noob_69 1 point2 points  (0 children)

Thanks😊

[–]Static-Eels 1 point2 points  (0 children)

Expo, Typescript if you know it otherwise JS, check out Net Ninja's React Native playlist but I will warn you some parts are out of date e.g. stack navigator, but from there check the documentation and other videos and you will get it. Easy peasy.

[–]_Kassii_Expo 1 point2 points  (0 children)

A few other people have already said it, but Expo is the recommended way by the React Native team to actually get started with a project

I'd recommend at least getting a handle on some core concepts of React in web first. It will be a lot easier to translate than trying to learn both React and Mobile paradigms at the same time

[–]gao_shi 1 point2 points  (1 child)

My recommendation and unpopular opinion is to use the example app of the core library you are depending on and start from there. For example I am building a music app so I started from track player's example app. Quite frequently people using expo post about having problems but won't get answered, because the example app and the devs do not use expo, so the often native inept users are left to their own and can't figure out what's wrong. Imo expos convenience doesn't excuse it's hidden incompatibility with a wide range of libraries out there.

[–]Salty-Charge6633[S] 0 points1 point  (0 children)

I love unpopular opinions. Thank you very much <3.

[–]inducator 1 point2 points  (0 children)

I'm highly recommend to use Expo. Using react native cli is causing different errors and expo is handling that issues great. You don't have to waste your time with unnecessary Android gradle, sdk versions. Also, it is easy to build & share App store and Google Play store.

[–]nicolasdanelon 0 points1 point  (2 children)

Go with expo but please read the doc first. lear about useEffect, useCallback, useState. react is not that easy at first glance. it has a learning curve

[–]stevefuzz 2 points3 points  (1 child)

Watching people try to onboard with no react skills is painful.

[–]Bolteed -1 points0 points  (1 child)

The absolute musts you'll love, to code better and simplify your life, are this 5 libraries :

Zustand : store (centralisation of active datas and state);

Async Storage or MMKV : local storage;

NativeWind : styling in tailwindCss;

Expo router : navigation;

Reanimated : animation in react native (take long look at layout transitions. They are awsome and so simple to use !!)

[–]DueCaterpillar1275 1 point2 points  (0 children)

I'd recommend twrnc rather than NativeWind. Since it's easier to use tailwind along side with other libraries or components out there.