(From My SharePoint 2013 Ignite Notebook) Part 1
Think of SharePoint 2013 as a platform, which will help you understand this new paradigm shift. Lots of developers do programming using C#, Python, Ruby, Java, PHP, NodeJS. The SharePoint 2013 App model is based on web standards: HTML 5, CSS, JS, OAuth 2.0 and OData. Today SharePoint enables most of the SharePoint API functions to be accessible remotely, with the remote interface being much easier to maintain and more secure. This concept also opens doors for SharePoint Developers create Facebook kind of applications for SharePoint and Office. Today’s Application Development Challenges Till SharePoint 2010, solution deployment could only be done in either Sandbox or Farm Solutions,
Sandbox Solution
Limited
Only allow to access sub set of server side APIs
Cannot call external hosted web services
Use client side object call hosted web services
Supported for Online and on premise environment
Farm Solution
- Need big server touch
- Not possible to deploy on SharePoint Online
- IT Pro. Say Performance issue due to developer code
- Outages when deploy code
- SharePoint Apps
Deploy file to \BIN directory or GAC folder
When error occur, affect the app pool which make cause service outage
Supported only for on premise environment
Easy to deploy apps.
Reduce the number of 99.99
One set of server is for lots of customer
Application no longer live in SharePoint
Code executed in client, cloud or on-prem
Permission via OAuth.
Service bus EndPoint via REST / CSOM
No Sever-Side SharePoint API for Apps
Supports HTML5, CSS, JS and railed development
What type application we can develop?
- Contact form
- Travel request form
- Shared documents
- Contact list
- Room booking
- Visitor information
- Claims
- Leave applications
- HR related forms download
- More input look at 40 SharePoint template to develop applications
Choice of Application type 
- Provider Hosted Apps
- Windows Azure Auto-Provisioned Apps
- SharePoint Hosted Apps
Marketplace SharePoint and Office apps - Microsoft is going to introduce a commercial public marketplace soon. Today Office has 75 M users,so the Office and SharePoint Apps concept sounds very promising. Besides the public marketplace there is also option for private corporate app catalog for enterprises. Downside of SharePoint Apps
- The performance is depends on Network latency issues
- InfoPath form not supported as SharePoint Apps
- Timer jobs are not possible within an app
- Deep changes to the user site are not possible with an app
- Cannot have any server-side SharePoint code
If you have already started development on SharePoint, do share with us your experiences!