REST API suggestions

Hello!

I have a project for which i need to implement a rest api. I would rather not develop a solution from scratch, so I have been looking at different frameworks. One of the ones I have looked at is the Slim Framework(https://www.slimframework.com/), which seems capable enough.

Do any of you have other suggestions to which framework to use? The less code I have to write, the better :smile:

Thank you!

i tend to think that php is old, iā€™m sure you cazn find a golang rest API on github
golang is here to last and itā€™s nice, better to start with new stuff, you donā€™t need no dbs ?

PHP is old in the same way C++ Is old
Its a safe choice - lots of devs lot of usage and lots of options
Reliable and works very well

Old and reliable I would say.

Yes, I need database, hence why I want an API that can interface to the database. This will be an api that will be used by several applications.

You could use Java, Golang or PHP. All of them will bring out fast solutions for your needs. PHP is pretty old but actualized and secure. Golang is a modern language and also secure. Java is secure and nearly as old as pHP.

only for information: php last updated 13 hours ago. Go 14. Itā€™s so that both are reliable languages. But I would tend to PHP or Java. Why? While I have tons of code in both languages. And so I am used to. But the decision for a language for a Rest SPI should be always based on the decision which language I want to use also for future projects. That makes it possible to learn ONE language for it and really to get used to it. No matter which language. But it matters which language you already are able to program with.

Not really a framework but Im currently experimenting with writing a REST with B4J server.

Some user example:

Oh yes, Ivan. I forgot to mention: for people used to be basic programmers also B4x is a possible Solution for REST Interfaces. Compiles to Java and youā€™ll get a runnable jar file from it. Reliable and solid.

1 Like

for sure, if writing it from scratch, b4j is a good and stable option, I agree.

To get what I want, I guess writing it myself is maybe the most logical path to take. Simple CRUD is not hard to do. Maybe the most challenging part is writing the authentication part, with API keys and such. I think that part is what have made me look for a framework that already has this part done.

why you need rest api ? why not use graphql ? itā€™s for a client ?
and i just viewed this it seems interresting, postgres api, graphql in beta

they even have norway page :wink:

While you have to stay on their Server. That isnā€™t REST Api, it is a cloud computing Service. And if you need their Services more than the free Service it will be really expensive. Thatā€™s why I would prefer to use REST with Java, B4J, Dotnet or what ever will run on the Server.

You can install it on your own Server also from Guthub butā€¦it is more complex than you may expect.

once again you write without knowing

if you could read: selfhosting I wrote about. Make a descent compare of the features you will have. Not all of the paid features are on board then. But again you believe that you can in this arrogant wise start to jump. But before you start: for a small micro service the needed work to implement is ten times more compared to others. Spring, quarks and many more showing exactly that.

If so get a real framework and not a Server side half baked one. Quarks is the best way to implement. @dalu I guess here you have also something to say that it is wrong.

Quarks brings the best functionality and the best model. It is the most flexible framework and fits all the needs. Ask Amazon, google, Facebook. They know exactly that.

This is not for a client, I am done working for clientsā€¦
This is for my own products that I am building. I could write everything from scratch, but was looking for ways to save myself some time.

I certanly would have more controll over the whole shebang if i wrote it all myself though, but all the stuff to do piles up to quite a lot of time when one does all from scratch

then quarks could be a good alternative but itā€™s Java.

thank you @thorstenstueker Quarks seems interresting, will have a look at it

There are many API Frameworks out there for anything other than Xojo. Some I have been using:

For NodeJS:

For GO:

From a deployment perspective ECHO is probably easier, as you only need to deploy the binary to your prod server and point a reverse proxy to the used port after starting the app (via script for instance), you donā€™t even need to ā€œinstallā€ go on your prod machine.

Finally it all depends on your plans what to do inside an API. As Thorsten says, JAVA has you covered for probably everything ever invented on this planet. NodeJS has tons of libraries as well. GO however a few less. For instance the Go packages for generating pdfs are more or less all pointing to one original pdf library, which is no longer actively maintained by the original author, but forked into many subprojects.

Again these are my favorites only, there are tons of frameworks out there to select from.

2 Likes

Iā€™ve used slimframeworks, and itā€™s a very capable, easy to use framework.

What I like about it is that it actually encourages you write a good consistent framework.

Slimframework is rudimentary and not comparable to the full blown API Frameworks.