Giter VIP home page Giter VIP logo

panda-news-react-native's Introduction

Panda News React Native

A simple project using React Native + NativeBase + Navigation Experimental + Redux + CodePush Apps (iOS & Android)

Content

Screens

Technologies

Technologies used in Native Starter Kit

React Native helps in making the development work easier and allowing the developers to focus on the core app features in every new release. It is the fastest-developing mobile app development that essentially permits you to create an isolated product with often outcomes.

The hymn of React Native โ€” learn once, write anywhere.

React Native takes charge of the view controllers and programatically generates native views using javascript. This means that you can have all the speed and power of a native application, with the ease of development that comes with React.

NativeBase is a free and open source framework from the team of StrapMobile.

This framework enable developers to build high-quality mobile apps using React Native iOS and Android apps with a fusion of ES6. NativeBase builds a layer on top of React Native that provides you with basic set of components for mobile application development.

The applications stack of components is built using native UI components and because of that, there are no compromises with the User Experience of the applications. NativeBase is targeted specially on the look and feel, and UI interplay of your app.

NativeBase without a doubt fits in well with mobile applications which cut downs one huge part of your app The Front end.

As the requirements for JavaScript single-page applications have become increasingly complicated, our code must manage more state than ever before. UI state is also increasing in complexity, as we need to manage the active route, the selected tab, whether to show a spinner or not, should pagination controls be displayed, and so on.

Redux is 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.

Redux attempts to make state mutations predictable by imposing certain restrictions on how and when updates can happen. These restrictions are reflected in the steps of three.

  • The state of whole application is stored in an object tree within a single store.
  • The only way to mutate the state is to emit an action, an object describing what happened.
  • To specify how the state tree is transformed by actions, you write pure reducers.

React Native app is composed of JavaScript files, images, which are bundled together by the packager and distributed as part of a platform-specific binary (i.e. an .ipa or .apk file). Once the app is released, updating either the JavaScript code or image assets, requires you to recompile and redistribute the entire binary.

The CodePush plugin helps get product improvements in front of your end users instantly, with the aid of preserving your javascript and images synchronized with updates you launch to the CodePush server. This way, your app gets the benefits of an offline mobile experience, as well as the "web-like" agility of side-loading updates as soon as they are available.

NavigationExperimental allows any view to act as a navigation view and using reducers to manipulate state at a top-level object.

React Native Easy Grid is a open source package for grid layout from the team of StrapMobile.

The layout system is an essential concept that needs to be mastered in order to create great layouts and UIs. React Native uses Flexbox to create the layouts, which is great when we need to accommodate our components and views in different screen sizes or even different devices. Flexbox is awesome but it could be tiresome for newbies.

Easy Grid is very powerful and flexible layout system. No more worries about props of Flexbox such as alignItems, flexDirection, justifyContent, margin, padding, position, width etc. You can create any layout with all the available options that we have. Flexbox makes it look like percentages, however what actually is happening is just ratios. On the easier part, ratios are easier to represent than percentage/decimals. For this reason, the Easy Grid takes in ratios in place of percentage. Performance wise, Easy Grid is noteworthy and works as fine as Flexbox, not much of calculation.

More Examples . . .

React Native-NativeBase Seed is a basic configuration that every React Native app must have; brought to you by StrapMobile.

This is open source and perfect for any newbie to start with React Native.

This is a React Native Project with NativeBase, Navigation Experimental, Redux, CodePush, Router, Push Notification and other basic must-have libraries.

Get Started

###1. System Requirements

  • Globally installed node >= 4.0

  • Globally installed npm >= 3.0

  • Globally installed rnpm (only if React Native version < 0.29)

  • Globally installed react-native CLI

  • Install CodePush globally and get keys for your app.

###2. Installation

On the command prompt run the following commands

$ git clone https://github.com/quangrau/panda-news-react-native.git

$ cd panda-news-react-native/

$ npm install

If React Native < 0.29

$rnpm link

If React Native >= 0.29

$ react-native link

CodePush plugin installation and key deployment.

###3. Simulate for iOS

Method One

  • Open the project in XCode from ios/PandaNews.xcodeproj

  • Hit the play button.

Method Two

  • Run the following command in your terminal
$ react-native run-ios

###4. Simulate for Android

  • Make sure you have an Android emulator installed and running.

  • Run the following command in your terminal

$ react-native run-android

Note: If you are building Native Starter Kit for first time on your system, please follow Method One to simulate on iOS. (To link the CodePush plugin through Xcode for iOS)

For apps with more advance designs, please visit StrapMobile.

panda-news-react-native's People

Contributors

alexicum avatar diegorodriguesvieira avatar dsernst avatar henryw4k avatar himanshu-satija avatar jakedluhy avatar quangrau avatar sanketsahu avatar sankhadeeproy007 avatar supriyakalghatgi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

mylnz

panda-news-react-native's Issues

Errors launching the app

Got these trying to launch the app:

`*** Terminating app due to uncaught exception 'RCTFatalException: React Native doesn't generate your app's JS bundle by default when deploying to the simulator. If you'd like to test CodePush using the simulator, you can do one of three things depending on your React Native version and/or preferred workflow:

  1. Update your AppDelegate.m file to load the JS bundle from the packager instead of from CodePush. You can still test your CodePush update experience using this workflow (debug builds only).

  2. Force the JS bundle to be generated in simulator builds by removing the if block that echoes "Skipping bundling for Simulator platform" in the "node_modules/react-native/packager/react-native-xcode.sh" file.

  3. Deploy a release build to the simulator, which unlike debug builds, will generate the JS bundle (React Native >=0.22.0 only).', reason: 'React Native doesn't generate your app's JS bundle by default when deployin...'`

Any idea?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.