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!
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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!

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
sqlagent007Author Commented:
Thanks experts.
Walter CurtisSharePoint AEDCommented:
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
.NET Programming

From novice to tech pro — start learning today.