Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Solo devs, what’s your choice lang/library for rapidly making REST APIs?
15 points by jonpalmisc on June 24, 2020 | hide | past | favorite | 28 comments
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.


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


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


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!


> 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


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


grocery crud seems impressive for quick tasks.


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


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


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!




Thank you!


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


while everyone knows javascript that doesn't mean it's always the right tool for the job. Personally, i had the worst experience with node.js for the backend. There are no standards,you have to configure almost everything from scratch. The best answer might be Ruby on Rails or Laravel. Laravel might be easier to get started,though. Don't be afraid of PHP, it's just a fine, boring language that gets the job done quickly. With Laravel you get authentication and ui scaffolding in minutes, built-in modern asset pipeline with webpack, great tooling, deployment tools etc and a huge community around it.


Interesting point you raise about everyone knowing JavaScript. Thank you for responding!


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


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


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


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.


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


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


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.


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

For big project, I use loopback.


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


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


use golang. use grpc.


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?


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: