Get started, make mistakes so you can learn. The best stack is the one you use to build things with. If you want to learn a new tool, use it. Otherwise, use what you’re familiar with.

In my opinion, you should try a bunch of programming language and frameworks so you can judge yourself which one you really like. Building a bunch of small side projects to get a feel of those languages and frameworks is better than building one big project at this learning stage. After you have settled with one or two programming languages and frameworks you like, then you can proceed with complex side projects to gain deeper experience with the language and framework of your choosing.

My preferred stack to give you some inspiration:

  • Backend: Django with Django Rest Framework. Reason: there are faster python backend framework out there, but nothing beat django yet when you need to build something quick.
  • Frontend: Next.js is getting really good these days.
  • Database: Postgres. Very easy to setup and left alone. Even without tuning, it works just fine.
  • Task Queue: Learning how to use a task queue is essential. I use Celery with Redis backend for small projects or RabbitMQ backend for larger projects.
  • Docker: learn how package your project into a docker image you can deploy in various cloud services
  • Infra: I deploy my side projects to a bare metal server running RKE2. Having those projects as docker images with kubernetes config makes it really easy to migrate them to a new servers or cloud providers.

The framework, frankly, doesn’t matter. Use what you can find good help documents for and examples. Statistically, that’ll be Python or JavaScript. But use what works for you.

The big challenge you’re going to run into is that I’m not going to create yet another login account to use your site, and no one else is either. To solve that, you’ll need activity pub.

So while you’re picking tools, frameworks and libraries, use whatever is working for you, but do a quick check that it supports or can be made to support ActivityPub.

Edit: This post brought to your server by - you guessed it - ActivityPub. ActivityPub: Like it or love it, you’re hearing about it through ActivityPub.

Sign in with Google/Facebook/etc. bypasses the problem that ActivityPub isn’t all that popular (this may change with Threads but it’s unclear how that will play out). But I also think you’re overstating the hesitation most people have in creating an account for a service. Also, being a hobby project, it doesn’t necessarily need to be or desired to be popular right away. It doesn’t need to have all the features right away. It doesn’t have to be built in one try or architected perfectly.

Sign in with Google/Facebook/etc.

Those are also good options. It used to be that only the Twitter SSO wasn’t a huge pain in the ass. I suspect that went away during Twitter’s “why do we have all these microservices?” era.

But I also think you’re overstating the hesitation most people have in creating an account for a service.

I’m really not. The majority of new account creation results in massive amounts of spam.

I had to add SSO auth to my hobby project before I got my first user, and I got my first user shortly after.

Also, being a hobby project, it doesn’t necessarily need to be or desired to be popular right away.

Agreed for most hobby projects. But this one appears, to my read, to be banking on user participation.

Neo
link
fedilink
18M

I recommend Ruby on Rails. I am biased with 17 years of professional experience, but it has batteries included, end to end everything you need to build, test and deploy a modern web application. In my opinion Ruby is the most pleasant language to read and write. But try to compare many stacks and see what you like best.

No language / framework is going to give you a massive advantage here.

Either stick to what you know best or try out some different ones and see what you like.

My personal favourite is aspnetcore and c#. It provides pretty much everything you need out of the box and has a very large ecosystem for connecting with external services.

agilob
link
fedilink
English
5
edit-2
8M

There are two schools:

  1. the best stack is the one you know best
  2. the best stack is the one designed for the job

Remember that Google was written in Python and Java. Facebook in PHP. iOS in Objective-C. GitHub in Ruby on Rails.

Appreciate you pointing out those examples - while one could argue errors in judgement, going with what one knows allows for getting stuff done NOW.

Have to say, FB and G examples resonate most with me because while Java is hardly “rapid,” given a well-defined objective I can bang out PHP or Python to accomplish it quickly, and then iterate efficiently.

That was doable long before the idea of iterating quickly / failing big / etc entered the public consciousness. Just not in Java…

agilob
link
fedilink
English
28M

Just not in Java…

I think you’re biased against Java. Amazon was started in C/C++ and Java J2EE during times when to configure a webserver required writing like 300 lines of XML just to handle cookies, browser cache and a login page. Until recently BMW had their own JRE implementation. It’s not a secret that simcards, including these in Tesla cars run JavaCard too, even government issues sim cards in EU have to run Java Card, not C++. Everything was always fine with Java until ECMA Script appeared and made people iterate on software versions faster. New programming languages and team organisation methodologies left some programming languages in the dark, but this included C# too. All are quickly catching up. If Java was so bad, it wouldn’t be here with us today, like Perl.

Album
link
fedilink
-18M

php

Create a post

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you’re posting long videos try to add in some form of tldr for those who don’t want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



  • 1 user online
  • 1 user / day
  • 1 user / week
  • 1 user / month
  • 1 user / 6 months
  • 1 subscriber
  • 1.21K Posts
  • 17.8K Comments
  • Modlog