Asked by:
What are the future development options to choose from

Question
-
User197122282 posted
I have been developing web applications for a long time. The choice until now has been 'ASP.NET' WebForms. However, MS has rolled out a plethora of development options including ASP.MVC, Entity Framework, ASP.NET Core, WebAPI, SignalR and much more. In addition, Angular is gaining momentum in integrating with .NET Core. As developers, we are not restricted to a specific tool but each option needs time to learn & mature.
For future development, I am wondering about my options. Should I choose between ASP.NET MVC 5 or ASP.NET Core (the later being the next iteration of the former). Similarly, should I switch to developing applications with Angular and ASP.NET Core. Similarly, how does WebAPI, SignalR fit in?
I would like to hear from you. Thanks for the input.
Tuesday, November 14, 2017 4:39 AM
All replies
-
User-821857111 posted
Should I choose between ASP.NET MVC 5 or ASP.NET CoreIf you have the option to move to ASP.NET Core, I recommend doing so. It will enable you to develop applications that can run on Linux servers as well as on IIS. That might enable you the take advantage of cheaper hosting. But in any event, ASP.NET Core is modular so you only include the features you need, rather than getting everything bundled into System.Web.If you do move to ASP.NET Core, you should look at the Razor Pages option (https://www.mikesdotnetting.com/article/307/razor-pages-getting-started-with-the-preview), which is the recommended way of building web sites in .NET Core. You don't need to learn MVC.
Angular and similar client side javascript frameworks (React etc) are useful if you want to move your presentation logic into the client. You wouldn't use these frameworks for the majority of Line of Business CRUD-based applications. But you might use them to provide a smoother UI experience for users where that requirement is important.
Web API is included as part of ASP,.NET Core, and provides end points that deliver data (mainly) as JSON or XML. Mostly people use them in conjunction with Angular etc or if they want to provide web services.
SignalR is used in "push" scenarios, where you want to be able to update the browser from the server without any user interaction, and without any request from the browser. The iconic example of this is for chat applications.
Tuesday, November 14, 2017 1:59 PM -
User197122282 posted
Mike, thank you for clearing out the confusion. To summarize, let me put it this way:
- Since I am starting out, I should opt in favor or ASP.NET Core. This also covers the WebAPI
- The JavaScript frameworks should be used for better UI requirements
- SignalR has its place where no browser interaction is needed
One more bit though, how does WCF fit in? Since WebAPI provides the data end points, can it also be used to connect to a WCF Service OR WebAPI can be replaced by WCF.
Thanks once again.
Wednesday, November 15, 2017 6:35 AM -
User-335504541 posted
Hi kashifdotnet,
kashifdotnet
how does WCF fit in?You could try to use "WCF Connected Service" to access WCF service in asp.net core. It can be downloaded in Visual Studio Marketplace.
You could refer to the link below for more information:
Best Regards,
Billy
Wednesday, November 15, 2017 9:00 AM -
User-821857111 posted
From a new development point of view, WCF has no place. It was replaced by Web API some time ago. WCF was used primarily to develop SOAP-based services. These have largely been superseded by simpler REST-ful services over HTTP. WCF is effectively a legacy technology.
Thursday, November 16, 2017 7:34 AM -
User753101303 posted
Hi,
Yes, to clarify maybe a bit SignalR could be used for example to report progress back to the client while your server side code is still running in response to a single http request.
For web api vs wcf try https://docs.microsoft.com/en-us/dotnet/framework/wcf/wcf-and-aspnet-web-api
In short Web API is intended for most cases and should be your default choice. Use WCF if you REALLY need once of its more advanced feature...
Thursday, November 16, 2017 12:17 PM