C
C#2w ago
Rain Dance

✅ 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
Rain Dance
Rain DanceOP2w ago
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)
Pobiega
Pobiega2w ago
"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 🙂
Rain Dance
Rain DanceOP2w ago
Many thanks to your answers guys i'll read them one by one. if there's something i wanna ask i'll tag you
Pobiega
Pobiega2w ago
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.
Rain Dance
Rain DanceOP2w ago
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?
Pobiega
Pobiega2w ago
No, udemy wasn't a thing when I learned C# and ASP 🙂
daye
daye2w ago
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
daye
daye2w ago
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.
Pobiega
Pobiega2w ago
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
Angius
Angius2w ago
That's a paddlin' for recommending FastEndpoints over Immediate.Apis in this server :KEKW:
daye
daye2w ago
true i shouldve plugged immediateplatform :hehe:
blinkbat
blinkbat2w ago
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.
Rain Dance
Rain DanceOP2w ago
Alright, thanks for all the insightful information. I've read all of your answers. I really appreciate it
Having this to do, can someone guide me how to approach it?

(for anyone asking, why I reach people here to ask guidelines for my project at work?
-Actually I am the only one in my company having programming skills and it's my first job, so having no Senior or someone related to knowing how to set up an architecture for this project is hard. Especially, right now where i try to learn web dev with c# )

My company wants to build a web application.

In this application there will be 3 types of users:
1) Administrator, only my company has access
a) Operations:
i. Create, View, Edit, Delete Super Users.
ii. Create, View, Edit, Delete Simple Users
2) Super-user, access will be granted to local municipalities
a) Functions:
i. Create, View, Edit, Delete Simple Users
ii. View his municipality people tab
3) Simple users, access will be granted to the citizens of each municipality
a) Functions:
i. Use of the bin in real life.
ii. View his user tab

The application will work as follows:
My company, produces industrial automation. The product that will be involved in this application, is the underground bucket that holds and weighs. As underground bins provide impressive storage capabilities with very little visual impact on the surrounding area. The automation built here at my company provides the user with acoustic feedback to guide them on how to use the bin as well as the use case of the bin. That is, the citizen, with his foot, steps on an iron that opens the bin then has the acoustic feedback etc. There are different types of waste which when I know them I will tell you ( e.g. simple waste, organic waste, metal etc. each category of waste has its "own" underground bin ). The automation system, consists of 2 PLC XEC-DR20SU where one is the Master and the other is the Slave.
We want to build a web application where when an ordinary citizen throws his waste, using the MQTT protocol, a message is sent with the user's data , the time , the kilos and what he threw and it is recorded in the user's tab in a database.

Thanks in advance for your answers!
Having this to do, can someone guide me how to approach it?

(for anyone asking, why I reach people here to ask guidelines for my project at work?
-Actually I am the only one in my company having programming skills and it's my first job, so having no Senior or someone related to knowing how to set up an architecture for this project is hard. Especially, right now where i try to learn web dev with c# )

My company wants to build a web application.

In this application there will be 3 types of users:
1) Administrator, only my company has access
a) Operations:
i. Create, View, Edit, Delete Super Users.
ii. Create, View, Edit, Delete Simple Users
2) Super-user, access will be granted to local municipalities
a) Functions:
i. Create, View, Edit, Delete Simple Users
ii. View his municipality people tab
3) Simple users, access will be granted to the citizens of each municipality
a) Functions:
i. Use of the bin in real life.
ii. View his user tab

The application will work as follows:
My company, produces industrial automation. The product that will be involved in this application, is the underground bucket that holds and weighs. As underground bins provide impressive storage capabilities with very little visual impact on the surrounding area. The automation built here at my company provides the user with acoustic feedback to guide them on how to use the bin as well as the use case of the bin. That is, the citizen, with his foot, steps on an iron that opens the bin then has the acoustic feedback etc. There are different types of waste which when I know them I will tell you ( e.g. simple waste, organic waste, metal etc. each category of waste has its "own" underground bin ). The automation system, consists of 2 PLC XEC-DR20SU where one is the Master and the other is the Slave.
We want to build a web application where when an ordinary citizen throws his waste, using the MQTT protocol, a message is sent with the user's data , the time , the kilos and what he threw and it is recorded in the user's tab in a database.

Thanks in advance for your answers!
Pobiega
Pobiega2w ago
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
Rain Dance
Rain DanceOP2w ago
for the message sending logic, there's a library which i'll use
Pobiega
Pobiega2w ago
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
Rain Dance
Rain DanceOP2w ago
yeah , you have it right on your mind
blinkbat
blinkbat2w ago
seems like a simple blazor server app
Rain Dance
Rain DanceOP2w ago
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
Angius
Angius2w ago
: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
Rain Dance
Rain DanceOP5d ago
hi

Did you find this page helpful?