C
C#•2mo ago
EricAwesomeness

.net ecosystem questions

I am a bit confused on what is .net and it's ecosystem. From my understand and please correct me if I'm wrong .net framework and .net core are just other older names for .Net .net is an ecosystem with other frameworks to build things under it which can be used with multiple coding languages but mostly C#, but F# and VB(isn't this also used to write office macros?) For example asp.net is a main product (framework) of .net specifically designed to create websites? If I'm understanding that correctly can you explain a few terms I've heard that come up and confuse me. EF - chatgpt told me this is a product in the .net ecosystem like asp.net which confused me more because I thought it was just a way to map dbs to your code so you didn't have to use raw SQL querys. Doesn't this mean it can be used with Asp.net or wpf or Maui or anything? Asp.net - framework to make websites? Blazor - no idea what this one is I just hear it a lot when googling things. Docker - I'm not even positive this has anything to do with .net Maui vs Xamarin - from what I understand it's the framework that is cross platform between windows Linux and Mac for just desktop programs which means these would be main products of .net? Wf/wcf? - chat gpt threw these out when i was asking about this also which did nothing but confuse me more. Seems like for this question the more I look it up the more I'm confused. Especially with ChatGPT which I think is steering me in even more of a wrong direction here.
46 Replies
EricAwesomeness
EricAwesomeness•2mo ago
Seems like for this question the more I look it up the more I'm confused. Especially with ChatGPT which I think is steering me in even more of a wrong direction here. Are there any more main products of .net that I have not listed? And what do all of these .net products share? Is it the code for a button for example??
Jimmacle
Jimmacle•2mo ago
ASP.NET Core - yes, it's a web development framework for .NET EF - it's just a .NET library Blazor- part of ASP.NET Core, more or less lets you use C# to create interactive frontends instead of JS Docker - not C#/.NET specific at all, it's a containerization tool that works with any software Xamarin - dead, obsolete MAUI - not dead but not great and doesn't support linux afaik, you'd want Avalonia WinForms - still exists, windows only and not great for complex UIs WCF - an old RPC framework afaik and yes, asking chatgpt about things like this is probably not gonna be super helpful .NET most generally refers to the runtime, tooling, and languages that run on it
EricAwesomeness
EricAwesomeness•2mo ago
Ah! That helps TONS. I'm guessing Asp.net is used a lot professionally by the amount I read about it. What are the other biggest used frameworks? I've used WPF before is that a big one?
Jimmacle
Jimmacle•2mo ago
yes, it's the "new" standard UI framework and is also windows only avalonia is a community project that's similiar but is more actively developed if a website's backend is C# then it's almost definitely ASP.NET Core
cap5lut
cap5lut•2mo ago
asp.net is for a long time .net's biggest flag ship, but due to getting crossplatform with .net core and nowadays only called .net its shifting
EricAwesomeness
EricAwesomeness•2mo ago
You're referring the asp.net here? Or wpf?
Jimmacle
Jimmacle•2mo ago
wpf
cap5lut
cap5lut•2mo ago
MAU and Avalonia are both GUI frameworks that (try) work cross platform, they are on the rise right now Entity Framework is the defacto standard for database stuff, which is a full fledged ORM, if u want it a bit more SQL "native", Dapper is another ORM
EricAwesomeness
EricAwesomeness•2mo ago
When you guys say UI platforms do they work WITH asp.net for example? Like the front end stuff that you actually see is made with Avalonia or WPF or Maui and the backend code is written with asp.net? Because that's a bit confusing and counters what I understand blazor to be doing from your description here
Jimmacle
Jimmacle•2mo ago
no, web frontend and desktop applications are very different
cap5lut
cap5lut•2mo ago
asp.net is web stuff, so mainly backend. front end stuff usually is based on top of that, eg. asp.net with react.js, angular.js, etc but also simple server side rendering of html (razor pages, mvc)
Jimmacle
Jimmacle•2mo ago
WPF, winforms, avalonia, etc are all for making software that runs directly on your computer and not in a browser
EricAwesomeness
EricAwesomeness•2mo ago
Oh gotcha. That's where my misunderstanding was. I was assuming they were similar and both used xaml or something like it.
cap5lut
cap5lut•2mo ago
blazor, maui and avalonia provide web targets where ur stuff will be compiled to WASM (something like assembly code just for the web browser) to handle the whole web front end blazor has a bit more to it as u can use it for server side rendering only, client side rendering only and a hybrid mode avalonia and maui would be cliend side only and would interact with a backend like any other single page application, just like vue.js and react.js would do. but its not uncommon that its backed by an asp.net backend
EricAwesomeness
EricAwesomeness•2mo ago
So webapps UIs are made with Angular.js React.js or Blazor? I'm guessing there are others. But those are equivalent to WPF and Maui and Avalonia but those are desktop apps.
Jimmacle
Jimmacle•2mo ago
equivalent only in the sense that they're frameworks to build user interfaces with
EricAwesomeness
EricAwesomeness•2mo ago
Yeah that's what I mean I'm sure they all work very differently. Okay that helps tons.
cap5lut
cap5lut•2mo ago
MAUI and Avalonia try to get the .net GUI development into web frontends as well, so u cant really say they are purely desktop/mobile blazor's goal is to write web frontends in c#, react.js and angular.js are plain javascript front end libraries (those dont have much to do with .net) MAU and Avalonia go hardcore on their goals and try to target everything from ur usual desktop app, over mobile apps to web frontends
EricAwesomeness
EricAwesomeness•2mo ago
Gotcha. Okay cool thank you. That explains things more clearly.
cap5lut
cap5lut•2mo ago
WPF, MAUI and Avalonia (i think there are even other GUI frameworks out there) use XAML to create ur GUI. think of it like XML/HTML with some awesome features
EricAwesomeness
EricAwesomeness•2mo ago
1 last question then. What are most jobs looking for? If I ever want to do this for a living in the future. Like is asp.net dev a thing? Or does it get more narrowly focused and it's a blazor dev for example? And what other jobs are companies hiring for? Like is a wpf developer a thing? I've never seen a posting but I also haven't looked
cap5lut
cap5lut•2mo ago
that really depends on where u r living and what they are doing
EricAwesomeness
EricAwesomeness•2mo ago
Yeah that's true that seems like a question I gotta go on indeed and find out for myself
cap5lut
cap5lut•2mo ago
asp.net is probably still the majority but the cross platform stuff is also on the rise and desktop apps
EricAwesomeness
EricAwesomeness•2mo ago
Thank you so much @Jimmacle and @cap5lut Sweet thanks!!
cap5lut
cap5lut•2mo ago
one thing that wasnt mentioned yet was unity for example
EricAwesomeness
EricAwesomeness•2mo ago
That's gaming right? Does that use .net or just c#?
cap5lut
cap5lut•2mo ago
its a general purpose game engine and is extremely often used for mobile games
Jimmacle
Jimmacle•2mo ago
the engine itself is C++ but uses C# for game scripts
cap5lut
cap5lut•2mo ago
the engine itself is using c++, u can write in c# and they have their own compiler to compile c# to native tho i think i remember that they changed their licensing and folks are switching to godot (another multi purpose game engine like unity - similar setup regarding engine in cpp + scripting in c#/godotscript)
EricAwesomeness
EricAwesomeness•2mo ago
That's pretty cool, could be a fun hobby to look at also.
cap5lut
cap5lut•2mo ago
currently i still see .net mostly in the web backend area tho or generally anything long running (thats where the JIT and the GC shine at their best)
Joschi
Joschi•2mo ago
Where I live that's also what companies are mainly looking for. APIs and Background Services.
cap5lut
cap5lut•2mo ago
i think once MAUI and/or Avalonia get their ground work done, the general xplat market will be flooded
Joschi
Joschi•2mo ago
A lot of companies that use C# for their backend also use or start using Blazor for their internal apps. But i haven't yet seen any job listings mentioning it specifically.
cap5lut
cap5lut•2mo ago
well, since blazor is still running in a browser, u r still limiting urself with it quite a lot no matter if client side blazor, MAUI or Avalonia targeting WASM, WASM is the bottleneck (from what ive heard its damn slow with normal js interop) and generally u dont have the same functionality u would have with a "native" desktop application a couple years ago in an company we switched from blazor back to winforms for internal tools (xplat didnt make sense for the application) and it was simply sooooo much faster
Joschi
Joschi•2mo ago
Faster in what regards?
cap5lut
cap5lut•2mo ago
startup time and responsiveness and, u didnt have to re-select files when u restarted the "application" (which was mainly chromium before going back to winforms) i guess if that winforms experienced gui wouldnt have been around it wouldve been in wpf i didnt catch all of the front end side, i was a backend-only dev
Joschi
Joschi•2mo ago
Yeah browsers not being able to access a file system can be annoying. Startup time is also always a problem if you use WASM thanks to the higher package size. But I always thought WASM would be really responsive, as soon as it is running. Maybe if you heavily use JSInterop it becomes a problem. But then again I'm also nearly only working on backends.
cap5lut
cap5lut•2mo ago
JSInterop thats the blazor interface for js interop right? javascript and wasm interop in general is slow so pure js and wasm for example vue.js interacting with wasm stuff or vice versa is slow.
Joschi
Joschi•2mo ago
I have seen quite some people, that are experienced in JS Frameworks, interop for basically everything.
cap5lut
cap5lut•2mo ago
i cant remember what exactly made it that slow but it was literally js <-> wasm interop, not even regarding what code it was
Joschi
Joschi•2mo ago
Interesting, gotta look into that some time.
cap5lut
cap5lut•2mo ago
could also be that my knowledge is a bit outdated here. i cant find the blog talking about it and im not sure if it was from last year or 4 years ago 😒 busy existence-critical IRL stuff f_cks up my memories in these regards currently 😒 (which is already going on for months now)
Joschi
Joschi•2mo ago
Sorry to hear that. Take care and hopefully your stuff clears up quickly. But I will be heading to sleep now. We hijacked this question long enough now 🤣
cap5lut
cap5lut•2mo ago
indeed, good night ♥ (i assume eric went sleeping already as well xD)
Want results from more Discord servers?
Add your server
More Posts
ASP.NET: Elegant controller <-> service interactionHey! I am looking for an elegant controller <-> service interaction. Example (pseudocode): ```cs [ACan't figure out how to apply attributes to values in json property dictionary (System.Text.Json)This is my model that I'm working with ```csharp //TODO convert to DateTime [JsonPropertyName("peacRecommendation for handling logging in a APIHello Hello. Im fairly new in the DOTNET world so im not familiar with all the libs. I want to use Reading config files (mostly secrets) from outside appsettings and env vars - bad idea?Looking for best practices / existing features to avoid reinventing the wheel (more than we have). asp - Calling another api endpointHey, i have a stream containing a raw request and would like to call the asp.net core request pipeliTesting practices and librariesI'm just starting with testing, I'm not that much of a fan, most of the time for me it wasn't neededSwitching to C# and curious if there's anything I could improve on in this very basic math script.```c# class Program { static void Main() { MathClass.Print(2,5,"subtract"); } } General Google SSO Login QuestionSo i've set up my Google SSO in ASP.NET; And when logging in you get returned a JWT Token. Our FroHow to write Testcases with ServiceProvider.GetKeyedService method in .Net 8?**DI Registeration** ` services.AddKeyedTransient<IReceivableDocument,BuyerReceivableDocumentStrateIdentity problemI have scaffolded Identity pages for user authorization and authentication and i have a problem. the