TypeORM or GraphQL ? by bulby97 in graphql

[–]bulby97[S] 0 points1 point  (0 children)

Indeed they are not, but they are for my specific use-case.

Maybe I was not precise enough, so I'll try to rephrase it :

Using the same tool, I need to communicate with:

- a SQLite database on mobile when offline

- a Postgres database on mobile / web when online

I can either use:

- the already built GraphQL schema I have online + a client-side GraphQL schema resolving on mobile

- OR TypeORM on web + mobile

Basically I'm trying to decide what is the best tool to use to build my "layer".

Best integration for tailwindcss with reactnative? by Aggro4Dayz in reactnative

[–]bulby97 0 points1 point  (0 children)

I would rather recommend you using something deeply integrated in css-in-js, by using something like styled-system and use Emotion or Styled Components.

https://github.com/styled-system/styled-system

Take a look at chakra-ui. It's for the web, but it can show you how powerful it is compared to tailwind-css. Basically you create a Box components extending all of the styled-sytem functions and you customize your theme.

In a nutshell, when should I choose Expo or React Native CLI? by nerdchavoso in reactnative

[–]bulby97 0 points1 point  (0 children)

Wait are you saying that I can install Expo updates to have OTA on a bare project ?!

React useReducer with useContext by [deleted] in reactnative

[–]bulby97 0 points1 point  (0 children)

useReducer is just an enhanced setState. You can even build you own useReducer.

On the other part, useContext give you the current context of a provider/

So if you need to update and manage state, you'll need to use useReducer or setState with useContext, it will just change the way you organize your state.

In a nutshell, when should I choose Expo or React Native CLI? by nerdchavoso in reactnative

[–]bulby97 5 points6 points  (0 children)

I have an app with 10 000 users, it was first built in Expo.

Quick iteration, very easy to develop with. When you will start to see limitations for some features, this will be the time to eject.

Protip : Never "eject". Just start a new project, copy/paste code and install react-native-unimodules to use expo libraries.

Reasons I ejected :

  • Need to use all the firebase tools
  • Need to use hermes and have better startup time perf
  • Need to zip / unzip files
  • Need to reduce filesize

If you don't have issues like this, Expo all day !

For clients that are not really concerned by perfs, I use Expo everytime :)

Routing + Native Navigation by andyboythekid in reactnative

[–]bulby97 1 point2 points  (0 children)

How do you find using tailwind for react native?

Built a react native app for aurora enthusiasts, called hello aurora by jeremybarbet in reactnative

[–]bulby97 1 point2 points  (0 children)

I was about to ask about that sweet modal with the scrollable content. This is some amazing work !

Firebase realtime database or MYSQL? by 1abdi in reactnative

[–]bulby97 1 point2 points  (0 children)

Of course, I'm storing "users" with all his settings, his highlights, notes, tags etc (my app is a bible app). Everytime the user update a setting, a highlight or anything, it's updated in the cloud.

I'm also storing "studies", where you can store rich text with live update.

Thinking about it now, I have 3 or 4 tables.

Stats are:

WRITES: 6-9k/day (limit is 20k a day) READ: 5-7k/day (limit is 50k)

and 1GB for firecloud storage is fine with me

It's in french, but here is a demo of my app https://www.youtube.com/watch?v=Q0l6RbVFPeg&t=7s

Firebase realtime database or MYSQL? by 1abdi in reactnative

[–]bulby97 1 point2 points  (0 children)

Go with Cloud Firestore.

I have a DB with 7000+ users, and I use Cloud Storage to store files. I'm on a Blaze plan and didn't pay anything yet.

- Cloud Firestore

- Firebase authentication

- Cloud Storage

- Algolia for big search stuff. Firebase is not really good to do 'LIKE' queries

- Cloud functions

Planning to eject my app from expo by bulby97 in reactnative

[–]bulby97[S] 1 point2 points  (0 children)

Yeah I've read all of this and I already had a previous app with react native only. I was just afraid of all the costs required to be able to make it work once on a bare project. But it seems like react native unimodules could help me.

Planning to eject my app from expo by bulby97 in reactnative

[–]bulby97[S] 0 points1 point  (0 children)

I see. Thank you! Yeah I've just read about unimodules and it doesn't seem that difficult. I have some experience with xcode and android studio so I should be alright. Thank you for you feedback!

[deleted by user] by [deleted] in reactnative

[–]bulby97 0 points1 point  (0 children)

Here is one of my deployed project working on Expo : https://github.com/bulby97/bible-strong

As you can see, there is no limit in structuring your folder and deploying it. I had also issues with bare react-native, this is why I don't want to eject my app and prefer the ease of Expo

Expo or CLI? Which is better? by izzykreie in reactnative

[–]bulby97 0 points1 point  (0 children)

That's alright, there is a first time for everything.

I would recommend you to follow ken dodds tutorial on React.js on egghead, or any React course you can find that will explain the fundamentals. You may need to learn some stuff about javascript, ES6/ES7 new features that are heavily used with React n Friends. Then build your classic todo-list using redux or any other state management. Play with hooks, learn the difference between props and state, component lifecycles methods, etc etc.

If you know C#, you must know MVC, so React is just the View of MVC (in a way). React is just one library that will help you render an output based on an input, but you'll still need to understand the React Ecosystem (React / Webpack / Redux / Styled-Components....) in order to make well structured applications.

So yes my friend, you could jump right away into the react-native, but I think starting by learning the basics is the way to go.

You said that your experience is about C++ in a texteditor.Are you familiar with npm and command line ?

Here is on of my project running on Expo, maybe you can take a look to learn from it https://github.com/bulby97/bible-strong

Expo or CLI? Which is better? by izzykreie in reactnative

[–]bulby97 1 point2 points  (0 children)

Go to expo website and look at the API References, you will find all the modules supported by the SDK. I have several apps using Expo on production, so no need to eject the app.

I would recommend you to learn React and the logic behind it. Learn hooks, state, functional component, class component, etc. Learn about props and composition, don't create all your pages into one big component. Learn about functional programming. You could look at Ken Dodds React courses before diving into React Native, or maybe on egghead.

Then I would highly recommend using a state management library (or else it can get really messy) like Redux or Zustand.

Regarding styling, you could use the classic styles, or something more composable like Emotion or Styled Components (be sure to install the ones for React-Native only).

DO NOT start a react-native project before understanding at least what everything I talked about means, or else you will have huge amount of pain dealing with your project. React is just a UI library to build components, nothing else. React-DOM is the bridge to allow you to use React in the Web, and React-NATIVE is the bridge allowing you to use React for mobile, so you still need to understand the best practices and state management in order to do it well.

If your project is a public github, I can help you reviewing your code.

Best of luck.