locked
Should I learn Asp.Net MVC or just stick to the old design pattern ? RRS feed

  • Question

  • User2015884762 posted

    Hi, I just feel like I am so outdated, I have just completed finishing 1 project using ASP.net webforms and I loved it, I loved the way I worked on it and that I learn about the coding part as well, the integration with JavaScript and the SQL database. I like to design the webpage according to html and include controls like grid view here and there.

    Now for the second project, I have decided make to for a cross between desktop app and web forms. So, 1 part of it will be a WPF desktop application and another will be .net web forms, both of course connected to a single database. 

    My question is, should I learn MVC and start developing the .net web forms using the MVC design pattern, I just find it so difficult to learn, I would need to deliver this project by end of the year this year, what is the learning curve like. The other thing is that, I understand that we can't view the design mode of the page and we would have to do it on the browser. Is this gonna be the future, cause if you ask me, developing .net web forms using design was helpful, but at times, certain controls just overlap on each other in design mode. Web browsers serve better view. 

    What type of controls can I use in MVC, I understand that we cant use gridview and all, or is not that easy to use them.

    Can I get some links to good tutorials on how I should learn MVC if that's what the future is gonna be. 

    Friday, September 6, 2019 8:01 AM

Answers

  • User541108374 posted

    Hi,

    Now for the second project, I have decided make to for a cross between desktop app and web forms. So, 1 part of it will be a WPF desktop application and another will be .net web forms, both of course connected to a single database. 

    Be sure to put the data access and business logic in seperate projects which you can include in your WPF and web applications for easy reuse. If you want to take it further you can also add a service layer in between but if you don't need it it's likely overkill (and more maintenance, ...).

    should I learn MVC

    .NET Core doesn't have support for Web Forms and .NET Framework full will likely stick at version 4.8. Web Forms is a mature platform to work on but doesn't get the attention/publicity anymore as in the past.

    I just find it so difficult to learn

    There's excellent documentation on docs.microsoft.com to learn it step by step.

    I would need to deliver this project by end of the year this year

    That's a tough call and I can't decide for you on this one as I don't know your ability to absorb and apply new ways of working quickly in an ever changing world. It might become an impediment on the speed of your work to be able to finish it on time so just keep that in mind.

    Is this gonna be the future

    No, it's already here. Tools (F12) in browsers have become way better over the years and there are plugins/extensions to update the html/css in your IDE.

    What type of controls can I use in MVC

    None by default. There are third party controls you can buy/get from companies like Telerik to make use of (like a grid etc): https://demos.telerik.com/aspnet-mvc/grid. There are others, I'm just mentioning this one as me and my team used it quite a lot the last couple of years at a large bank for several projects.

    https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started for ASP.NET

    https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/?view=aspnetcore-2.2 for ASP.NET Core. Note that in a couple of weeks the new .NET Core 3.0 will be released. .NET Core has a way faster release cycle than .NET framework.

    Kris.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, September 11, 2019 7:51 AM

All replies

  • User753101303 posted

    Hi,

    It's hard to answer this kind of question for you. Depending on how you are using Web Forms you could have a look at https://docs.microsoft.com/en-us/aspnet/web-forms/overview/presenting-and-managing-data/model-binding/retrieving-data (not often noticed as this is new in 4.5 or later).

    With web forms you build a control tree in memory which is then rendered as HTML markup at the end. With MVC or Razor pages you don't have a design view as it is really just a convenient way to write C# code rendering HTML markup directly to the browser.

    The closest to web form is https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-2.2&tabs=visual-studio but you'll move also to ASP.NET Core. Its likely best to try that first on a quite small project. Also depending on your experience or preferences, you have to find out at which point you are comfortable with being a bit outside for your comfort zone.

    Friday, September 6, 2019 8:50 AM
  • User475983607 posted

    Can I get some links to good tutorials on how I should learn MVC if that's what the future is gonna be.

    ASP.NET MVC is 10 years old.  The newest framework is ASP.NET Core Razor pages.  You can find tons of tutorials by clicking the learn or docs links above.

    https://docs.microsoft.com/en-us/aspnet/core/getting-started/?view=aspnetcore-2.2&tabs=windows

    The question of what to learn gets asked often and only you know the answer,  If you are an ASP,NET developer then it's logical to learn the frameworks available in ASP.NET. 

    In my experience, Web Forms developers do not understand how web applications and browsers actually work because Web Forms shields developers from the inner workings of HTTP, HTML, and managing state.  MVC expect that developers understand these concepts which is generally the major complaint that Web Forms devs have when moving to MVC.

    Friday, September 6, 2019 12:16 PM
  • User665608656 posted

    Hi callykalpana,

    According to your description, If you want to learn mvc , in addition to the learning links from the above two respondents, you can also refer to Microsoft's official MVC tutorial:

    Getting started with ASP.NET MVC 5

    You can learn it step by step based on this link.

    Best Regards,

    YongQing.

    Monday, September 9, 2019 5:49 AM
  • User379720387 posted

    If you are a team of one, then avoid MVC. Too much unnecessary complexity for just you. Now if you were to work in a team say next year then you may need to reconsider my advice.

    Developing from a browser is not a problem because the site is local and therefore pretty spiffy.

    Now if you want to skip some of the current frameworks and are in for an adventure you may want to consider Blazor. It (mostly) does away with JS, which takes away some of the learning effort.

    You would be at the bleeding edge.

    Tuesday, September 10, 2019 7:55 PM
  • User541108374 posted

    Hi,

    Now for the second project, I have decided make to for a cross between desktop app and web forms. So, 1 part of it will be a WPF desktop application and another will be .net web forms, both of course connected to a single database. 

    Be sure to put the data access and business logic in seperate projects which you can include in your WPF and web applications for easy reuse. If you want to take it further you can also add a service layer in between but if you don't need it it's likely overkill (and more maintenance, ...).

    should I learn MVC

    .NET Core doesn't have support for Web Forms and .NET Framework full will likely stick at version 4.8. Web Forms is a mature platform to work on but doesn't get the attention/publicity anymore as in the past.

    I just find it so difficult to learn

    There's excellent documentation on docs.microsoft.com to learn it step by step.

    I would need to deliver this project by end of the year this year

    That's a tough call and I can't decide for you on this one as I don't know your ability to absorb and apply new ways of working quickly in an ever changing world. It might become an impediment on the speed of your work to be able to finish it on time so just keep that in mind.

    Is this gonna be the future

    No, it's already here. Tools (F12) in browsers have become way better over the years and there are plugins/extensions to update the html/css in your IDE.

    What type of controls can I use in MVC

    None by default. There are third party controls you can buy/get from companies like Telerik to make use of (like a grid etc): https://demos.telerik.com/aspnet-mvc/grid. There are others, I'm just mentioning this one as me and my team used it quite a lot the last couple of years at a large bank for several projects.

    https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started for ASP.NET

    https://docs.microsoft.com/en-us/aspnet/core/data/ef-mvc/?view=aspnetcore-2.2 for ASP.NET Core. Note that in a couple of weeks the new .NET Core 3.0 will be released. .NET Core has a way faster release cycle than .NET framework.

    Kris.

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, September 11, 2019 7:51 AM
  • User2015884762 posted

    Hey,

    Thank you for your feedback, appreciate it.

    Friday, October 4, 2019 9:18 AM