I'm new to share point 2013.I am confused for these 3 why apps rest csom.when we use of these 3.can you please explain?
What is an App?
App can be developed on both SharePoint Online and in On-Premise offerings. App use the following three types of deployment models.
Auto-Hosted (No longer possible to create) – In this cloud model, though the app is developed for SharePoint but the app code resides outside of the SharePoint on Microsoft Windows Azure in the background, which can also have access to Microsoft SQL Azure database for managing data. The app is automatically deployed to Windows Azure and SharePoint creates a cloud-hosted app on your behalf. Auto-hosted model is supported on SharePoint Online only unlike the other deployment models.
Provider-Hosted – The Provider-hosted deployment model is almost same as Auto-hosted model, the only difference is that the app code resides in an external domain or server i.e. your own hosting environment which may not be necessarily be windows-based. The app code can be written in any programming language and technology like PHP, .NET or Java. In this scenario, SharePoint acts only as launching pad for the external app.
Refer the following link for more information on apps. Apps for SharePoint Overview – http://msdn.microsoft.com/en-us/library/office/fp179930.aspx
Difference between using App and CSOM or RestApi
SharePoint apps are the customize components in which we can use REST API and JSOM code to fulfill our business logic.
e.g We can add CSOM or RestApi code in Content Editor Web part but we can't put the SharePoint App into Content Editor Web Part.