#Which backend framework should I learn?

1 messages · Page 1 of 1 (latest)

livid lava
#

I'm a 1st year IT student in University who knows basics of programming and well I want to be web developer once I graduate, however I want to gain the skills and I was just wondering which backend framework to choose. I'll have web development course in university in third year on asp.net core so I'll learn that, but I'm more interested in languages like Java, Python and JS, but of course C# is also great.
I'm currently creating a project with the help of AI using spring boot so yeah I know how web development works, I know about endpoints, requests, jwt etc, I only can't write the code because the frameworks are too difficult. I understood the controllers in spring-boot since those were mostly just oop but once I reached jwt and authentication section then I had no idea what's going on.
So yeah I'm looking for advice on which frameworks to learn, or do you reccommend I simply stay patient and stay with spring boot and eventually I'll learn it?
Options:
Django:
I heard it's easy, but I don't really know python basics, I have written python code but only basic stuff, I don't know syntax either.
JS frameworks:
Just started learning js so still new
Spring Boot:
I know c# basics which means I also know java basics and yeah I'm currently using this framework for my webpage project that I'm creating with the help of AI. So should I stay with this or try something simpler like django?

thorny oracleBOT
#

<@&987246452180930620> please have a look, thanks.

placid sinew
#

Spring is the most used in Java, you have plenty of tutorials and examples

livid lava
#

Like I said controllers I understood, where we simply had oop and getters setters, it's the jwt and the more advanced stuff that I did not understand

signal prism
signal prism
#

like i have seen many programmers create microservice architecture but with basic CRUD apis, no validation, no sanitization, they dont even check if user is trying to operate on their own account or maybe somehow got access to operate on other users

#

since u are in 1st year, u have plenty of time. U can deep dive in any framework, personally i use spring boot but i would try to focus more on concepts and java as a language so that u can create web app using spring and mobile app using android dev

#

java is mostly in demand for mobile app if u want early jobs (freshser) or internships

#

but to be spring boot dev, u will need experience. The job requirement are high for it

livid lava
livid lava
#

Will be patient but will also try learning spring boot slowly

signal prism
#

as i said try to learn backend concept instead so u can apply with any language or framework

livid lava
#

Alr

livid lava
#

Obv my goal is spring boof but like ya said it's too difficult for me now

#

But in 2 years hopefully I understand it better. The difficult sections like jwt,authentication etc

livid lava
#

Ok ty

harsh knot
#

It really doesn't take much to learn these things. Once you know one web development framework you're pretty close to knowing them all

#

One bit of advice I always give is to learn extremely niche ones. Even if there are very few jobs there are also very few applicants so it's a decent strategy

livid lava
#

I just wish I understood what's going on bcs these frameworks feel so hard lol

#

Could be bcs I'm only a beginner

harsh knot
#

There are more iterative places to start

#

Like there is a HTTP server that just comes with Java

#

It's a little jank but a lot easier to understand

#

I have one library for it that's probably enough for you to get started and not get too confused

#

The key from getting from beginner to not a beginner is to find a path where you're not confused at any step

#

And just build up slowly

#

Give me a second to get out of bed and I'll give you some starter code

livid lava
#

Well I am learning spring boot in a way. Like I said I'm creating a project with AI but I also try to understand it.

#

Just yeah I think it's confusing to be bcs all frameworks are advanced level

#

Like I said they'll teach us asp net core only in third year

harsh knot
#

It's like trying to find the right way to smoke cigarettes

livid lava
#

I know it's not ideal but I want to create my project. I can't do it otherwise

#

Like I'm a begginner

harsh knot
harsh knot
livid lava
#

Like don't get me wrong,I want to learn to write spring boot on my own and hopefully I will soon but it's only my first year as it student

harsh knot
#

Which is more important to you. Getting your project done quickly or not being a beginner anymore

#

Because genuinely you can only pick one

#

I mean you can work more after finishing this project but it's kind of wasted time

#

Especially if you think it's a project that will impress people on a resume. Just having the project name and description is all that matters

#

If someone actually asks you about it then that's good, but they are going to ask how you made it

#

Specifically a good interviewer will ask what trade-offs you made. Like you've had an option to do a few different things and you chose one thing. It's an easy way to gauge whether you are lying about actually doing the project

#

