✅ How to start web dev with c#?
Hi everyone,
I'm interested in getting into web development using C#, but I'm not sure how to structure my learning path. I know that HTML, CSS, and JavaScript are the core frontend technologies, but I’d like some advice on how to approach things from the C#/.NET side.
Some specific questions I have:
Should I first focus on mastering HTML/CSS/JavaScript before diving into ASP.NET?
At what point should I start learning ASP.NET (and should I go with ASP.NET Core)?
What tools, frameworks, or resources would you recommend for someone new to C# web dev?
How important is understanding backend concepts like databases, APIs, authentication, etc., early on?
In general, I'm looking for a roadmap or some structured guidance on how to go from zero to being able to build full-stack web apps using C#.
Thanks in advance for any tips or suggestions!
22 Replies
i don't really know what to answer. i'd like in some time to be a full stack. whether using angular or react
for now im looking to start and get knowledge to this field. but i dont know where to start.
for the C# programming part im good and i think i dont need to learn something from the very start. (variables, if , loop, etc)
"mastering" is a very vague concept in itself, but as long as you know the basics and know how to make requests to the backend (using
fetch()
or axios, most likely) you can get started.
Imho, the best way to get started is with an ASP.NET Core WebAPI + a javascript frontend
Yeah, the old ASP.NET is dead and buried, there are no reasons to use it
you set up a development proxy in your frontend project file (very easy using vite) that points to your backend development server and you are good to go.
when you have something that is good enough to deploy, you set up a build pipeline that just copies the FE build dist into your BEs static content root and add a UseStaticFiles()
directive in your BE. Super simple 🙂Many thanks to your answers guys
i'll read them one by one. if there's something i wanna ask i'll tag you
tldr: just get started with
dotnet new webapi
and start from there.
Remember the rules of HTTP: the client sends a request, and the server responds. Your FE is the client, the BE is the server.is there any udemy course you'd suggest about this topic? for example i found these two: https://www.udemy.com/course/full-stack-web-development-with-c-oop-ms-sql-aspnet-mvc/ / https://www.udemy.com/course/net-core-with-ms-sql-beginner-to-expert/?couponCode=CP130525 . which fits "better" on your opinion?
No, udemy wasn't a thing when I learned C# and ASP 🙂
Glancing over both of these I wouldn't do either of them. The first because MVC is kinda outdated and I wouldn't focus on learning it unless specifically required for a job. The second seems kinda littered with outdated or opinionated ways of doing things. But that is also my opinion
If I were to suggest an easy way to get started with web development I'd recommend just trying to set up a simple server and trying to understand how to make requests and receive responses. As said by the others, all it is, is sending data back and forth. Your client will just send some data to your backend. Your server (in C#) can then manipulate the data, store it, do whatever with it, and send back a response to the client. You don't need a frontend for this, you can make requests using a REST client like https://learning.postman.com/docs/sending-requests/requests/
I'm a pretty big fan of the Fast Endpoints method of creating APIs in C# and they have a simple to follow small tutorial/example:
https://fast-endpoints.com/docs/get-started#create-project-install-package
Postman Docs
Send API requests and get response data in Postman | Postman Docs
Postman is a collaboration platform for API development. Postman's features simplify each step of building an API and streamline collaboration so you can create better APIs—faster.
FastEndpoints
FastEndpoints
FastEndpoints is a developer friendly alternative to Minimal APIs & MVC for rapid REST API development.
Good point. ASP.NET is... huge. It supports many different "modes" of operation including full server-side rendering, hybrid and even full client side... But you can safely ignore all that for now and just focus on WebAPI, which is the simplest "backend only" mode where the C# app only gets requests and responds to them with JSON being the default payload type.
I work with ASP.NET backends and have done so for the past 15 years, and its all webapis these days
That's a paddlin' for recommending FastEndpoints over Immediate.Apis in this server :KEKW:
true i shouldve plugged immediateplatform :hehe:
for c#, use minimal dotnet apis. you can experiment with blazor after that to see if you like writing both front and backend code in c#. otherwise, learn js.
Alright, thanks for all the insightful information. I've read all of your answers. I really appreciate it
the user/permission stuff seems like fairly straight forward role-based authorisation. as for the rest of the app, the actual web parts of it are simple CRUD and assuming you dont have to write the message sending logic yourself this should be fairly easy
for the message sending logic, there's a library which i'll use
I meant the mssage needs to come from the PLC, no?
that wont actually be a part of your webapp
essentially, this sounds like 3 components:
* a web app to access the database and do basic CRUD regarding users and seeing the bin logs
* a client that runs on the PLCs to send bin log messages
* a backend/aws lambda/azure function that listens to the MQTT messages and updates the database accordingly
yeah , you have it right on your mind
seems like a simple blazor server app
update, my supervisor wants it with php xD
i dont even know why i call him supervisor but whatever
he doesnt even know what all this is about
he just did a project like 15 years ago with visual basic and thinks that he is the most completed programmer ever existed
:OmegaLUL:
That said, moden PHP is not a bad language
So as long as they don't give you stupid requirements a'la "5.4 only and no Composer" you'll be fine
Hi
hi