SharePoint 2013 is the next iteration of Microsoft’s SharePoint document management and collaboration platform. Its, like all recent versions of SharePoint, is a great development platform that allows customizations via supported extensibility models
Share Point App is a brand new extensibility model introduced in SharePoint 2013 that addresses some of the inherent challenges with SharePoint Solutions. The biggest difference between apps and solutions is that apps run completely outside of the SharePoint server, meaning their custom code is executed either in the context of the client browser or on other servers not running SharePointThere are three types of SharePoint Apps: SharePoint-Hosted Apps, Provider-Hosted Apps, and Azure Auto-Hosted Apps.
SharePoint-Hosted Apps are manifested entirely within SharePoint server and generally have no external dependencies. Their custom code is implemented by leveraging Client-Side Object Model (CSOM) or REST API, and is executed within the context of a browser. SharePoint-Hosted Apps can access libraries and lists to store content. Examples of these kinds of apps are PTO request or expense calculator.
Provider-Hosted Apps may have SharePoint components, similar to SharePoint-Hosted Apps, but the main business logic and data storage are manifested in an external infrastructure, such as an external Web server or in the Cloud. These apps are ideal for integration with external systems, such as a help desk support system. It’s important to note that Provider-Hosted Apps can also be developed using any other non-Microsoft tools and technologies, such as Eclipse or LAMP, due to the fact that their business logic and data storage are provisioned by the external infrastructure.
Azure Auto-Hosted Apps are somewhat similar to the Provider-Hosted Apps in that their main business logic and data storage are manifested in an external infrastructure. However, the Azure Auto-Hosted App package additionally contains the Website and database that is deployed and run outside of SharePoint. When this type of app is installed, SharePoint handles automatic provisioning of the Azure SQL Database and Azure-Hosted Website in an existing Azure account setup in the farm.
Share Point apps are capable enough to replace lots of classical developments. It can be used as option for below listed artifacts
· Custom Web Parts
· Event and Feature Receivers
· Custom Field Types
· Application Pages