How Do I Choose the Right Web Framework?

Поделиться
HTML-код
  • Опубликовано: 19 окт 2024
  • How do I choose the right web framework for my project? Do I use ASP.NET Core? Do I use Angular? React? Vue? What criteria should I use when deciding what is right for my project? These are the questions we will answer in today's episode of Dev Questions.
    Website: www.iamtimcore...
    Ask Your Question: suggestions.ia...
    Sign Up to Get More Great Developer Content in Your Inbox: signup.iamtimc...

Комментарии • 59

  • @crustydev5561
    @crustydev5561 Год назад +8

    Dev Question videos are the main reason I watch this channel and I must say I appreciate your nuanced answer. It's not easy to "cover your bases" in such a short period

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      I am glad they are so helpful.

  • @jediTempleGuard
    @jediTempleGuard Год назад +6

    Perfect timing :) Exactly what i was looking for. Thank you.

  • @kj2w
    @kj2w Год назад +4

    I've seen 2 scenarios with Frameworks:
    'New person gets hired to team to write code. Front end framework is different than previous job's framework, so they embark on a quest to change the current app's framework to the framework from their previous job'.
    When asked 'What problem is currently there in current framework that new framework would fix?' the answer is almost always 'Everything'. Its usually a junior to newer mid-level dev problem.
    'Long tenured senior dev or architect at company makes every new project a different framework cause, at that time, its the new 'hotness'. This is called RDD (Resume Driven Development). Ends up that they sell the idea to upper management, write what is essentially a 'hello world' app, then hands it off to the team while they go create a brand new app with a brand new framework. These people always seem to have been promoted cause they are no longer competitive in the market place and stay at a company for years.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      I would hope you would have seen a framework used well as well (third category).

    • @kj2w
      @kj2w Год назад

      @@IAmTimCorey yeah, you'd think when asked 'Why did the company at the time chose Framework X?' would be met with a thoughtful and insightful answer. Nope, I've found its either 'The original dev new X really well so he went with that' or 'the project requirements had framework X specifically listed, so that's what this project is using'.

  • @UmanPC
    @UmanPC Год назад

    Definitely LIKE.
    Great video.
    Tnx Tim.

  • @faisalalhoqani6151
    @faisalalhoqani6151 Год назад

    Great video, dear Tim keep it up

  • @RahimullahHayat
    @RahimullahHayat 3 дня назад

    Thanks alot sir

  • @viophile
    @viophile Год назад +1

    I have found it quite difficult to take into use .Net 6 based site in a Cpanel LAMP-server, maybe you could make a video on that subject.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Thanks for the suggestion. Please add it to the list on the suggestion site so others can vote on it as well: suggestions.iamtimcorey.com/

  • @micro2743
    @micro2743 Год назад

    .Net 7 is GA! I just made a suggestion on your suggestion site for a 10min video on Installing .Net 7, runtime, SDK, Visual Studio 22 v17.4.0, and Linux.

  • @FAHADBINYOUSUF
    @FAHADBINYOUSUF Год назад

    How Do I select correct design pattern for development before starting?
    for example: for which type of project should we select factory pattern, Singleton and other...
    your help will be appreciated
    Thanks

    • @rafachmiel4939
      @rafachmiel4939 Год назад +1

      What... do u know what design patterns are in first place?

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      We don't start with "these are the design patterns that are needed for all projects". Remember, the purpose of a design pattern is to make your code better and simpler. However, they add complexity. So the only way to add a design pattern to make your code less complex is to already have more complex code. That means a design pattern will actually negatively impact your code until a certain point. Therefore, my recommendation is to learn how to build applications first so that you have a better handle on how large and complex an application will be before you start. At that point, it should become obvious which design patterns will be right for a specific application (each application will be different).

  • @Nerin18
    @Nerin18 Год назад

    Is there an easy way of maintaining the firewall exceptions for Azure SQL DB? I got around the problem using proxy. Now I need a site alias and port 1433 to works.
    I know the list of servers that are used in my DB location but the maintenance can be a problem for my clients.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      The purpose of the firewall is to protect your database. The easier you make it to bypass the firewall, the smaller the protection it offers your site. Is the list of servers that uses your database changing that often? That seems like a problem to look into.

  • @micro2743
    @micro2743 Год назад

    Blazor, One Framework to rule them ALL! You must use the One Framwork, My Precious. Ok, yes, I know there are other frameworks, but I do no like any of them. Everything else seems like old news to me. Yes, I know this is bright shiney object syndrome, but right now it is a hot topic. I just hope Microsoft continues to support its evolution.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Which Blazor? Blazor Server? Blazor WebAssembly? Blazor Hybrid?

    • @micro2743
      @micro2743 Год назад

      @@IAmTimCorey All of them... Wait... Uno has WebAssembly... now I am torn... lol

  • @ruchi__
    @ruchi__ Год назад

    What if you wanna learn your first framework?

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Start with a language first. For instance, learn C#. From there, pick one framework to learn. But don't skip ahead to the framework. Learn the full language well first.

  • @quicktastic
    @quicktastic Год назад +1

    Just know that, whatever you decide, it will already be on it's way to being old and outdated a year from now and people will be suggesting you start converting to the newest and greatest thing. The biggest fault I see in web design is lot of thought going into the backend and little going into the user experience. That is what Amazon got right 20+ years ago. Think about the user of the website first and foremost. If the UI sucks, the site sucks no matter how much great thought and technology went into the backend.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +2

      I think the "outdated" idea is a myth. There is a difference between "not on the latest" and "outdated". For instance, Microsoft marks the even numbers of .NET as LTS (Long-Term Support) versions, which means you can still use the same version for three years, even though two new versions will be out by that point. Also, the "start converting" is a bit of an overstatement. For instance, the move from .NET 6 to .NET 7 takes practically no effort. Software has to be updated, because otherwise the bugs and vulnerabilities are not addressed, so even if we decided that new features weren't wanted, we still need to update our software.
      As for Amazon "getting it right" with UI-first, I'm not sure I would go there. The biggest part of Amazon is beneath the surface. But I do agree that a good UI experience is important.

    • @quicktastic
      @quicktastic Год назад +1

      @@IAmTimCorey Thanks for the thoughtful response Tim.

  • @gabrielgracenathanana1713
    @gabrielgracenathanana1713 Год назад

    The write answer: choose Angular, it is a must. Everything else is a "migration plan" -- migrate everything in that direction, piece by piece. Saying "it all depends" and then sell MS shit -- is not nice and honest.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      Being so focused in on Angular is like saying your hammer is the only tool you need. Software development is about making wise decisions based upon the situation you are presented with rather than locking your choice in ahead of time. I love my truck, but I wouldn't take it to the racetrack. I also wouldn't take a racecar on a muddy path in the woods. Choosing the right tool for the job will make things a lot easier.

  • @brynarn
    @brynarn Год назад

    C# is good for many things, but for web development it is too clonky. Too many lines of code for simple tasks. Node JS and React is so much faster. And with all the free packages and libraries it is my preference

    • @IAmTimCorey
      @IAmTimCorey  Год назад +4

      I would encourage you to check it out again. I think you've missed modern C# web development changes. For instance, I can get a full CRUD API up and running in less than 30 lines of code. With Blazor Server, I can create a client-side interactive CRUD form in less than 60 lines, including both the HTML and C# code. Both of these can be up and running within minutes of me deciding I need them. Oh, and I don't have to deal with npm or the massive dependency graph typically associated with a JS application. 😉

    • @siyata475
      @siyata475 Год назад

      @@IAmTimCorey Thanks for this great video!! Do you have a video demonstrating this?

    • @brynarn
      @brynarn Год назад

      @@IAmTimCorey Sure I will have a look at it some more :)

    • @arrrryyy
      @arrrryyy Год назад

      @@IAmTimCorey Also, you don't need to throw away you code in 3 years or so. It's not only because C# is strongly-types language, but because of the entire framework. Try a new developer to continue working on the code written by another in php or node. Almost impossible. While c# - no problems.

  • @KILLBASE
    @KILLBASE Год назад

    It would be handy if there were time title parts on the video (don’t know how they are called exactly, but it shows a title for each section of the video on the play bar).
    I myself choose new frameworks that i don’t have any experience with for fun projects, and frameworks i like and know about for potentially serious proof of concept projects :D

  • @RahimullahHayat
    @RahimullahHayat 3 дня назад

    Con u send to me this video

    • @IAmTimCorey
      @IAmTimCorey  2 дня назад

      I am not sure what you mean. You are able to watch this video right here. If you are asking for a downloadable version, then no, I don't provide that.

  • @gabrielgracenathanana1713
    @gabrielgracenathanana1713 Год назад

    this shows that you are indeed an old MS guy! I use that term not in a positive tone. It is close to "you are a asp page guy", or "you are a vb6 guy" in 2020. You mentioned all factors right, but you put the weight wrong. And, you put it in a silent FUD way, the typical old MS way. The key thing is, in your analysis, you never directly address technical issues. You always imply that people cannot learn a new technology within a few weeks. It is so strange!! You yourself actually learn new things. Why are you assuming that asp page people or desktop VB6 have to take much long time learning, for example, Angular, than learning Blazer? Why you sell MS stuff in such an "evil" way?!! Man, it is not cool.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +1

      It sounds like you think "learning" a new technology means knowing how to build something small. That's not what I'm talking about. What I'm talking about is actually learning how to fully use a large technology. That takes time, especially since the biggest way you validate that you have learned something is to practice it. Using a technology seriously for the first time in production is a rookie mistake. By the way, I am an older developer in that I've been developing software professionally for 26 years this spring. In that time, I've been paid to develop in over 20 languages. They include VB6, C, C++, Java, JavaScript, Python, FoxPro, VB.NET, C#, SQL, PHP, Delphi, Fortran, Perl, HTML/CSS, Angular, and many more. As a consultant, I wasn't just asked to do little things. They would ask me to fix the hard things that they couldn't. In other videos, I've been very clear about the fact that C# isn't the only way. I use it because I like it a LOT, especially compared to the other options (very much including Java), and because of how versatile it is (it can run natively on almost any platform).
      To address your one comment at the bottom about why it would take someone longer to learn Angular than Blazor, that's a good question. The answer is that I stated at the beginning that I was talking to C# developers. If you already know C#, adding a web framework that uses C# is not nearly as hard as adding a JavaScript framework. Especially since you are already used to NuGet for package management and have things set up for that. You can reuse your libraries, etc. If you add Angular, you now have to add in npm (or similar) for package management, you have to add in all new libraries, and you still need an API powered by something (C# or Node, but either way you aren't done with Angular). That's a lot more work.

  • @Corvin_
    @Corvin_ Год назад +8

    Bruh these filler videos are terrible. The whole thing could be 30 seconds.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +16

      Sigh. Not filler, just not for you. Developers have questions. I answer questions. Not everyone has the same questions. That's ok.

    • @flogginga_dead_horse4022
      @flogginga_dead_horse4022 Год назад

      what a bonehead

    • @o_glethorpe
      @o_glethorpe Год назад +4

      What are you talking about? He made a lot of good points in my opinion

    • @allenbythesea
      @allenbythesea Год назад +1

      @@IAmTimCorey if someone is asking whether they should use a language most of their company is already using then maybe they shouldn't be in our field to begin with.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +8

      @Allan A - I disagree. This question should be asked all the time. If you don’t, you start saying “our hammer is the only tool we need”. We need to question the decisions we make on a regular basis.

  • @allenbythesea
    @allenbythesea Год назад +4

    A lot of this is captain obvious stuff and really thin on content. Lately most of your videos have been all obvious / filler content and no meat.

    • @IAmTimCorey
      @IAmTimCorey  Год назад +7

      The premise of this comment is that people are born knowing things. From your other comment, it feels like your view is that this type of questioning isn’t valid, which I also disagree with. Growth comes from questioning what you “know” and want to know. My goal is to help people grow. That means answering questions, even if others already know the answer (or think they do). As for the comment about “most“ of my recent videos, I’m not sure what you mean. I release three videos this week on .NET 7 and how to use it. Are you saying they were “obvious” and had “no meat”?

    • @pjn2001
      @pjn2001 Год назад +2

      Link to where we can find your software dev videos?

    • @flogginga_dead_horse4022
      @flogginga_dead_horse4022 Год назад +3

      Hey, captain obvious, you obviously know it all and can stop learning. So why you here? Maybe you aren't his audience.

    • @mohammedmclovin4450
      @mohammedmclovin4450 Год назад

      @@pjn2001 AHAHAHA... that burns!