All Projects → rodrigoelp → reactnative-typescript

rodrigoelp / reactnative-typescript

Licence: MIT license
Playground and evolution of learnings done in react native with typescript

Projects that are alternatives of or similar to reactnative-typescript

acgnfuns-app
A react native app based on expo, dva, etc.
Stars: ✭ 14 (-50%)
Mutual labels:  react-navigation, react-native-elements
React Native Boilerplate
🚀 React Native Boilerplate Updated
Stars: ✭ 9 (-67.86%)
Mutual labels:  react-navigation, redux-persist
Selectstarsql
An interactive SQL book
Stars: ✭ 92 (+228.57%)
Mutual labels:  sqlite, learning-by-doing
Javascript Exercises
📚 Collection of JavaScript exercises and coding challenges.
Stars: ✭ 385 (+1275%)
Mutual labels:  exercise, learning-by-doing
Slopeninja Native
 Slope Ninja App 🎿❄️⛄️
Stars: ✭ 160 (+471.43%)
Mutual labels:  react-navigation, redux-persist
React Native Sqlite 2
SQLite3 Native Plugin for React Native for iOS, Android, Windows and macOS.
Stars: ✭ 217 (+675%)
Mutual labels:  pouchdb, sqlite
React Native Boilerplate
🚀 Type Based Architecture for developing React Native Apps using react, redux, sagas and hooks with auth flow
Stars: ✭ 375 (+1239.29%)
Mutual labels:  react-navigation, redux-persist
React Native Workshop
Prototyping Airbnb with React Native
Stars: ✭ 21 (-25%)
Mutual labels:  react-navigation, redux-persist
Redux React Navigation Demos
React-Native + Redux + Redux-Persist + React Navigation ( Authentication Flow with Redux demos)
Stars: ✭ 151 (+439.29%)
Mutual labels:  react-navigation, redux-persist
React Native Feature Boilerplate
Feature based Architecture for developing Scalable React Native Apps 🚀 using react, redux, sagas and hooks
Stars: ✭ 139 (+396.43%)
Mutual labels:  react-navigation, redux-persist
crossbones
Fullstackian award, 1707-FSA-NY. a cross-platform barebones react native setup inspired by https://github.com/FullstackAcademy/bones by
Stars: ✭ 19 (-32.14%)
Mutual labels:  redux-persist, react-native-elements
shortest-tutorial-ever
A list of the shortest tutorials ever.
Stars: ✭ 14 (-50%)
Mutual labels:  exercise, learning-by-doing
react-native-boilerplate
从真实项目中抽离出的一个简单的样板。(A simple boilerplate stripping out of a real project.)
Stars: ✭ 21 (-25%)
Mutual labels:  react-navigation, redux-persist
react-pouchdb
React components for interacting with PouchDB.
Stars: ✭ 15 (-46.43%)
Mutual labels:  pouchdb
database
Database Abstraction Layer, Schema Introspection, Schema Generation, Query Builders
Stars: ✭ 25 (-10.71%)
Mutual labels:  sqlite
SpeedTest-php
a speedtest php site
Stars: ✭ 28 (+0%)
Mutual labels:  sqlite
learning-pixi
一步一步的告诉你如何通过Pixi渲染引擎制作游戏和交互媒体(译)
Stars: ✭ 58 (+107.14%)
Mutual labels:  learning-by-doing
bromb
A feedback widget designed to be simple and customizable.
Stars: ✭ 41 (+46.43%)
Mutual labels:  feedback
SQLitePractice
数据库案例:1.使用时间和日期函数,增,查时间字段。2.利用ContentProvider,CursorLoader,SQLite实现数据库的观察者模式。3.RxJava,SQLBrite实现数据库的观察者模式。4.拷贝外部db文件到数据库中
Stars: ✭ 21 (-25%)
Mutual labels:  sqlite
GitHubKotlinMPPSample
No description or website provided.
Stars: ✭ 15 (-46.43%)
Mutual labels:  sqlite

Working with React-Native and Typescript

In here you will find a set of samples that I have been creating to help me understand how to work with react-native and typescript.

So, what is in this repo?

Multiple examples (and hopefully some explanation) of things you need to get react-native and typescript to work nicely between each other.

Objective

  • Learn react-native
  • Share with others working examples of react-native and typescript.
  • Get feedback from others, if you have more knowledge and you have ways to improve these examples? by all means contribute to this or provide feedback. (Raise any feedback as an issue of this repo)

Background

I want to learn how to start building apps on react-native. Now, I've done web development in the past and I've also spent some time playing with nodejs so, I am not a complete foreigner to some of its concepts.

Now, React, React-Native and Node are technologies based on JavaScript, which in my personal view is a pervasive, evil programming language that should've been improved a long time ago and no real consensus has been formed on what it should be. ES[5, 6, 7, etc] is a good first start but still is missing some important features for me. I like a static type system so I wanted something guiding me as I write my code.

So, I started looking at React-Native and other languages such as Typescript, Purescript, Kotlin, etc; and decided to settle with Typescript because:

  • It has a big enough community backing it up.
  • It seems to be close enough to JavaScript so porting samples between each other should be relatively straightforward.
  • Requires fewer plugins/modules to work.

What do I need to use this repo?

You will need already installed to use/try/abuse/copy/whatever this code:

I am a Mac user. Take these recommendations with a pinch of salt as it might not apply to your system.

  • First and extremely important, you will need git. Without it this repo might not make sense as every exercise has been stored in a separate repository and added to this one as submodules. If you want to check each individual project I have set up an index with a basic description and observations gathered along its development process.
  • XCode with command line tooling installed already. This is required to run your code in iOS.
  • Android Studio or Visual Studio for Mac with the Android tooling and an emulator.
  • A text editor of sorts. I like vscode a lot.
  • Node. Best way to get it into your system is via brew as I have tried the mac installer and it wasn't as flexible as with brew. There are other mechanisms to get it such as the node version manager but I found it was much easier to do brew install node
  • You will need React-Native which can be installed via node package manager: npm install react-native -g

How to clone this repo?

Cloning a repo with submodules is not too much of a problem (although dealing with submodules can be a pain)

Just type in a terminal:

git clone --recursive -j8 [email protected]:rodrigoelp/reactnative-typescript.git

What are those parameters?

Pretty easy:

  • --recursive tells git that you want to download everything in this repo, as well as anything included in the .gitmodules file.
  • -j8 tells git you want to download anything additional in parallel.

But I have already typed in git clone before I read this message!

That's fine... if you have already typed git clone [email protected]:rodrigo.elp/....git then you can initialize and download the exercises as follows (you must be at the root of the cloned project):

git submodule update --init --recursive

This will take care of the submodules and set it up for you.

Anything else?

Once you have downloaded the repo (or you could browse it in here) you will find inside the folder samples each of my attempts. Inside there is a small explanation of what is contained.

If you want to read the intention behind any of the samples/exercises, open the index file.

Enjoy and I hope you find this repo useful.

Note

I am open to suggestions and improvements. Create an issue with your comment to talk it over.

Extension note

Some of these samples could be used as a starter for your application (as it becomes fairly repetitive). If you want to use it to kickstart your project be my guest.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].