Coding With Chuck
Coding With Chuck
  • 53
  • 392 310
Master ASP.Net Blazor 8 with C# - Episode 2, Blazor Components
In this episode, we continue building our ASP.Net Blazor Server Application with custom Blazor components. Using C# and razor, this lesson dives into Blazor components and Blazor pages.
Check out our website at www.McCulloughAssociates.com
00:00 Introduction
00:45 Application Overview
01:22 Item List
04:18 Creating a Simple Component
05:42 Item Detail Component
06:43 Simple onclick Event
09:37 Page Component
11:06 WebAssembly
11:24 Conclusion
Переглядів: 455

Відео

Master ASP.Net Blazor 8 With C# In This Introductory Tutorial!
Переглядів 3,6 тис.8 місяців тому
In part 1 of this series on ASP.Net Blazor 8 using C#, Chuck explains the tools required and explains the contents of a Blazor application. Both Visual Studio 2022 and Visual Studio Code are covered. In addition, we look under the hood to see how Blazor server applications exchange messages with the server. Check out our website at www.McCulloughAssociates.com where you will find complete cours...
Mastering C# Yield, Async Yield, & Enumerators - Improve Application Performance!
Переглядів 3068 місяців тому
Are you creating lists or arrays to return from methods in C#? Use yield return instead to make your code much more efficient. In this video, Chuck explains the pro's and cons of the different ways to return collections and how the yield, async yield, and await foreach keywords really works! Developers will understand how application performance is affected by the different ways to use Enumerat...
Primary Constructors in C# Programming Language Will Save You TIME
Переглядів 7 тис.9 місяців тому
Programmers will want to know all about the new C# Programming Language version 12 (.Net Core 8) feature, Primary Constructors to save lines of code! Whether you are a software engineer, developer, project manager, or if you are just getting started in programming, you will want to know about this useful feature! Check out our website at www.McCulloughAssociates.com Chapters 0:00 Introduction 0...
ASP.Net MVC Vs Blazor: The Ultimate Showdown - Who Will Reign Supreme?
Переглядів 10 тис.9 місяців тому
Chuck compares two ASP.Net frameworks - MVC vs Blazor. There are many web development platforms and even within the family of ASP.Net, there are several options. Blazor provides an interesting approach that can be client or server based. Who Reigns Supreme? Watch and find out! ASP.Net MVC is a more traditional, but very powerful framework as well. Join Chuck as he compares these frameworks! Che...
Introduction to C++ Live Stream!
Переглядів 137Рік тому
Introduction to C Live Stream!
Master C++ Programming! Join Our Free Live Stream For Beginners!
Переглядів 154Рік тому
Master C Programming! Join Our Free Live Stream For Beginners!
Use C++ 20 Template Constraints to Improve Readability and Syntax Error Messages
Переглядів 1,6 тис.2 роки тому
Use C 20 Template Constraints to Improve Readability and Syntax Error Messages
Python vs C# vs Java. Learn the differences and similarities of these languages
Переглядів 17 тис.2 роки тому
Python vs C# vs Java. Learn the differences and similarities of these languages
Master ASP.Net MVC 6 In Just One Video!
Переглядів 1,5 тис.2 роки тому
Master ASP.Net MVC 6 In Just One Video!
What Does async & await Really Do in C#? Learn all about Async Await in C#
Переглядів 1,3 тис.2 роки тому
What Does async & await Really Do in C#? Learn all about Async Await in C#
Learn C++, C# and Java With Chuck
Переглядів 3,3 тис.2 роки тому
Learn C , C# and Java With Chuck
Comparing C# to Java - I Code in Both. Learn about the Differences and Similarities.
Переглядів 141 тис.2 роки тому
Comparing C# to Java - I Code in Both. Learn about the Differences and Similarities.
Why You Aren't Using Interface Correctly in Your Design and Code
Переглядів 1,2 тис.2 роки тому
Why You Aren't Using Interface Correctly in Your Design and Code
Don't End up at the Train Station! Learn to Code Cleaner with Chuck!
Переглядів 1282 роки тому
Don't End up at the Train Station! Learn to Code Cleaner with Chuck!
Code Cleaner with Deconstruction in C#
Переглядів 4902 роки тому
Code Cleaner with Deconstruction in C#
Learn All About Record Types in C#
Переглядів 1,8 тис.2 роки тому
Learn All About Record Types in C#
Interfaces can have Implementation: Default Interface Implementation in C#
Переглядів 6572 роки тому
Interfaces can have Implementation: Default Interface Implementation in C#
C++ vs C# - What Programmers Need to Know About Their Similarities and Differences
Переглядів 164 тис.3 роки тому
C vs C# - What Programmers Need to Know About Their Similarities and Differences
Introduction to C#: Classes Part 2 - Properties
Переглядів 1543 роки тому
Introduction to C#: Classes Part 2 - Properties
Introduction to C#: Classes, Part 1
Переглядів 1923 роки тому
Introduction to C#: Classes, Part 1
Introduction to C#: Namespaces
Переглядів 1833 роки тому
Introduction to C#: Namespaces
Introduction to C#: Console I/O
Переглядів 2233 роки тому
Introduction to C#: Console I/O
Introduction to C#: Values and References
Переглядів 2023 роки тому
Introduction to C#: Values and References
Introduction to C#; Overview of Methods
Переглядів 1963 роки тому
Introduction to C#; Overview of Methods
C# Tutorial for Beginners - Learn C# Today!
Переглядів 1,9 тис.3 роки тому
C# Tutorial for Beginners - Learn C# Today!
Introduction to C# Part 2: Loops and Conditionals
Переглядів 2643 роки тому
Introduction to C# Part 2: Loops and Conditionals
Tuples in C# (updated)
Переглядів 1673 роки тому
Tuples in C# (updated)
C# String Literals - Interpolated & Verbatim
Переглядів 3284 роки тому
C# String Literals - Interpolated & Verbatim
Null-Conditional Operators in C#
Переглядів 5664 роки тому
Null-Conditional Operators in C#

КОМЕНТАРІ

  • @markmaligres4288
    @markmaligres4288 4 дні тому

    I needed to add <Routes @rendermode=RenderMode.InteractiveServer /> to the App.razor to get the onclick to trigger, found static rendering is the .net 8 default on a google search

  • @mr_don_key
    @mr_don_key 22 дні тому

    there are three modes (and auto mode) in blazor SSR, Server, webasm

  • @xelad3362
    @xelad3362 22 дні тому

    Excellent video! This helped me a bunch

  • @peacemakerle
    @peacemakerle Місяць тому

    I hate the convention in C# to begin the name of functions with an uppercase letter. It looks disgusting. Generations of programmers have done it in almost all languages with lowercase letters for good reasons.

  • @dennycrane2938
    @dennycrane2938 Місяць тому

    Sorry but C#/.NET as a language and framework in 2024 is superior to Java in every single way. Expressiveness, performance, ease of use/low learning curve, productivity, all of it. People are still floating along with a 2010 opinion of it and a blind hatred for Microsoft products. Drones.

  • @jalonso81
    @jalonso81 Місяць тому

    In my personal opinion, C# has overpass Java since 2007 in performance features and power, Java is lacking vision and planning..

  • @roccociccone597
    @roccociccone597 Місяць тому

    I use Go and C. I am just here to see what it’s about.

  • @ebbewertz3417
    @ebbewertz3417 Місяць тому

    It might be something from one of the newest versions but java actually has Record classes. (With a record keyword instead of class)

  • @ShabirHakim
    @ShabirHakim Місяць тому

    One more point i believe we missed here is that , C# has awesome community With online resources like Stack Overflow, Reddit, and GitHub, you can easily find help and support for any issues you may run into while programming in C#. 😔

  • @NickTheCodeMechanic
    @NickTheCodeMechanic Місяць тому

    Cuz you know, I'm all 🎶 ... 'bout that LINQ, 'bout that LINQ, no bubble (sort!). I'm all about that LINQ, 'bout that LINQ, no troubles. (2x) Every API is threaded from the bottom to the top.... 🎶

  • @NickTheCodeMechanic
    @NickTheCodeMechanic Місяць тому

    The thumbnail pretty much describes Java's simp status. 😂

  • @MaxiTB
    @MaxiTB Місяць тому

    This video is riddled with inaccuracies and miss representations, so instead of pointing all of them out three examples: === struct Nullable<T> === The video claims that nullable value types of C# are the same as Optional<T> in Java. This can't be further from the truth. A nullable value type in C# is a value type, not a reference type. In other words it's a stack representation not a heap object. There is no GC allocation, management and freeing required. Optional<T> on the other hand is like all types beside primitives a reference type, because Java doesn't has the concept of value types at all. With all the performance downside especially the need for garbage collection. This is massive for simple types which only take up free stack space (or sometimes get optimized away into registers completely) vs a heavy heap allocation that needs to be managed and even has a negative impact on the rest of the code because the more heap objects you have the slower the overall management of the heap becomes. Additionally nullable reference types are highly integrated into the the language definition and not just syntactical sugar; you can compare value types to the null constant in language which obviously is a translation to check the boolean HasValue property because again, nullable value types are not reference types and cannot be null, it is just thanks to changes in the language standard that it was allowed to behave like it can be compared to null. A similar exception is in place for assignment of null (which again should and was not possible before the language standard got expanded). === operator==/operator!= === The video claims that operator== is the same as equals in Java. operator== is a static member method of a class which needs as argument itself and another concrete argument. In other words, it's the fastest, simplest to inline, boxing free way to have an comparison. The language actually requires you to implement the companion operator != exactly because for performance reasons. There simply doesn't exist something like that in Java - AT ALL. Java equals is on the other hand a virtual call that takes an nullable object, which exists in .net as well, it's object.Equals. This call by it's own by the nature of being virtual is around 20-40 times slower and cannot be inlined at all. === Generics === Java generics are using type erasure, they are a poor mans version of classic C++ templates, pure syntactical sugar. In C# generics are real types. Specifically they consist of a generic definition type (f.e. Dictionary<,>), one pure reference type generic implementation (f.e. Dictionary`2) and multiple mixed or pure value type implementations (f.e. Dictionary<int,object>). All of those can be constructed via reflection at runtime (f.e. typeof(Dictionary<,>).MakeGeneric(typeof(int), typeof(string) - impossible in Java). Implementations containing value types are also constructed because those not only make costly boxing/unboxing obsolete, they are also providing additional optimization opportunities on every layer. For this reason there is always only one pure reference type version (which basically is what Java has). The whole point of it only matters reflection is complete nonsense.

    • @McCulloughAssociates
      @McCulloughAssociates Місяць тому

      Our goal was to provide a high level overview of the languages, not to dig into every minutia as that would require a much longer video. For the vast majority of applications and developers, whether something is heap or stack allocated is irrelevant and certainly beyond the scope of a 11 minute video. But, hey thanks for the essay! We look forward to your first video on the topic!

  • @haroldiv947
    @haroldiv947 2 місяці тому

    Only seen the start of the video so far but it seems a tad harsh to include type names as keywords since they are really not at all keywords.

    • @McCulloughAssociates
      @McCulloughAssociates Місяць тому

      Simple (although crude) way to demonstrate feature implementation as core language vs library.

  • @toby9999
    @toby9999 2 місяці тому

    This is very good. Too many C++ vs. this or that comparisons usually start with the ridiculous C++ is old and dangerous and should be abandoned kind of stuff.

    • @McCulloughAssociates
      @McCulloughAssociates Місяць тому

      I coded in C++ back when it was new and dangerous! It is only dangerous when developers are inexperienced or inept. Modern C++ is even easier to code bug free!

  • @bob-nt8xd
    @bob-nt8xd 2 місяці тому

    awesome tutorial! Could you dive in into Localization? i cant find a good way of implementing it using blazor. Also, will you cover hybrids? MVC and Blazor?

  • @burtonrodman
    @burtonrodman 2 місяці тому

    i'm definitely in the C# camp... the last time i TRIED to do anything in Java I got totally lost just installing the tools. TO BE FAIR, it's very possible a Java guru would have the same reaction to getting started with C#. I used to believe the same things about performance... and for the desktop you're right. it's fast enough -- and when it's not, optimize the hot path and move on. in the cloud however, performance can affect the bill you get at the end of the month -- so performance needs to be a higher priority. anyway -- excellent and fair comparison of these languages without insulting anybody's mother ;)

  • @kopilkaiser8991
    @kopilkaiser8991 2 місяці тому

    I really enjoyed watching this video. I was able to learn a lot from watching this video and was able to enhance and upscale my existing knowledge in C#.

  • @SchkuenteQoostewin
    @SchkuenteQoostewin 2 місяці тому

    You were actually helpful. I took no offense to the fact Java is slow. It blocking IO vs Node.js Non-blocking IO is something I knew. C# being faster then Java is not something I am surprised at even though I have been in Java for 27 years.

  • @eduardorezende8462
    @eduardorezende8462 2 місяці тому

    Nice

  • @kARMIN-gt4qh
    @kARMIN-gt4qh 2 місяці тому

    ❤ C#

  • @kingshahzad78
    @kingshahzad78 2 місяці тому

    Wonderful efforts... Lots of respect and love

  • @kingshahzad78
    @kingshahzad78 2 місяці тому

    Thanks Dear

  • @hlubradio2318
    @hlubradio2318 3 місяці тому

    When I see things like this I don't know why I would go back from Python

  • @jaytee283
    @jaytee283 3 місяці тому

    When I need java I use kotlin.

  • @luciusrex
    @luciusrex 3 місяці тому

    With C# you can do so much! Dot net alone is huge add to that unity in your free time. Just so warm all around

  • @rhysbaker2595
    @rhysbaker2595 3 місяці тому

    Okay sure but how does this impact readability?

    • @McCulloughAssociates
      @McCulloughAssociates 3 місяці тому

      Which is more readable? (imagine nested templates as well!!!) pair<int, std::string> p(42, "hello"); pair p2(42, "hello"); // CTAD

  • @javiergavilanmerida2133
    @javiergavilanmerida2133 3 місяці тому

    7:03 And this is the worst idea anyone can have. The "Result" type (as well as other strategies) that some modern languages ​​use to return errors explicitly, has been solved in Java with checked exceptions since the beginning. Using RuntimeException is simply a lousy (and cheap) way to handle errors...because in most cases, they simply won't be handled. This is why in Java philosophy "RuntimeException" were only intended for PROGRAMING errors, "Error" for unrecoverable errors (That is why there is no need to explicitly declare that they will be throwed, and in fact they should rarely be captured.), and the other exceptions (the checked ones) for manageable situations (for example, retrying, rolling back a transaction , or notifying the user of the reason for the error so that they can provide a manual solution). Checked exceptions make boilerplate code, but not fragile software. The only case where checked exceptions make the code weaker is when they are caught but not handled (which is easy to see is a terrible practice. Just as bad idea as making everything a RuntimeException). If you don't know/can handle a checked exception at a certain point, just throw it again (but handle it as early as you can). If you use a knife incorrectly and cut yourself, it's not the knife's fault, it's yours. With this it is the same.

  • @danielvega646
    @danielvega646 3 місяці тому

    So basically, C# is harder but richier than java.

    • @McCulloughAssociates
      @McCulloughAssociates 2 місяці тому

      C#,C++ = complex core, implicit; java,python=simple core,explicit

    • @toby9999
      @toby9999 2 місяці тому

      ​​@danielvega646 I'm far from an expert in either, but I find java harder to learn. I prefer C++ over both, but if I had to choose another language for Windows application development, it would be C#.

  • @thomashcase
    @thomashcase 3 місяці тому

    Pretty good summary. I think one historical difference had been start-up time. With Red Hat's Quarkus and using GraalVM, this issue has been fairly addressed. I think one area not covered may be library SDK Ecosystem in relation to Cloud Providers. If using Azure, both are covered fully, with edge to C# (broader functionality). If one is talking Google Compute Cloud or AWS, they may or may not be as fully comprehensive for C# as they are for Java. As for speed, as long as one follows standard best practices, either are adequate and you are correct, absolute speed really means another choice (C++, Rust, or even Golang depending on specific coding requirements).

  • @vlax12
    @vlax12 3 місяці тому

    I code in both. They are just tools for creating value to the customer and myself. If customer requires java, I'll code in java and viceversa.

    • @AA-fo4nd
      @AA-fo4nd 3 місяці тому

      @@vlax12 in your opinion which one is more required in jobs and stuff? i wanna learn one of them but i’m still confused.

  • @stefans.6858
    @stefans.6858 3 місяці тому

    It‘s Java. Everything is there. If you want lesse boiler plate code, use Lombok.

  • @AndreCarneiro666
    @AndreCarneiro666 3 місяці тому

    For me the only reason for Java exist is portability. It's a awful language, extremely bureaucratic, the solution for dependencies is a nightmare and everything has XML involved which really sucks! Moreover, Java is BORING! Everything has to get more time to do comparing with any other program language. C# is very performant, but .NET is so fat that performance decreases over time when more and more components( which developer doesn't have any control over it) is added to the program. As a program language I have no complains about it except for some "excentric" and exclusive keywords and concepts. The problem is have to pay to access the productivity features on Visual Studio. And it's expensive! Python is slow! That is the problem! But, the simplicity(thus, productivity) is the trade-off. So true, that scients choose the language as main language to solve their problems. It has a ton of libraries for anything a developer need and the new versions is getting better regarding to the performance issues. The GIL(Global Interpreter Locker) is finally going to an end which will unleash threads for Python a real feature instead a pain in the ass. For web I think is the best of three languages.

    • @oxXPMXxo
      @oxXPMXxo 12 днів тому

      when did you use JAVA with XML? Are you an old school that uses Java 7 below? Java is now in 24 version, do your research.

  • @LCTesla
    @LCTesla 3 місяці тому

    C# is what Java should have been

  • @CoolTebza-eh7ig
    @CoolTebza-eh7ig 3 місяці тому

    They all languages it's up to you as developers Java can't handle some things same as c#

  • @sergkapitan2578
    @sergkapitan2578 3 місяці тому

    Great Job!!! Thanks a lot! Can you do the same for .NET 8 and all these wonderful explanaitions:)?

  • @eeetube1234
    @eeetube1234 3 місяці тому

    Both Java and C# are not native languages. You have to install Java runtime environment or .Net framework to make Java and C# app work.

  • @eeetube1234
    @eeetube1234 3 місяці тому

    The only good programs I know that is written on Java are JetBrains IDEs and Minecraft. The rest Java app are bad. I do not know any good program written on C#

  • @ronaldjohnson4470
    @ronaldjohnson4470 3 місяці тому

    Awesome tutorial. Thank you.

  • @ronaldjohnson4470
    @ronaldjohnson4470 3 місяці тому

    Thank you Chuck love your teaching style. I've just subscribed to your channel.

  • @stankokostic725
    @stankokostic725 3 місяці тому

    Hey Chuck. Just want to tell you that I am happy to discover your channel. Keep up the great work spreading the knowledge in such a clear way and hope you get a much bigger audience

  • @peacemakerle
    @peacemakerle 3 місяці тому

    The statement about generational garbage collection "since Java 8" is wrong. They had it earlier, just gave it another name.

  • @sadiulhakim7814
    @sadiulhakim7814 4 місяці тому

    Java is faster where c# takes less memory

  • @lukafox7907
    @lukafox7907 4 місяці тому

    Can you do a comparison between C; C++; Rust; Zig; and an assembly -- which is faster?

  • @hassoselb02
    @hassoselb02 4 місяці тому

    Is it compatible with each other? 😂

  • @paap2517
    @paap2517 4 місяці тому

    New sub here! Perfectly explained, thank you!👏🏽

  • @chudchadanstud
    @chudchadanstud 4 місяці тому

    C# is bloated even more bloated than Java and you can't do any serious work without shoving a few pennies in Microsoft pockets. The average C# repo is impossible to read with knowing the ins and outs of VS.

  • @RustyNailer
    @RustyNailer 4 місяці тому

    Don’t understand why anyone would mix technologies in the same project unless you are migrating from one to another. Personally think mixing technologies is a bad idea, it makes maintaining a large application so much harder. What I like about Blazor by virtually eliminating all JScript debugging the UI is so much easier.

  • @kvelez
    @kvelez 4 місяці тому

    Good video.

  • @benoitousman6848
    @benoitousman6848 4 місяці тому

    A very interesting explanation. I also noticed that C# seems to be more adapted for Virtual & Augmented reality developer.

  • @erdusa650
    @erdusa650 4 місяці тому

    But I think Kotlin is going to replace Java. And maybe it's much better than c# :)