SharePoint 2013- Simple App vs Classic Solution

In SharePoint 2013, developers have a choice to either develop apps for SharePoint or write SharePoint Solutions. To make an objective assessment we will see the differences in the key parameters that will help developers to make the right choice.

Parameters SharePoint App Classic SharePoint Solution
Type of Application

Custom server-side code is not allowed in an app for SharePoint. A Solution requiring calling APIs of the SharePoint Object Model that requires access to the SharePoint Server cannot be built in the app model.

Apps for SharePoint use one of the SharePoint client object models, OData or REST endpoints to access SharePoint content and components.

 

Custom server-side code is allowed in this type of solution.

Some parts of the SharePoint object model, mainly connected with customizing SharePoint administration, management, configuration and security, are not accessible from clients. Only custom code running on the SharePoint server can access them. For extensions of Central Administration, custom Windows PowerShell commands, timer jobs, custom backups.

 
Application Scope Web Scope. Could be any of the scopes Farm, Web Application, Site-Collection or Web.
Run Time Scope Code runs when a user is viewing a SharePoint page in the browser. Code can be scheduled to run.
External Data Access

You can create apps that access external data from SAP, Netflix, proprietary and other types of data without involving the administrator.

App-scoped external content types provide access to external data within an app.

 
To install and use external content types at the farm level an administrator has to be involved because of the access rights that are needed to install at the farm level.
Device on which code runs Server in the cloud, Client Computer, Mobile device. Server in the SharePoint Farm.
Interfaces Available SharePoint Client OM, JavaScript OM, REST/OData endpoints. SharePoint Server OM, JavaScript OM, REST/OData endpoints.
Size of application Small and easy to use solutions for end users; since apps are restricted architecturally because of limited scope and APIs. Big; because of flexible architecture, scope and APIs are allowed.
Licensing The licensing framework for apps for Office and SharePoint provide a way to include code in your apps to verify and enforce their legal use. These solutions are distributed as features or reusable solutions. There is no framework to enforce valid licenses.
Marketing and Sales Developers / Enterprises can now easily market their apps through the Microsoft App Store. A lot of money and time was spent in marketing and sales.
Development Language Familiarity JavaScript is highly used in apps. An expert level of comfort is required with this language. If the development team is unfamiliar with JavaScript or prefer strongly-typing then they would go for development in a SharePoint Server OM.