See how Microsoft Consulting Services can help you
Contact Microsoft Services
Contact The SharePoint Guys
Apply for a job at Microsoft Consulting Services
MCS Solution Dev
The Deployment Guys
MSDN UK Newsletter
MSDN UK Team Blog
TechNet UK Newsletter
TechNet UK Blog
SharePoint 2013 is a strong development platform for building solutions and apps addressing different requirements and needs.
There’s a plenty of documentation on MSDN and TechNet to get you started with building your first application and how to consume the different capabilities of the platform.
But one thing I struggled to find is when and why you would use a SharePoint App rather than using the object model?
This blog will walk you through that specific question and how to answer it.
Before we start there’s no rights or wrongs here, it all depends on what the customer needs and the best way to tackle the requirements
The first factor is where is my code being hosted?
If you are using the object model most of your code will be within the SharePoint host environment:
If you are using Apps:
So what difference does it make?
Apps are very different from solutions in that they run 100% outside of the SharePoint server, and their custom code executes either within the context of the client browser or on other servers that are not running SharePoint such as Web servers in the cloud.
There are three high-level types of SharePoint apps:
One explicit limitation of the SharePoint App Model is that server side code is explicitly prohibited from residing on the SharePoint farm as part of an App. Any server side code that is utilized in the context of an App must be hosted outside of SharePoint either in the cloud or on-premises.
Have a look at windows Azure Scalability options
Always develop Apps whenever it’s possible rather than developing a classic Full Trust or Partially trust solution.
Bear in mind that sandbox solutions are still supported but they will be deprecated.
But first understand that the client object models and the REST endpoints that are available in the App model do not duplicate all of the APIs of the server object model that are accessible in a classic SharePoint solution.
For more Information :
Apps for SharePoint compared with SharePoint solutions
Choose the right API set in SharePoint 2013
SharePoint 2013 Development