Welches Framework zum REST-API schreiben?

3 Antworten

Hallo ich möchte eine REST-API schreiben, weiß jedoch nicht ob Python oder Java besser dazu geeignet ist.

Du kannst ein REST-API mit praktisch jeder erdenklichen Sprache schreiben. Solange du aber nicht sagst was deine Anforderungen sind, kann man auch keinen Vergleich anstellen, was dafür besser ist. Willst du es in einem winzigen Embedded System betreiben? Oder willst du für dein Unicorn-Startup 10.000 gleichzeitige User bedienen und das Zeug soll auf AWS in einem großen Cluster laufen? Oder willst du einfach nur schnell was Kleines basteln, das auf deinem PC oder Raspi läuft? Oder...

(Falls du diese Frage gestellt hast, hättest du in der Zwischenzeit schon die genannten Varianten mehrmals ausprobieren können.)

Eine REST API kannst du mit allen von dir genannten Frameworks bauen.

Was sich für dich am besten eignet, macht sich in erster Linie an deinen Anforderungen und der verfügbaren Infrastruktur fest.

Folgend solltest du zumindest hinterfragen:

  1. Wie / Wo hostest du die API?
  2. Ist die API Bestandteil einer komplexeren Anwendung oder steht sie allein?
  3. Welcher Belastung muss die API standhalten können? (Dies ist im Grunde auch eine Frage des Hostings)

Bei der ersten Frage wirst du vermutlich noch Recherche betreiben müssen, um zu ermitteln, welche Optionen dir offenstehen. Vielleicht hast du bereits einen Webspace fest eingeplant, vielleicht möchtest du eine spezielle cloudbasierte, schnell skalierbare Lösung (wie Azure oder AWS) nutzen. Faktoren wie der Preis spielen sicherlich ebenfalls mit hinein.

Eine Konzeptentscheidung wird dir hier also niemand so einfach abnehmen. Mit allen genannten Frameworks solltest du dich, da du sie als Optionen betrachtest, in jedem Fall kurz auseinandersetzen (d.h. erneute Recherche: Welche Installationsanforderungen bestehen? Welche konkreten Features werden unterstützt?). Beachte in dem Zuge, dass es kein Djingo-Framework gibt. Es heißt Django.

Ich werde hier nur kurz und grob auf Spring und Co. eingehen. Die oben angesprochene, notwendige Analyse ersetzt es nicht:

1) Spring gilt als schwergewichtige Lösung. Funktional ist es ziemlich ausgereift und du findest ganz sicher besseren Support dazu, als zu Quarkus.

Quarkus hingegen hat eine schlankere Implementation. Eine Einarbeitung dürfte nicht schwierig sein. Aufgrund seiner Architektur / Building-Strategie bspw. kann ein geringerer Speicherverbrauch und eine kürzere Startupzeit erwirkt werden (die Zeit, bis ein komplettes Deployment fertiggestellt werden kann, steigt wiederum).

2) Flask konzentriert sich mehr auf kleine, flexible Anwendungen, während Django für größere Projekte ausgelegt ist. Insofern ist Django funktional stärker ausgebaut, beinhaltet bspw. ein ORM für die Datenbankkommunikation.

Prinzipiell ist die Sprache die beste, die du am besten kannst.

Das selbe gilt für das verwendete Framework. Das beste ist das was du am besten beherrschst. Und das, welches dir am besten gefällt.

Ansonsten werden - für einen Anfänger gesprochen - alle Frameworks gleich zum Ziel führen.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

12430 
Beitragsersteller
 16.08.2021, 22:58

Ok, nehmen wir mal an ich nehme Java, welches Framework würdest du empfehlen, welches relativ populär ist - eher Spring oder Quarkus oder doch etwas anderes?

0
triopasi  16.08.2021, 23:02
@12430

Spring kenne ich nicht. Quarkus nur etwas und das finde ich gar nicht gut.

ABER kann gut sein, dass du andere Anforderungen hast und das für dich besser geeignet ist.

Du musst dich schon selbst entscheiden. Basierend auf deinen Anforderungen und deiner Arbeitsweise.

0