First of all now SharePoint Apps are changing to SharePoint Add-ins. See here.
And the answer to your question is to broad in context. We can just help you by providing the links.
SharePoint Add-ins are self-contained extensions of SharePoint websites that you create, and that run without custom code on the SharePoint server.
If you need to know about SharePoint Add-ins. See this.
There are two basic kinds of SharePoint Add-ins — SharePoint-hosted and provider-hosted. To make the best decision about the right kind to develop for your scenario, start by learning what both types of SharePoint Add-ins have in common.
SharePoint Hosted App:
SharePoint-hosted add-ins are one of the two major types of SharePoint Add-ins. For an overview of SharePoint Add-ins and the two different types, see SharePoint Add-ins. Here's a summary of SharePoint-hosted add-ins:
- They contain SharePoint lists, Web Parts, workflows, custom pages, and other components, all of which are installed on a subweb, called the add-in web, of the SharePoint website where the add-in is installed.
If you want to create your first SharePoint Hosted App then click here
Other best small demo for creating SharePoint Hosted App is shown in How to create a basic SharePoint app.
Open Authorization 2.0:
OAuth 2.0 is an open standard for authorization. OAuth is designed to
enable users to provide third parties with access to their resources
without sharing their credentials. Instead of credentials, an OAuth
access token is issued to the third party. The token grants access to
a specific resource, on a specific site, for a defined duration (for
example, 30 minutes), on behalf of a specific user. The Microsoft
server-to server protocol relies on OAuth to share information across
OAuth 2.0 in SharePoint 2013