• Status: Solved
  • Priority: Medium
  • Security: Private
  • Views: 53
  • Last Modified:

Why are our Sharepoint apps so much slower and harder to use than the other .net MVC apps?

Why are the sharePoint created apps so much slower than the regular web bases MVC .net apps?

We are trying to come up with some guidelines for what works for SharePoint 2016 and what does not. We are running SharePoint 2016 on premise.

According to Microsoft, we should be using web parts, then sending JSON off to a business layer like Azure Functions.

From what I gather web parts are a combination of HTML and jQuery, then you kinda fit them together like puzzle pieces. The web parts then send the data off to c# (or any business layer) server as JSON, then magic happens. I am also assuming since the c# is mostly stand alone, we can write the data to any database and this does not have to be a content database.

So my understanding of all that is correct, why is it that every app I demo from our dev team is SOOO much slower than any other HTML / jQuery app that talks to a database?

Maybe my understanding is flawed and I am aware of that. I would greatly appreciate if somebody can point me to a URL or book that discusses where to stop using Sharepoint and just build a native MVC app, that would be awesome!

What is SharePoints best use case? I keep hearing it can do everything, but let's be real, nothing can be good at everything.

Thanks experts!
  • 2
  • 2
2 Solutions
Nitin SontakkeDeveloperCommented:
Just clicked on 'monitor' this question and also cannot resist the temptation to put a comment too!

Simply putting out thoughts as they come to my mind. Not much rationale or a well thought out response as such. I don't know much about SharePoint. Never used it.

Ever since I understood what SharePoint actually (generally) is, being a hard-core developer, I simply became very averse to it.

May be partly, subconsciously because it is a threat to my profession.

Application platforms like SharePoint (Joomla, etc) are slow by definition because they adhere to wide variety of requirements, cater to range of users with wide variety of expertise and have to store user defined data in database and essentially, rebuild the whole thing on the fly almost essentially every time from scratch from database. The execution engine knows nothing of your forms, contents. It has to build it as and when demanded.

Try writing one small system yourself and you will quickly realise how complicated it can get very soon just while implementing a small question / answer web-site.

Imagine one servant to whom you ask to get the bread from a bakery. He goes and gets the bread from a bakery. He knows where the bakery is, where to pick money from, which kind of bag to carry, etc. This is your custom app.

Imagine another one to whom the same task is being told to execute. Servant goes to several different pigeon holes on a rack. In one there is address of a place where money is, in another there is address of the bakery, in yet another there is a list of things to bring (where currently just one item, bread, is listed), in yet another pigeon hole it is indicated whether the thing to bring is liquid or solid depending on that your servant will choose to kind of bag it should carry and then in another pigeon hole the place where an appropriate bag is, is kept. Now this is SharePoint (I believe!).

May be apps like SharePoint are worth investing in where in a large non-IT firm, you need to put together few forms and have up and running. Your requirements so frequent and so volatile that you just cannot have set of developers dedicated for development and the entire process goes through SDLC. The life span of the form is also not much. Want to gather quick opinions across organization which is spread across world and want to make decision within a week. May be after few days / weeks / months the form is now obsolete.

May be I am completely wrong. May be my views are prejudiced / ill informed. Wait for more fruitful / thoughtful inputs.
sqlagent007Author Commented:
Thank you Nitan. From what I have learned you are on track with the Sharepoint analogy. From the digging I have done in the content databases, the schema is not at all what you would expect to see from an application developer perspective. Most of the tables are very wide and have a lot of NULL values. I imagine this makes it easier to add columns to “lists”.

I am not sure Sharepoint will replace apps for a specific use case. I am guessing they are better for the more generic use cases with lots of changing requirements.

Thanks for your input. This stimulated a lot of great thought.
Walter CurtisSharePoint AEDCommented:
I have discovered over the years that developers struggle with SharePoint because of a lack of deep experience with it, The knowledge is there of course, often expert knowledge as shown in the above comments, but the SharePoint experience is not yet there.  This is not a negative btw...

This comment from above:

From the digging I have done in the content databases, the schema is not at all what you would expect to see....

shows that lack of SharePoint experience. Cardinal rule of SharePoint, never dig around in the content database. Not only do you not need to, but you will more than likely break things, But for you to know that, you need the experience. It will come.

Pluralsight.com has good courses and tutorial that will get you up to speed quickly on the SharePoint 2013/16 approach to development and I think they would be of interest to you.

Good luck and have fun!
sqlagent007Author Commented:
Thanks experts.
Walter CurtisSharePoint AEDCommented:
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now