Skip to content
This repository was archived by the owner on Jan 7, 2026. It is now read-only.

Developing Cross‐platform App

Henna Tuunainen edited this page Oct 15, 2023 · 2 revisions

Hybrid vs Native

Cross-platform app development

  • ReactNative
  • Flutter
  • NativeScript

Tips

  • Define your scope and features.
  • UI Guidelines: the default design, material design, bootstrap design or some other custom designs
  • Find out what third-party libraries will be wanted
  • Write React Native Components for your application
  • Do not forget to use tests
  • Build your application occasionally

React-native base framework

  • React Native CLI
  • Expo CLI is good for prototyping, MVP, and PoC solutions or for cases where you have a team of web developers unfamiliar with mobile development

Static typing: Typescript

  • The static type checking helps with early error detection, increases the code readability
  • Typescript is an open-source programming language that is a strict syntactical superset of Javascript.
  • Huge community and widely used in the backend and front-end frameworks like NodeJs, Angular 2+, VueJs, etc.
  • Lesser react support.

HTTP request client: Axios

  • I am assuming your app needs to call APIs and for that, we need one HTTP client.
  • A well tested and classic way of doing it.
  • You might need a separate library for consuming GraphQL APIs.

Managing Reusable UI Components: No need for

  • If you’re looking for a way to reuse your code as much as possible, build easily maintainable codebase and keep a consistent UI, you’ll need to make use of cloud component hubs.

Unit Testing: Jest

  • If you want your application to be more stable then quality unit testing is super important.

State management:

  • If your application is decent big or long term application then you would need a better strategy of managing the states and share across the components.

Navigation: React-navigation

  • If you have more than a couple of screens then you need to define routing and navigation which is scalable and easy to maintain.

Forms: React hook form

  • Makes writing forms nicer

Config loader: React-native-config

  • When we are working on a large and complex app, we want our app to be portable across environments, scalable, enabled for continuous deployment, hence we need a nice framework to set up our configs.

Dynamic app update

  • The way React native is architected, it enables us to fix the bug, or send an update directly to the user, i.e. without going through the lifecycle of packing, releasing to the app store and user updating the app.
  • Tarviiko tähän jonkun?

Analytics

Crashlytics

Beta App distribution platforms

Automated pipelines: GitHub Actions