
How I learned React Native in a weekend and shipped an app - enoex1
http://vasir.net/blog/programming/react-native-beginner-tutorial-overview
======
cableshaft
I have prior ios experience and was able to get the view side of React Native
working without much problems, but once I started needing to store something
on the device (especially trying to understand Redux and other similar
solutions), I hit a pretty solid wall in my development and eventually put it
on the backburner.

It looks like you might have been able to bypass this in your app, but if not,
how did you approach that aspect of it?

~~~
mambodog
You probably don't need Redux if it's just simple persistence of data.

The simplest option is just to read and write a blob of JSON using the
AsyncStorage API: [https://facebook.github.io/react-
native/docs/asyncstorage.ht...](https://facebook.github.io/react-
native/docs/asyncstorage.html)

Another option you could try is Realm, which is commercial but has a free tier
(even for commercial apps) and has a pretty simple API:
[https://news.realm.io/news/introducing-realm-react-
native/](https://news.realm.io/news/introducing-realm-react-native/)

Another is the SQLite module which comes with Expo:

Docs:
[https://docs.expo.io/versions/v16.0.0/sdk/sqlite.html](https://docs.expo.io/versions/v16.0.0/sdk/sqlite.html)
Example: [https://github.com/expo/sqlite-
example/blob/master/main.js](https://github.com/expo/sqlite-
example/blob/master/main.js)

~~~
saurabh
Highly recommend realm, works like a charm and has migrations too.

~~~
cableshaft
I'm sure it works great, but I dislike adding too many layers to my apps. I've
been burned too many times by companies that have stopped supporting and moved
on to something else, or disappeared, or haven't kept up with the latest iOS
changes, or whatever, and I'm forced to migrate to a different solution, to
let myself use these for my personal projects, where I have very limited time
and energy.

Even using React Native is more than I'd normally do, but I don't see a better
cross-platform option right now.

------
esturk
Prior iOS development certainly helps a lot. From my experience, a lot of time
were spent debugging on Xcode to build the app itself.

------
huangc10
You mentioned you previously shipped iOS apps. How was the Android integration
with React Native?

Is it easy for someone unfamiliar with Android dev environment to push to Play
Store?

~~~
enoex1
Yes, quite easy! I have very little android dev experience. Android
integration was excellent, I had zero issues. It was easy to ship to the play
store (faster and less painful than iOS. And if you need to modify something,
you don't need to wait days to get it re-approved).

If you're playing "within the bounds" of what React Native provides, it's
wonderful. If you're doing some fairly custom things you may need to drop down
and write Native Modules ( [https://facebook.github.io/react-
native/docs/native-modules-...](https://facebook.github.io/react-
native/docs/native-modules-android.html) ), but the ecosystem is growing so
fast that there are so many third party libraries that cover many of the
custom things you'd want to do ( [https://github.com/jondot/awesome-react-
native](https://github.com/jondot/awesome-react-native) )

~~~
huangc10
thanks! this is really good news. I'm sort of in the same shoes as you. I work
as an iOS developer and I wrote React for fun on the side.

Knowing how easy to is to ship to Android Studio is an added benefit.

------
AjithAntony
Couple notes about the android app

    
    
       - the icon is broken, all I see is the green android face
       - when i log in to youtube, it says the log in is from an Iphone per my google security alert
       - the back and forward arrows don't look right.  They don't have the right icon to be a visual cue for back and forward.  They look more like previous and next.
       - would be great to handle full screen
       - video speed is not preserved when starting a new video.

~~~
gdrift
Also it seems to require too many permissions for what is does.

------
jtchang
From where React Native is headed it sounds like it is going to significantly
devalue the experience of a lot of native iOS and Android developers.

------
rocky1138
This is why we need mobile devices that run a full operating system and full
browser. Missing features and incompatibility make mobile useless in many
real-world cases.

Why can't we just watch YouTube videos in Chrome on a mobile device?

~~~
ihuman
> Why can't we just watch YouTube videos in Chrome on a mobile device?

Is this an issue on android? I can do this without problems on iOS (with both
iOS Chrome-skinned Safari and regular Safari)

~~~
npolet
It really isn't a problem on android. YouTube works perfectly on android
chrome, but chrome tends to open the YouTube app on android since it's
installed by default.

------
anotheryou
What did you earn and how much mobile development did you previously do?

------
joojoos27
Do you think it's possible to monetize this to make it a full time gig?

~~~
skinnymuch
Easy answer. No. Not for just this app.

------
randomsofr
I don't understand the purpose of the app, can someone explain?

~~~
ArchReaper
He built an app that lets you change the playback speed of youtube videos on
phones.

------
rtuin
"I do experience with React, but none with React Native."

Oh

------
mdekkers
The header animation is terribly distracting and annoying. I though "let's
follow the mouse pointer with something gimmicky" went out the door with
geocities.

------
literallycancer
What's with the flickering header?

~~~
enoex1
It's a voronoi + boids visualization that flocks around the mouse (and each
other).

In honesty though, it's literally eye cancer ;P

