5 ms·
Ask HN: 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.
- el_dev_hell 6y agoIt 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.
- streetcat1 6y agouse golang. use grpc.
- jonpalmisc 6y agoGo 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 6y agoIts 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.
- fatcatdogfat 6y agoJava 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 6y agoBeen 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 6y agoFYI https://spring.io/guides/tutorials/rest/ https://spring.io/guides/tutorials/rest/
- fatcatdogfat 6y agosorry I meant this one: https://spring.io/guides/gs/rest-service/ https://spring.io/guides/gs/rest-service/
- jonpalmisc 6y agoThank you!
- Stevvo 6y agoNode + Koa. I've found customers like things to be written in Javascript, because everyone knows Javascript.
- jonpalmisc 6y agoInteresting point you raise about everyone knowing JavaScript. Thank you for responding!
- JS2Java 6y agoTypeScript or just JS? What do you use for data layer?
- Stevvo 6y agoUsually Typescript. I like sqlite for simplicity. Postgres if something a bit more powerful is needed.
- yagodragon 6y agowhile 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.
- gt2 6y agoRails. 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).
- diehunde 6y agoI'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
- patatino 6y agofor me it's flask. couple lines of code to get up and running
- sfrese 6y agoMy 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 6y agoI 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 6y ago> 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 6y agoInteresting to hear the different choices for different circumstances. Might have to give Laravel a chance. Thank you for sharing!
- jitendrac 6y agogrocery crud seems impressive for quick tasks.
- jventura 6y agoI 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)..
- xgenecloud 6y agoTry 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
- garethmcc 6y agoServerless 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-application-development-on-aws/ https://www.serverless.com/learn/courses/full-stack-applicat...
- potta_coffee 6y agoI'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.
- davidtranjs 6y agoI go with ExpressJS and Knex so I can setup a backend RESTful API within few minutes. For big project, I use loopback.
- lol666 6y agoif u go with Php and sy.fio y then api-platform is cool