Just imagine what your answers would be right now

livid lava
#

Well both. Im creating my project for myself,it was meant to teach me basics of SB-what controllers are,repository,services,dtos etc. I never expected to understand the jwt codes etc. They're too difficult for me

#

We can talk abt it in dm's later if u willing to help me

harsh knot
#

Well that's because you did what I call "the institutionalized idiot route"

livid lava
#

I'm currently at school

harsh knot
#

Controllers, repositories, services, dtos

#

These are the tools of people who came from 6-week boot camps in Bangladesh

#

It's not actually anything to do with spring. It's a cargo culted pattern

#

And you are having trouble with jwt's because like an idiot you also tried to do react

#

And unfortunately all the advice in the world is pointing you to do it

livid lava
#

Well dude I struggle with programming lol. Idk what I can tell you

harsh knot
#

But I am telling you is that I want you to struggle

#

The more you struggle productively the better

livid lava
#

I struggle with for loops. How am I supposed to understand spring in first year

harsh knot
#

But right now you are unproductively struggling

harsh knot
#

You're doing side projects which is a good start. But we need to go way back to where your actual skill level is

#

And trust me if you do that you'll absolutely lap all your classmates in very short order

livid lava
#

All kind of programming knowledge is useful

#

Atleast now ik how web works

#

Without these projects I wouldn't know even that

harsh knot
#

Do you know how interfaces work?

#

You can give your answer on a scale from 1 to 10 if you need to

livid lava
#

We haven't used those in c# yet so not too much but I have read about them in w3 and also my project had them. Ik they work like classes and you can inherit from them

#

I'll say 5

harsh knot
#

Okay that's what you need to learn next

livid lava
#

Sure

harsh knot
#

Give me a few seconds to finish up this starter code

livid lava
#

Again can we talk a bit later? I feel like you could rlly set me on the right path

harsh knot
#
import module jdk.httpserver;

import dev.mccue.jdk.httpserver.Body;
import dev.mccue.jdk.httpserver.HttpExchanges;

class RootHandler implements HttpHandler {

    @Override
    public void handle(HttpExchange exchange) throws IOException {
        Headers headers = exchange.getResponseHeaders();
        headers.put("Content-Type", List.of("text/html"));

        HttpExchanges.sendResponse(
                exchange,
                200,
                Body.of("""
                        <h1> HELLO, WORLD </h1>
                        """)
        );
    }
}
void main() throws Exception {
    HttpServer server = HttpServer.create(
            new InetSocketAddress(8888),
            0
    );

    server.createContext("/", new RootHandler());

    server.start();
}
#

and you need one library for this example

#
        <dependency>
            <groupId>dev.mccue</groupId>
            <artifactId>jdk-httpserver</artifactId>
            <version>2024.11.18</version>
        </dependency>
#

basically we can start here, make sure you fully understand everything goin on

#

then add routing, databases, json, auth, etc. on top

livid lava
#

Sure. I'll msg you later

#

Can I add you?

harsh knot
#

if you want, but i cant guarentee i'll be available. i'll get you started but after that just post here in #1051826284008853505

livid lava
#

Well k

#

I can also send you some of the codes my project has. Just so you can see what kind of level that is

harsh knot
#

i dont want to read AI code. based on what you said i have a good idea

#

we get tons of people here on the same path

livid lava
#

But ai code is very similiar to normal spring boot code. Documentation is the same

harsh knot
#

because what I need to know is what you are capable of / not capable of on your own

#

i dont care what the AI can shit out

livid lava
#

I can write you basic c#/java oop code. That's what I can do lol

#

I can't even complete university assignments without ai bcs they're too hard but good thing I'm not the only one

harsh knot
#

that is more valuable for me to read

livid lava
#

Sure

harsh knot
#

you failing to do something can give clues as to what you dont understand yet

#

also

#

if you are early enough, you might find value in going through this

livid lava
harsh knot
#

Yeah that's early early

#

Go through the link I sent above, slowly, do all the challenges until you get stuck

#

You can skim over the "set up your machine" part

#

Just make sure you have Java 25 or newer

livid lava
#

I do. I can't promise I'll do it now bcs I'm busy with university stuff and c# and js(I'm new to js and I need it for school so focusing on that atm), but when I'll have time I'll go through it