HackerHaze Templates
React Native
Introduction
HackerHaze Owl

Introduction

Welcome to HackerHaze's React Native Template! This is a minimal, yet highly functional template that leverages some of the best libraries in the React Native ecosystem.

It's designed to get you up in speed with a solid foundation for your mobile app development.

Libraries Used

We've included a number of libraries in this template to help you get started. Here's a breakdown of what's included:

Core Libraries

  • react@18.2.0: The core library for building user interfaces.
  • react-native@0.72.6: The framework for building native apps using React.

State Management

  • @rematch/core@2.2.0: A Redux-based state management library that provides a lightweight and flexible way to write Redux code.
  • @rematch/immer@2.1.3: Plugin for using Immer to write reducers that manipulate state in an immutable way.
  • @rematch/loading@2.1.2: Plugin for automatically managing loading states for effects.
  • @rematch/persist@2.1.2: Plugin for saving and rehydrating rematch models using localStorage.
  • @rematch/select@3.1.2: Plugin for creating optimized selectors.
  • @rematch/updated@2.1.2: Plugin for tracking when state is updated.
  • redux@4.2.1: A predictable state container for JavaScript apps. It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test.
  • react-redux@8.1.3: Official React bindings for Redux. It lets your React components read data from a Redux store, and dispatch actions to the store to update data.

Navigation

  • react-native-navigation@7.37.1: A complete native navigation solution for React Native, with optional Redux support, Jest tests, and more.

UI and Styling

  • nativewind@2.0.11: A utility-first CSS framework for rapid UI development.
  • react-native-vector-icons@10.0.1: Customizable Icons for React Native.

Form Management

  • react-hook-form@7.47.0: Performant, flexible and extensible forms with easy-to-use validation.

Cloud Services and Notifications

  • appcenter@5.0.0, appcenter-analytics@5.0.0, appcenter-crashes@5.0.0: Microsoft's App Center SDK, which provides a variety of cloud services for app development, including analytics, diagnostics, distribution, and push notifications.
  • react-native-code-push@8.1.0: A cloud service that enables React Native developers to deploy mobile app updates directly to their users' devices.
  • @react-native-firebase/app@18.6.0: The core module for React Native Firebase, it provides the base Firebase app instance and all core Firebase services.
  • @react-native-firebase/messaging@18.6.1: A module that provides cloud messaging services, including the handling of push notifications for your React Native applications.

Testing and Linting

  • jest: A delightful JavaScript Testing Framework.
  • eslint: A tool for identifying and reporting on patterns in JavaScript.

Storage and Device Information

  • @react-native-async-storage/async-storage: An asynchronous, unencrypted, persistent, key-value storage system for React Native.
  • react-native-device-info@10.11.0: A library to get device information from within React Native.

User Interaction and Localization

  • react-native-gesture-handler@2.13.4: Provides native-driven gesture management APIs for building best possible touch-based experiences in React Native.
  • react-native-localization@2.3.2: Simple to use library to handle localization in your React Native applications.

Animation and SVG

  • react-native-reanimated@3.5.4: A more powerful alternative to the Animated library, designed to be declarative and more flexible.
  • react-native-svg@13.14.0: SVG library for React Native.
  • react-native-svg-transformer@1.1.0: A transformer that allows you to import SVGs in your React Native project the same way that you would in a Web application.

Debugging and Validation

  • redux-logger@3.0.6: Logger middleware for Redux.
  • yup@1.3.2: A JavaScript schema builder for value parsing and validation.

Testing, Linting, Transpiling and Tooling

  • babel-plugin-module-resolver@5.0.0: A Babel plugin to add a new resolver for your modules when compiling your code using Babel. This plugin allows you to add new "root" directories that contain your modules.
  • eslint@8.19.0: A tool for identifying and reporting on patterns in JavaScript.
  • jest@29.2.1: A delightful JavaScript Testing Framework.
  • prettier@2.4.1: An opinionated code formatter.
  • react-test-renderer@18.2.0: This package provides a React renderer that can be used to render React components to pure JavaScript objects, without depending on the DOM or a native mobile environment.

We hope this template serves as a useful starting point for your React Native projects. Happy coding!