
Ask HN: Solo devs, what’s your choice lang/library for rapidly making REST APIs? - jonpalmisc
Solo&#x2F;freelance developers (or developers who work in small teams), what is your favorite language&#x2F;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
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](https://stackprint.io)

~~~
jonpalmisc
I 100% agree that setting up a CRUD API with all the bells and whistles is a
lot of work. That’s part of why I asked this question - trying to find easier
solutions. Will take a look at your project, thanks for your response!

------
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

~~~
jonpalmisc
Interesting to hear the different choices for different circumstances. Might
have to give Laravel a chance. Thank you for sharing!

------
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

~~~
jonpalmisc
Been meaning to give Spring Boot a try. Will definitely check it out and try
making a small demo project in it. Thanks for your response!

~~~
fatcatdogfat
FYI

[https://spring.io/guides/tutorials/rest/](https://spring.io/guides/tutorials/rest/)

~~~
fatcatdogfat
sorry I meant this one:

[https://spring.io/guides/gs/rest-service/](https://spring.io/guides/gs/rest-
service/)

~~~
jonpalmisc
Thank you!

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

~~~
JS2Java
TypeScript or just JS? What do you use for data layer?

~~~
Stevvo
Usually Typescript. I like sqlite for simplicity. Postgres if something a bit
more powerful is needed.

------
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](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...](https://www.serverless.com/learn/courses/full-stack-application-
development-on-aws/)

------
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](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](https://youtu.be/NtCwnlLudnk)

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

[https://github.com/xgenecloud/xgenecloud](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.

~~~
jonpalmisc
Go is one of the languages I’m interested in. Could you explain more about
what makes it a good choice or why you like it?

~~~
albertoCaroM
Its a small language that fits in your head. It’s very simple and has a very
good native support of http, cookie. It deploys to a single file. I think too
It’s a a very good option.

