Fullstack-Umgebung für wiederkehrende Hobby-Entwickler

Ich habe seit einigen Jahren keine Webentwicklung mehr gemacht (mein letztes Projekt war Symfony, Twig, minimal Javascript). Ich kehre jetzt zurück und wow, hat sich die Welt verändert.

Ich denke darüber nach, mit einem dieser Fullstack-Frameworks komplett neu anzufangen, wo Client und Server alle in einem sind und Sie nicht einmal explizit die API zwischen ihnen implementieren müssen.

Ich suche nach Hinweisen auf ein gutes Framework, das ich verwenden kann. Jemand wies zum Beispiel auf Meteor hin. Mein Hintergrund liegt in C-, PHP- und SQL-Datenbanken, aber ich bin nicht dagegen, NoSQL zu lernen.

Mein Fokus liegt auf dem Projekt, nicht auf der Technik. Mein Hauptziel ist es, etwas zu haben, bei dem ich schnell erste Ergebnisse erzielen und später tiefer einsteigen kann, um mich zu verbessern.

Ich benötige eine Benutzerregistrierung und -verwaltung, und eine REST- oder GraphQL-API, die anderen Clients zur Nutzung zur Verfügung steht, ist ein Muss. Ich habe einen Webserver für die Entwicklung und bevorzuge es, mich selbst gegenüber einer Cloud-Lösung zu hosten.

Nochmal: etwas breit. Sie haben einige Anforderungen aufgelistet – aber für welche Sprache soll es sein? und was macht ein Framework für Sie „gut“?
Ich suche Anregungen und bin offen für vieles, deshalb möchte ich nicht viele Einschränkungen machen. Mein Ziel ist es, das Framework so weit wie möglich zu vergessen und mich auf die App zu konzentrieren.
Wie Izzy sagte, ist diese Frage ziemlich verschwommen und weit gefasst. Was meinen Sie mit „Client und Server sind alles in einem“, denn das ist das Gegenteil einer Web-App? Wenn Sie etwas wie Meteor erwähnen, verlinken Sie auf die Projektseite oder Wikipedia für Hintergrundinformationen.
@Tom In Bezug auf Izzys Kommentar und Ihre Antwort, wenn Sie eine Reihe von Vorschlägen erhalten und sich dann hingesetzt hätten, um sie durchzugehen, nach welchen Kriterien würden Sie diese Vorschläge sortieren? Aus welchen Gründen würden sie in den Stapeln „Keineswegs“, „Vielleicht“, „Interessant“ oder „Erledigt“ landen? Diese Gründe sollten Sie in Ihrer Frage posten.
Er sagt, er zieht es vor, sich selbst zu hosten. codenvy.com/product/index.php#pricing

Antworten (2)

Wenn Sie die Sprachen nicht einschränken, würde ich Django vorschlagen . Es ist ein Web-Framework für Python, das meiner Meinung nach Ihren Anforderungen entspricht:

  • Ermöglicht es Ihnen, Code zu schreiben und Ergebnisse sehr schnell zu sehen
  • Client und Server befinden sich an einem Ort, sodass Sie Vorlagensprachen wie Jinja verwenden können
  • Ermöglicht es Ihnen, die REST-API ( DRF-Toolkit ) verfügbar zu machen

Dazu müssen Sie die Grundlagen von Python lernen, aber es gibt viele Tutorials auf Udemy oder anderen E-Learning-Plattformen. Auch hier können Sie starten .

Wenn Sie weitere Fragen haben, fragen Sie.

In Bezug auf Frameworks unterstütze ich die Empfehlung für Django - Python ist ein Vergnügen, damit zu arbeiten ... Natürlich ist es nur die Hälfte des Bildes für "Full Stack" ... füge github.com/owais/django-webpack-loader hinzu und Führen Sie create-react-app auf dem Frontend aus und es fühlt sich für mich runder an :). Und GraphQL... und...und...

Vaadin

Vaadin-Framework

Mit dem Vaadin Framework (Vaadin 8) können Sie in reinem Java schreiben, um ein Layout mit Widgets (Schaltflächen, Felder, Beschriftungen, Bilder usw.) zu deklarieren. Keine Templates, keine speziellen Sprachen, nur Java.

Dieser Code wird serverseitig in einem schnellen, sicheren Java-Servlet - Container ausgeführt. Zur Laufzeit wird Ihr Layout automatisch mit Standard-Webtechnologie (HTML, CSS, DOM, JavaScript, AJAX, WebSocket usw.) im Webbrowser des Benutzers gerendert. Es ist nicht erforderlich, dass Sie die Webtechnologien schreiben oder sich mit ihnen auskennen. Ihre Entwicklung ist also sehr schnell und Sie können mit wenig Codierung viel erledigen.

Sehen Sie sich diesen interaktiven Sampler der Vaadin-Widgets an . Und diese ältere Demo .

Die Web-App wird als „Single-Page-Anwendung“ ausgeführt, was bedeutet, dass die Interaktionen des Benutzers sofort erfolgen, ohne dass die Seite neu geladen werden muss. Das Gleiche gilt für Ihre programmatischen Änderungen am Layout und an den Widgets, die alle sofort und ohne Neuladen der Seite erfolgen.

Vaadin eignet sich hervorragend für geschäftsorientierte datengesteuerte Apps, aber nicht für auffällige Zeitschriften- oder Broschürenseiten.

Vaadin Flow

Vaadin Flow (Vaadin 10) ist eine umfassende Neuimplementierung der Vaadin-Technologie, um die neuenStandards für Webkomponenten zu nutzen.

Die Grundidee bleibt dieselbe, ein Java-Framework führt Ihre App auf der Serverseite aus, während sie automatisch in Standard-Webtechnologie im Webbrowser des Benutzers gerendert wird. Aber jetzt können die Widgets auf Webkomponenten erstellt werden, anstatt Vaadin-spezifisch zu sein. Diese Widgets können ohne das Java-Framework verwendet werden, das von anderen Webentwicklern manuell in andere auf Webkomponenten basierende Projekte eingebunden wurde. Und auch andere solche Widgets lassen sich einfacher erstellen oder für die Verwendung in Vaadin anpassen.

Derzeit im Beta-Release.

Danke, Vaadin sieht recht interessant aus. Ich bin tatsächlich schon einmal darauf gestoßen und habe es einfach vergessen.