Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

This might sound a bit extreme, but now that REST / CSOM API's are more fully featured, why not just write web apps in whatever framework you're comfortable with and utilize the REST / CSOM API's instead of bothering with SP's byzantine programming model & branding techniques? Do apps need to be involved at all? What about cross domain situations?

So if I'm most comfortable using the MS stack, I could write some MVC ASP.NET apps using the REST API for server side communication in C# and CSOM in the browser using javascript.

share|improve this question
    
This isn't really a specific question but more of a general discussion point. I've made it a community wiki. –  SPDoctor Jan 25 '13 at 7:00
add comment

3 Answers

up vote 3 down vote accepted

If what you want to do can be done using REST / CSOM, then by all means, go for it, that's what MS is aiming for with the app model. Not everything that can be done using Server object model & farm solutions etc. can be accomplished that way, however.

If your question is why not just use SharePoint as your back end and not use the UI and re-write a whole web app on top of that, then perhaps you should just skip SharePoint and use a DB as your back end.

share|improve this answer
1  
Thanks! Can you give me some examples of things that aren't supported with REST / CSOM? About selecting a different DB- I see your point. I guess it depends on what it's a back-end for. If I'm building a front end to a CMS (not for admins) or a document sharing app- perhaps any situation where you can leverage the SP UI for admin users, but want to demand no SP knowledge to the end-user, then this might be a good case? –  skeej Jan 24 '13 at 19:32
    
I'd agree with that last bit - if you have a wide application that has a lot of moving parts, you might want to keep SP as the admin interface (as it simplifies a lot of the CRUD operations and workflow stuff), and build a 'lightweight' (ie: for idiots) interface for the end user, that has their required tasks very easy to use. I get the feeling this is the aim of the App Model. –  James Love Jan 24 '13 at 20:01
1  
There's some discussion here about what can/should be done via the different interfaces: msdn.microsoft.com/en-ca/library/jj164060.aspx –  lgaud Jan 24 '13 at 20:39
1  
Also, a bit more with specific examples here - blog.aptillon.com/2012/09/25/… - like doing something that needs server events like ItemAdded –  lgaud Jan 24 '13 at 20:44
add comment

There is a hybrid approach where you use SharePoint's documents storage, lists, workflow engine, account authentication/authorization, and web services with a highly customized UI. James Love mentions this in his comments to Igaud's answer.

I have found this approach to be very successful, especially to users who for some reason have a bad taste in their mouth from a previous, poorly architected SharePoint deployment. This approach gives the developers full control over the UI and can really increase perceived performance while helping the developers to rapidly develop highly customized line-of-business applications without having to build their own services, account management, content management systems.

share|improve this answer
add comment

With PS2013 and app model, you are essentially building a solution outside of SharePoint (provider hosted, or auto hosted) and then utilize the OAuth and cross-domain integration infrastructure to access SharePoint data. You could use any technology stack that you want here, and then rely on either JavaScript CSOM or SP REST API to accomplish your goals.
If you goal is just to build a data driven application, then SharePoint should be your persistence layer just because; it's a huge overkill.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.