Whether to use Sharepoint Framework or ASP.net

AlHal2
AlHal2 used Ask the Experts™
on
SharePoint Framework is client side.  ASP.net is server side.
Under what circumstances should I use webforms or MVC which are server based technologies and under what circumstances should I use SharePoint Framework which is client side?
How do they compare in terms of performance, security,  ease of use for developer, ease of use for enduser?
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Senior Full Stack Developer
Distinguished Expert 2017
Commented:
I am not a SharePoint developer, so I can't comment too much on this apart from saying have a look at this document: Overview of the SharePoint Framework.

The SharePoint Framework (SPFx) is a page and web part model that provides full support for client-side SharePoint development, easy integration with SharePoint data, and support for open source tooling. With the SharePoint Framework, you can use modern web technologies and tools in your preferred development environment to build productive experiences and apps that are responsive and mobile-ready from day one.

With regards to ASP.NET, you can use ASP.NET Web Pages, ASP.NET MVC or ASP.NET Core MVC to develop web applications. If you are wanting to start off with web development, definitely invest the time learning ASP.NET MVC (next, learn .NET Core). ASP.NET MVC is the standard for developing web applications using C# or VB.NET for example.

Your ASP.NET MVC web application will have a server-side component (C# classes and code etc.) as well as a client-side component (Your Views which use Razor to generate the markup. You can add jQuery, SCSS, Bootstrap and so on to make your client-side UI more responsive. In fact, it's a given that developers add a responsive framework to web applications such as these.

With regards to your questions:
Performance
This will depend on how well you develop your application, how responsive the UI is etc.
Security
Again, this depends on if you as a developer employ best practices when creating the application. For example, never add inline SQL in your code.
Ease of use for the developer
Once you learn the basics, it is really easy to create web applications using ASP.NET MVC. Have a look for anything by Scott Allen. You can also take some Pluralsight courses which have some of his videos in there. I guarantee you that you will learn ASP.NET MVC quickly and correctly.
Ease of use for the end-user
This will depend solely on how you write your application. Do you do this with a user-friendly UI in mind? Any framework you use will have no bearing on the ease of use for the end-user, simply because the end-user is the consumer of whatever it is that you have created.

In my opinion, if I was to develop web applications, I would go for ASP.NET MVC. I wouldn't think of SharePoint as my initial choice of framework.

Author

Commented:
Thanks Dirk.  I've done some MVC and C# courses.  My new job has opted for SharePoint rather than MVC and I'm trying to understand the advantages of SharePoint and how it compares with MVC with respect to the above questions.
Therefore, I need something from someone who has used SharePoint.  This has some information, but I don't see how it reflects the fact that ASP.net is server based and SharePoint is client based.
https://docs.microsoft.com/en-us/previous-versions/office/developer/sharepoint-2010/ff512772(v=office.14)
Perhaps that's because I've used plain javascript, but none of the javascript frameworks eg Angular or Node or React.

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial