Hi, as title says, what framework do you use and why?
I have time to learn something new, but I can’t decide whether to use Svelte or React or any other thing there is.. My current job required PHP, Laravel and Codeigniter, which I kinda mastered but I feel that I need to move on.
So from your perspective and experience, which framework do you prefer? Can you maybe send me your favourite tutorial guy that does not have long boring videos just to have watch time ?
(I don’t want to sit around and watch someone do it, I want to do it, videos are just for entertainment)
I want to learn something, but not decided yet what to use. Thanks for any advice.
Svelte/SvelteKit is just so simple to use and feels closer to vanilla JS/HTML/CSS that I find myself missing it when I use the others. SvelteKit supports SSR, so if you’d like you can build out your whole backend API as well.
More important than learning a framework is to learn how things work beneath the frameworks. Try doing a project without frameworks. Who knows. You might even like it.
I'm glad this style of frontend coding (where you use a prebuilt JS library that handles common interactions through simple configuration, rather than writing custom JS) is coming back into fashion. It was common 15-20 years ago, and as web apps became heavier and heavier, I started to think it was a good idea again.
Can't recommend Vue 3 enough. It's so much fun to work with, the ecosystem is also caught up after the slow transition.
The official docs are very good.
As for the backend try out go-lang or the newer java frameworks.
I like React because these days it's pretty well known and just about anything I need I can find easily. There's newer similar tools like Vue, or entirely different approaches like Next, but React remains a dominant choice for the time being. I'm sure fashion will move the industry along soon enough, but none of the newer tools I've seen really are such a huge leap forward that I couldn't get stuff done in a few days of prep and tutorials. So for now, I'll stick with react until I need to move or a client requests it.
For backend I'm increasingly preferring simple Restful APIs. If it can map an endpoint to a function and convert JSON into a dictionary or object, it's probably good enough. I just wrapped up a project in ASP.Net Core and that pretty much just got out of the way and let me make web API endpoints.
PHP seems to be getting a lot of positives lately, especially Laravel. Many years ago I moved from PHP to Python and Django to now also use a few other Python frameworks like Flask as well. On the frontend, I've used Ember.js for two big SPA dashboards and also Vue 3 for WebSockets and API-based dashboard. With the dashboards bias, I would not pick anything that doesn't have a good data layer :)
Recently I'm also into static site generators like Astro and 11ty which are kinds of frameworks that generate a static site but the effect can be quite lively edited website through various git based headless CMS systems.
Angular is what I use almost exclusively. It feels to me to be the most framework-like framework. React and Vue just feel like hacky JS shortcuts in comparison.
I am interested in Hyperfiddle/Electric, I haven't used it, buts a closure framework where you can call front end and backend functions from the same function, it passes data with streams. Really interesting, someday when I have tons of time I'll look into it
If for any reason you wanted to stick with PHP, Symfony + Doctrine has been a delight to work with.
For JS projects I pretty much always go Node for easy startup, but the frontend changes based on project needs and my whims.
Historically I have used jQuery with Java servlets at work, but that is an older way to do it now. The more morderem way I have been developing is using Java Spring Boot for the backend, and React for the front end (specifically NextJS). Both of those tools have a big community and support around them. jOOQ makes working with a database very easy and when you change types, it goes through the Java code.
I have tried Java Dropwizard in the past, but that seems to be slowly dying out with less support.