so many issues with compatibility and complexity... what is wrong of just serving html/css and vanilla javascript to the browser... tried and tested.. works on everything...
@GavinLon2 күн бұрын
I'm all for simplicity but its great to be able to write an entire enterprise application almost entirely in C# :)
@papamoneyph2 күн бұрын
@@GavinLon right, aspnet with razor cshtml pages, mvc, and just vanilla bootstrap... im perplexed with web developers who go for this automatic "hot reload"...
@papamoneyph2 күн бұрын
@@GavinLon also, ive been trying to solve this massive issue with these react webapp.. maybe react is all good as long as you dont deviate from the standard react component logic... shocked with these "modern" approaches to web development tbh...
@yohanespradono52243 күн бұрын
will SignalR work on ubuntu server?
@GavinLon3 күн бұрын
I haven't tried it but I think it should work. Check this article out - stackoverflow.com/questions/22982099/signalr-self-host-on-ubuntu-server-error
@123mrfarid4 күн бұрын
I like simplicity in Go and i wrote a big corporate app with it. I disagree with anyone that go would be slow for big and complex app but fast for simple apps. I agree that develop complex app in go is repetitive, but it is VERY fast. Maybe one of the cheapest in resources among apps that i wrote. And very stable, very error free. After project done, i almost never touch it again since no error. Smooth running for years, almost without need of maintenance. Lately i write JS since it is easier to write complex app in it. But i will consider C#. I just dont want to be taken hostage by microsoft if possible.
@GavinLon4 күн бұрын
Thank you for sharing your experience and insights into Go, C# and JavaScript. :)
@randomcommenter10_5 күн бұрын
I used to use Unity back in 2015 (as well as Unreal but I mained Unity) but a few years later I fully switched to Unreal because I just think Unity versions after 2017 were gradually getting worse over time compared to Unreal which was getting better. Unreal also just feels more game ready tbh as well has having really good built-in multiplayer support and ease of use with it's blueprint system and material editor. It took Unity years to get an equivalent to those features (and they are still inferior tbh) whereas Unreal has had them since UE3 in 2006
@GavinLon5 күн бұрын
@randomcommenter10_ Thank you for sharing your experience and insights regarding this comparison. :)
@Nurtastube12 күн бұрын
I'm learning C# but I don't understand OOP style. It's so difficult.
@GavinLon12 күн бұрын
My advice if you want to learn OOP is firstly split OOP up into the individual parts, Encapsulation, Inheritance, Polymorphism and Abstraction. Then try to understand each of these concepts at a high level - then try to apply the concepts in your code. Take your time learning these concepts, stay with it and eventually you'll start to grasp the concepts and you'll see the immense benefits of OOP.. Please check out this playlist - kzbin.info/www/bejne/fpTNgJatgrhnadk - to help you along the way :)
@Nurtastube12 күн бұрын
@GavinLon Thanks for the advice. I understand the OOP concept. But I still can't think in the OOP style. Although I wrote a lot of different code. But I still can't think in the OOP style. It turns out that there are a lot of programmers like me who can't think in the OOP style. This is probably also a talent, the ability to think in the OOP style.
@GavinLon12 күн бұрын
@@Nurtastube You can also use other styles using C# but I'll argue that the more you practice applying the OOP style, the more you'll get comfortable using it and reap its benefits. But then again, the beginning of wisdom is knowing yourself (Aristotle) - so you know yourself better than anyone else :) Choose the style that you prefer :) My advice, however, is perhaps don't rule out OOP just yet. :)
@buildit3d_mk15 күн бұрын
I just prefer unreal engine
@GavinLon15 күн бұрын
Thanks for your comment. Can I ask you what your main reasons are for preferring Unreal engine? :)
@buildit3d_mk15 күн бұрын
@@GavinLon My main reason it has better graphics and bleuprints. I am a content creator for unreal engine and blender. That why.
@GavinLon15 күн бұрын
@buildit3d_mk Excellent. Thanks so much for giving your reasons for prefering Unreal engine. :)
@zvonimirjuric321317 күн бұрын
Hi. Great video. I'm wondering if I can become mobile app developer with C# and what I have to learn? Cheers
@GavinLon17 күн бұрын
Hi. Thank you. Absolutely, you can become a cross-platform mobile developer using the .NET Maui framework (which has evolved from Xamarin). You can also use Blazor Hybrid for native device development - which means you'll be able to leverage web technologies (e.g. HTML, CSS) to build your UIs for mobile devices.
@zvonimirjuric321317 күн бұрын
@@GavinLon What knowledge of C# do I need to do this. I know only the basics of C#.
@GavinLon17 күн бұрын
Get competent with C# first. There is loads of free resources on this channel and of course Microsoft Learn. Once you are comfortable with C# - learn the .NET MAUI framework.
@zvonimirjuric321316 күн бұрын
@GavinLon Thank you so much.
18 күн бұрын
Go is simple and supports DDD and TDD effectively. It provides easy connectivity with databases, MQTT, and has one of the fastest compilers. In contrast, the C# model is more complex, Docker integration is less straightforward, memory usage is higher, and version updates can introduce changes that require adjustments.
@GavinLon18 күн бұрын
Awesome - thanks so much for sharing your insights :)
@lofipolis20 күн бұрын
In my opinion, they are incomparable. Can you imagine that tools like Docker would be written on C Sharp? It would eat up a huge amount of memory and processor resources and would be slow. C Sharp is designed for pop programming with an emphasis on convenience, and Golang is a high-performance language, whose paradigm is incompatible with OOP, without which C Sharp cannot exist.
@GavinLon20 күн бұрын
Some strong views. Thank you for your insight :) C# is my favourite programming language so admittedly I'm a bit bias when it comes to comparing C# to other languages but it is great to get different opinions and perspectives. I respectfully disagree with you on a few points regarding C# but thank you for your comment :)
@AhmedMohamed-xx1kx21 күн бұрын
Awesome work! 🎉 Your effort is appreciated in the .NET community. 💻👏
@GavinLon21 күн бұрын
You are very kind. Thanks so much for your positive comment :)
@svetlinzarev345322 күн бұрын
Rust is better than both
@GavinLon22 күн бұрын
Thank you for sharing your point of view :) Rust is a great language!
@itshunter351023 күн бұрын
Hello can u guide me plz?
@waliabbas23 күн бұрын
This was explained in such a fun yet simple way! Thank you!!
@GavinLon23 күн бұрын
You are very kind. Thanks so much for your positive feedback! I'm so glad you enjoyed the video :)
@The_Genezis24 күн бұрын
Its like comparing hammer and swiss-knife. C#/.NET is more versatile and robust suitable for vast amount of application and domains, whereas Go is more focused language with way more narrow use cases in which it will be most of time more performant then C#, but offering way less language features. Also for smaller projects Go can pull ahead of C# in many cases in terms of performance and ease of use, but with larger scale which will be most of non tool or commercial projects, .NET will scale way better then a Go project in most scenarios
@GavinLon24 күн бұрын
Thanks so much for this well thought out comparison :)
@vornamenachname90612 күн бұрын
I mainly use c# and Rust, also I'm very familiar with "languages" like Python. Since net9 I must admit the speed difference between rust and c# became so small in most cases, it's not worth the effort. Since the difference between python and rust is sometimes in the tenths of thousands times faster, in c# it's often one-dot-something.
@GavinLon12 күн бұрын
@@vornamenachname906 Thank you for sharing your insight. The performance of C# has been optimised a lot over recent versions of .NET. I'd love to perform a formal speed test - C# vs Rust - that would be interesting.
@bouboul359724 күн бұрын
3:11 is "unsafe" code really used in other places than the STD? That's an argument I don't understand. If you really want to deal with pointers, use a low level language.
@GavinLon24 күн бұрын
Here is a basic example - The advantages of using managed code come with performance costs. For example, when you retrieve an element from an array, let's say its fourth element, the runtime needs to do a check to see if there is a fourth element, and throw an exception if there isn't. With pointers that runtime cost is eliminated. So higher performance is the reason to use pointers (unsafe code). You might only have a few exceptional cases where you want to use unsafe code (for performance reasons) - which means the vast majority of the project will benefit from using managed safe code - and those exceptional circumstances where you need high speed performance, you can implement appropriate unsafe code in those cases. As to what language you use depends on your requirement. It might be better to use a managed language like C# for a project where you only need performance benefits in a few cases, and a cost/benefit analysis reveals that the benefits of using a managed language outweighs the benefit of using a lower level language (which could be more complex, result in longer development time and potentially less robust code).
@minhgiangho141026 күн бұрын
Visual Studio is extremely bad for Blazor
@GavinLon26 күн бұрын
Why do you say that? :) I find Visual Studio to be the best tool for creating Blazor applications.
@minhgiangho141026 күн бұрын
@@GavinLon Visual Studio frequently encounters issues with syntax highlighting for Blazor. It fails to bold tags or recognize components properly, often requiring a restart to resolve. Additionally, the HTML and CSS suggestions are terrible-when opening a <div> tag, it sometimes auto-inserts an unrelated component tag instead. When writing the @if syntax, it arbitrarily inserts a # in the middle, turning it into @#if, which then needs to be manually corrected. These minor yet persistent bugs severely degrade the Blazor coding experience, making it slow and frustrating to work with.
@GavinLon26 күн бұрын
@minhgiangho1410 Okay thanks for clarifying these issues that you have had with Visual Studio regarding Blazor development. I'll see if I can replicate them myself. I must say I've been happy with my experience in developing Blazor apps using Visual Studio.
@savemysoul411226 күн бұрын
for web developer C# is better, for data analyst python is better
@GavinLon26 күн бұрын
C# will certainly be useful if you need to develop custom tools or applications that integrate with your data analysis workflow. So you can certainly integrate C# apps with your data analytics apps. As you say, C# is great for web development. It's also great for full-stack development, and enterprise solutions in general. In fact I would say C# and .NET are the best technologies for the development of full-stack, enterprise solutions.
@shabanelmogy7912Ай бұрын
i want video for blazor webassembly with google authentication and jwt token
@GavinLonАй бұрын
Lots of Blazor videos are coming up. :)
@shabanelmogy7912Ай бұрын
@@GavinLon waiting thanks
@samsondavidoff372Ай бұрын
I totally prefer C# because of it's modern syntax and other reasons but I have to choose Java just because I hate windows and unfortunately .NET programming has not fully support for other operating systems. Of course .NET Core can be installed on macOS but we can't fully use essential tools from .NET ecosystem on macOS or even Linux. We don't have Visual Studio and SQL-Server on macOS and Linux. I know it's possible to work with SQL-Server through Docker but it has performance lack. Also we can using SQL-Server Management Studio (SSMS) just on Windows! I don't think Microsoft has a plan to officially bring these products to macOS and Linux (maybe because Microsoft wants to prevent migrating from Windows to another operating systems). In past we had Visual Studio for Mac that was terrible. It was based on Monodevelop IDE that compared to Visual Studio (Windows version) didn't have full features! Finally Microsoft discontinued Visual Studio for Mac and suggest developers to use Visual Studio Code but even vscode doesn't have main Visual Studio dialogs and other necessary tools to work on C# projects. So I disappointed from Microsoft and decide to work with Java language (but in the end I still love C# 😂 )
@GavinLonАй бұрын
Thanks for this excellent, detailed comment. :)
@vladmaiorov1072Ай бұрын
I have off topic question. I have a messenger app, which consists of asp API project, and ASP MVC client app. I want to use SignalR, but how to use it with API? I can add SignalR to MVC project, but I want it in API project
@GavinLonАй бұрын
I do intend to cover SignalR in upcoming videos :)
@Pro-PrompterАй бұрын
Bro, You Scared the HELL Outta Me @ 11:54 BTW I was watching at 2 36 AM 🗿🗿🔥🔥
@GavinLonАй бұрын
LOL
@timyoung6495Ай бұрын
Ws for TypeScript!
@i_fuk_religionАй бұрын
if go compiles to native code, debugging is going to be hell... there is a reason why there is a runtime environment...
@razakalsharafy4708Ай бұрын
I don't know but as app dev since 1986, those changes doesn't seems major changes. It looks like a game rather than series action for App Dev needs. We don't need to learn/learn and keep learning circle. We need to see a real change not a disturbing changes that make our live more difficult. Thanks Lord, we have now AI that take the step that MS suppose to do 25 Y ago when it kills VB6. It suppose to go to No-Code approach or t least WordPress way for App Dev.
@GavinLonАй бұрын
Great to get feedback from someone who has clearly been developing apps a long time. You mentioned VB6, my first coding job was writing and maintaining apps using VB6 (three-tier apps). I understand what you mean. I suspect coding will become more and more abstract (made possible by advances in AI) - it'll become easier to code applications - but I think there will always be a need for bespoke highly customised apps - where advanced coding skills will be required.
@DavidSmith-ef4ehАй бұрын
C# is better because of LINQ and Entity framework. If you don't need it because you are doing something simple, then GO is better.
@GavinLonАй бұрын
Thanks so much for your feedback :)
@SachinYadav-yx1rcАй бұрын
Nobody is switching to TS
@Pointlessfish9Ай бұрын
That's funny. Why stay with JavaScript? Are you aware how vulnerable it leaves a system?
@SachinYadav-yx1rcАй бұрын
@maxlerman754 nice way of escaping things instead of fixing them keep on creating layers after layers of programming languages. What's next superscript ?
@Pointlessfish9Ай бұрын
@@SachinYadav-yx1rc who said anything about layers? While I agree JavaScript isn't perfect it's excellent at separating a language worth learning into itself and lighter not as secure one for quicker or small simple purposes
@Pointlessfish9Ай бұрын
@@SachinYadav-yx1rc and I think you'll find, in the corporate world TypeScript is preferred everywhere where JavaScript libraries are used. React/Vue/Angular whatever you want to pick but it's definitely used 😁
@SachinYadav-yx1rcАй бұрын
@@Pointlessfish9 all the best in using TS you'll regret it later. I have no hate against any language but try to avoid adding unnecessary complexities. Happy Coding ✌🏻
@yogibarista2818Ай бұрын
The "feature" of TypeScript that first attracted me was - Anders Hejlsberg
@andrescastillo5439Ай бұрын
Any resource for learning? Or just go for Microsoft Learn?
@theneway2951Ай бұрын
In your highlights, it is written "what is transpiration" instead of transpilation. Must be autocorrect
@GavinLonАй бұрын
Thanks - you're right it's autocorrect - it doesn't recognise "transpile" as a word. The autocorrect tried to correct this comment - to "transpire".
@GhanaTableTennisАй бұрын
Thanks for the insight. I am teaching my eight year old c#, and this information is so valuable because of the explicit types in both c# and type scripts. Introducing him to type script instead of javascript would not be too strange
@GavinLonАй бұрын
I commend you for teaching your son to code so young - I wish I had learnt to code that young :) Yes, I agree, I believe that is one of the core benefits of learning languages like C# and TypeSCript, because it forces us to learn the fundamentals of type systems.
@vivekkaushik9508Ай бұрын
Great new studio setup Gavin. Nice lightning, thumbnail and video quality.
@GavinLonАй бұрын
Thank you! :)
@paca3107Ай бұрын
TypeScript it's a linter for JS
@vivekkaushik9508Ай бұрын
Lol it's not. It's a superset of JS.
@Pointlessfish9Ай бұрын
Don't think it is mate
@paca3107Ай бұрын
superset/linter/whatever with delusion of types with broken enums. you need 3rd party libraries to have any type safety xD. its still better than js but like js - messy.
@Pointlessfish9Ай бұрын
@@paca3107Okay? I'm not going to not use it because YOU think it's messy 🤣 it's perfect for web development in conjunction with next/react and enjoy how much type safety it gives me 🦾
@Slink3322Ай бұрын
Not a linter, if it was it might be useful. It also injects polyfills into the code hence it's slower than pure JS
@zajac4817Ай бұрын
I like it a lot. I've already grasped the basics of C# and I know how OOP, inheritance, polymorphism, etc. work; however, this one is good for solidifying some knowledge. It's a bit challenging especially with the pace but I'm enjoying it a lot.
@zajac4817Ай бұрын
No idea how the entire playlist is structured, as I came here only for this part, but I'll glimpse through it as well, because this one is hella interesting!
@GavinLonАй бұрын
@zajac4817 - I'm glad you find this video interesting - please checkout the full playlist here - kzbin.info/www/bejne/aKHUpoSDiL6ebMU
@yogibarista2818Ай бұрын
I find Blazor to be OK for "business" web-apps, but when wanting to do something "special" on the front-end or when needing reliable HTML compliance, I find myself gravitating back to TS/JS and frameworks like Vue. How much of that is simply a case of being familiar with one tool vs another to solve the same problem... I'm not sure - but I haven't yet found a compelling case to change hammers and use Blazor instead of the "traditional" alternative.
@GavinLonАй бұрын
Great - thank you for sharing your thoughts :)
@yogibarista2818Ай бұрын
The CSS caching issue is perhaps a bit dependant on how assets are accessed. e.g. if the rendered url automatically appends something like a ?v=nonce that is , say... an SHA256 value of the file itself... then the request will be unique and cache problems avoided. Of course, if using a CDN or frontend, then needing to cache by unique URL is a given.
@GavinLonАй бұрын
Cool - thanks for your feedback :)
@ivxw.w1248Ай бұрын
Why does he sound and look like AI?
@michaelG1122Ай бұрын
This video is supposed to be about Blazor, not Aspire...
@GavinLonАй бұрын
The video is about the impact of .NET9 on Blazor. .NET Aspire 9 shipped with .NET 9 and can provide significant benefits to Blazor applications - a basic example has been included to illustrate this point. There is also a lot of other information presented in the video about improvements made in .NET 9 that directly affect Blazor.
@DevelopGreekАй бұрын
I had been downloading Unreal for a while and realized it's garbage. Also, I hate Epic Games!
@GavinLonАй бұрын
Thanks for sharing your point of view. Some very strong views about Epic Games and Unreal.
@timskillman2332Ай бұрын
Not too happy with .NET 9 and Blazor upgrade at the moment - our web app stopped working due to SkiaSharp incompatibilities - so it still needs some work. Also had issues with publishing. Had to rollback to .NET 8 which works fine.
@GavinLonАй бұрын
Sorry to hear about that. Thanks for commenting about this. Hopefully these issues will be fixed soon in .NET 9 :) It must be very frustrating that you have to rollback to .NET 8.
@jay-j6lАй бұрын
Since I use Linux exclusively, answer is easy it's Java all the way with Spring Boot for backend development. C# doesn't really run on Linux or MacOS even though there are poor ports of it, but Java runs well everywhere.
@GavinLonАй бұрын
Cool - thanks for your feedback from a Java perspective. C# does run on MacOS and Linux - but I would love to test how well .NET and C# runs on various Linux distributions. :)
@kopilkaiser8991Ай бұрын
Useful information. Good to know. Thank you
@GavinLonАй бұрын
You're very welcome :)
@CeleChaudaryАй бұрын
I work in a software factory placed in Argentina. We have been using Blazor for develop many backoffice apps. All of them successfully working on production with no problem.
@ggcc3261Ай бұрын
Blazor is a piece of shit that not only delivers a subpar experience for the end user from what's already widely used in frontend (React, Angular, Svelte, Vue, etc) by either adding server latency or being slower by being bloated .NET infused web assembly. But wait there's more! It also makes the developer experience worse by requiring Visual Studio for frontend (anybody who tried this knows its not fun), and you end up needing JS anyways and it's so annoying having to do JS Interop in Blazor. So in that sense it's got the true Microsoft signature effect: someone somewhere pulling their hair out going "this isn't working why the f*ck would anyone do this" 👍
@EwoofАй бұрын
Yeah, I somewhat agree. For me I am willing to ignore the performance issues because of the ease of use especially with the new Web app + Blazor MAUI template, I can code once and can deploy it in every platform. Also, you can technically use vs code and rider if you want. I honestly prefer rider.
@rankaratАй бұрын
"A bad workman blames his tools."
@ggcc3261Ай бұрын
@@rankarat a bad workman uses the inferior tool out of incompetence and/or fear of the appropriate tool
@EwoofАй бұрын
@@ggcc3261 Not really. For example I am just one person. If I wanted to it "properly" then I would have used react or svelte for web, swift for iOS and MacOs, Kotlin for Android etc. you see the issue with that? Users don't care if your app is a few milliseconds faster because of the "perfect" tech stack - they care if it solves their problem and works well. The extra complexity of juggling all these technologies just isn't worth it when the difference in user experience is minimal. Keep it simple and focus on shipping something useful. Don't try to impress other software engineers.
@iuhshwth1634Ай бұрын
Non blazor users seem to bash on it a lot, while those who use blazor are happy with what they have. Says alot about you JS monkeys 😂. Either way, I'm not here to hate on tools. If you are happy with old and still going, time checked JS and it's frameworks, that's perfect, but it doesn't mean blazor is bad. It might not be as good in some ways, but for me personally, when I mainly studied C#, it's a better option for building apps than learning JS from the start. And it's also easy and fast and it has great libraries as well (Syncfusion for example). No need to hate on it.
@randypenajimenez3893Ай бұрын
Microsoft will never use it for real big apps.
@unangriodaАй бұрын
Yes, office 365 still use asp webform😂
@marko5734Ай бұрын
I have also noticed hot reload is improved. Making changes in css files used to work before but even some slight change in a method would require to stop the app. Now, most of the time it works without any issues. Change value of variable, create new methods, add new lines, it work without any issues.
@GavinLonАй бұрын
Great point. I should have mentioned hot reload in the video. I've also noticed an improvement there. Thank you! :)
@블레이저-b3hАй бұрын
HotReload suck
@prakashi8680Ай бұрын
Great updates, I have used Blazor hybrid for our internal org app and I was able to build entire app in a couple of days. Do you know if it is a good idea to build any public apps using Blazor, and also why it is not being welcomed by the startups :(
@GavinLonАй бұрын
Thank you! Great questions. I think Blazor can be used for any app - from small to enterprise - it is just such an excellent technology in my opinion. Startups seem to love JavaScript based frameworks and Python based frameworks and large corporates seem to love Java or .NET. One reason could be because startups tend to hire younger developers and can perhaps pay them less. JavaScript is easier to learn and more JavaScript developers are generally more available. There is definitely a perceived higher learning curve for .NET and C#. That is just one reason - I'd love to get more feedback from anyone who reads this comment. I think its an interesting question :)
@josbexerra8115Ай бұрын
Gracias Mister Lon, esperando la serie la completa
@GavinLonАй бұрын
Gracias. Me gustaría completarlo en algún momento. :)