Cordova / PhoneGap
Cordova (also known as PhoneGap) is an open source mobile development framework that allows web applications built with HTML/CSS/JS to execute within containers that can target each mobile platform. It uses standard API bindings to access specific capabilities of mobile devices such as cameras, sensors and storage.
There are many advantages to Cordova but compared to a native app, some hybrid apps feel a bit clunky. This should improve over time as the software gets better. To install and try out Cordova/PhoneGap us this guide
Ionic / Ionic 2
Ionic is a free and open source HTML5 framework and mobile SDK for building mobile apps. Ionic uses the AngularJS framework and Ionic 2 uses Angular 2. So in order to build Ionic apps, you will need to know at least the basics of the Angular framework.
Ionic does requires Cordova/PhoneGap to run. Think of Ionic as the front-end framework that deals with the user interface and interactions. It is similar to Twitter Bootstrap but for mobile along with support for a broad range of common native components.
To use Ionic, install Cordova and install the Ionic CLI tool through NPM. Once you do that it’s as simple as running “ionic start MyApp” to generate a web application which can then be exported to an iOS or an Android app.
Click here for a project based tutorial using Ionic 2
In order to build React Native apps, you will need to learn some basic React concepts such as components, state, properties and the virtual DOM. All that can be learned in my free React.js Crash Course. There are some additional things you will need to learn that are React native specific such as some of the native components.
React Native uses a CLI tool for generating an application which you can read about here. If you are wokring on Windows, you will need Android Studio installed along with the SDK and virtual device.