HACKER Q&A
📣 jonpalmisc

Solo devs, what’s your choice lang/library for rapidly making REST APIs?


Solo/freelance developers (or developers who work in small teams), what is your favorite language/framework for rapidly developing REST APIs. Or, what framework do you find yourself to be most productive in? Curious to hear your thoughts and opinions.


  👤 jventura Accepted Answer ✓
I use Django a lot. I'm quite proficient in Python and really like the batteries-included approach of Django. For REST APIs you have the Django Rest Framework..

I used to use Flask, but I don't like to have to repeatedly have to choose and install packages for common things (as in Django). As an example, after some months not touching a project, I couldn't remember how to make a clean database migration (I was using SQLAlchemy)..


👤 sfrese
My experience from previous solo projects is that it's surprisingly much work to build and deploy even simple CRUD REST APIs with basic things like jwt authentication, permission checks, filtering, sorting and pagination no matter the language/framework. I've worked with Vert.x, Play Framework, Express.js, Go and the Serverless framework so far.

That's why my current solo project is actually a generator for basic REST APIs, it's currently in beta [1]. The idea is to describe the API you need in YAML, it is then being deployed directly from that.

Under the hood I'm using the Serverless framework with TypeScript which works quite well for me. Everything you need is available as npm packages these days and I found that since switching from plain JavaScript to TypeScript I'm finding errors in my code earlier on.

[1] https://stackprint.io


👤 k0t0n0
> doing lots of crud

Codeigniter with grocery crud

> building a mini saas app

1. Ruby on Rails

2. Lravel/PHP

> Building a saas that can grow

.net core with ef core

> building a app where domain is complex or want to have fun

1. Clojure with ring or pedestal


👤 gt2
Rails. Some say there's too much magic going on, but the framework gets out of your way and allows very dry, easy to read code if you know rails (which I don't think takes long to learn).

👤 fatcatdogfat
Java Springboot REST is my preferred choice,

Easy to build quick prototypes, you can take advantage of the Springboot ecosystem packages developed by enterprise grade devs from around the world, and most infrastructure tools provide Java specific instructions to get started with which makes plugging in tools unfamiliar with more easy


👤 Stevvo
Node + Koa. I've found customers like things to be written in Javascript, because everyone knows Javascript.

👤 garethmcc
Serverless Framework. And you have some choices. You can use the serverless-express component to just get Express deployed into Lambda: https://github.com/serverless/components#serverlessyml

Or you can use the original Serverless Framework. There is a good tutorial in using it right here: https://www.serverless.com/learn/courses/full-stack-applicat...


👤 potta_coffee
I've used Flask a ton. That was my go-to for years. I'm now using Go. I think productivity is more related to how well you know the tools than the tools themselves, to a degree.

👤 diehunde
I'm not currently a Ruby developer but Rails API[1] it's the only framework I can really be efficient and deploy PoC super fast.

A couple of years ago I also used Laravel a lot. No idea about the current state but I've read they are doing cool things too if you are into modern PHP.

[1]https://guides.rubyonrails.org/api_app.html


👤 xgenecloud
Try XgeneCloud[1] : Generates Express.js REST APIs within seconds on any database.

It comes with a nice UI too : https://youtu.be/NtCwnlLudnk

Just point & click - you get 100s of full functional APIs.

https://github.com/xgenecloud/xgenecloud


👤 el_dev_hell
It depends what I need. If it's just basic REST, I reach for Express.js.

If I'm working on a more advanced prototype, Django.


👤 davidtranjs
I go with ExpressJS and Knex so I can setup a backend RESTful API within few minutes.

For big project, I use loopback.


👤 patatino
for me it's flask. couple lines of code to get up and running

👤 lol666
if u go with Php and sy.fio y then api-platform is cool

👤 streetcat1
use golang. use grpc.