Möchten Sie bei der Entscheidung, welches Webframework Sie wählen, und weniger Wartbarkeit der Dienste wissen?

Mein Hintergrund ist C, C++ und Python, obwohl ich mit den Webserverprojekten und der REST-API gearbeitet habe, nicht mit dem Web-Front-End-Framework.

Ich möchte eine Bildungswebsite erstellen und für meine gewerblichen Ausbildungskurse werben.

Ich habe mich für die dynamische Website entschieden und frage mich, welches Framework ich wählen soll, weil ich nicht weiß, welche Faktoren zu berücksichtigen sind, wenn ich das Front-End-Framework mit der Datenbank auswähle.

website/client <---------> server
                           |-------------> Database

Ich denke darüber nach, bei Python statt Javascript zu bleiben, weil ich JS nicht kenne, nun, ich möchte nicht viel Zeit in der Webprogrammierung verbringen. Ich möchte nur die einfache Site mit einer schönen flachen 2D-Benutzeroberfläche einrichten.

Vorläufige Forschungsarbeiten:

  1. Überprüftes Pyflask-Framework, es ist ein ziemlich einfacher Anfang, aber Sie wissen nicht, ob jemand die kommerzielle Website damit betreibt?

BEARBEITEN:

Frage zu Elektron entfernt, die für die Desktop-App bestimmt ist. Mein Fokus liegt auf der Erstellung der Webanwendung.

Ich bin auch neugierig, etwas über das Meteor-Framework zu erfahren.

Ihre erste Wahl, Python, macht deutlich, dass Sie eher eine Desktop-App als eine Browser-basierte App wollen. Beachten Sie, dass dies wahrscheinlich die Ausführung Ihrer App auf Smartphones ausschließt. Aufgrund Ihres Hintergrunds habe ich mich entschieden, mir AngularJs beizubringen. Wenn Sie browserbasiert arbeiten, können Sie Node.Js anstelle von PHP für den Server in Betracht ziehen und eine einzige Sprache verwenden, obwohl ich diesen Schritt noch tun muss.
Jeglicher Kommentar? Weitere Diskussion? Übrigens denke ich, dass Ihre "Paranoia-Frage" separat gepostet werden sollte. Bleiben Sie am besten bei einer Frage nach der anderen, sonst kann es chaotisch werden
@Mawg danke für den kurzen Kommentar. Ich neige zu Python, weil das die Fähigkeit ist, die ich bereits habe. Ich habe die Frage bearbeitet.
Wie lange wird das Projekt voraussichtlich dauern? Ich meine ernsthaft . Ach komm schon, berücksichtigst du das Gesetz von Hofstadter ? Wenn die Zeit zu Ende ist, könnte das Erlernen einer neuen Sprache ein akzeptabler Teil des Projekts sein. Übrigens, Sie scheinen es für alle Benutzer erforderlich zu machen, einen Python-Interpreter auf ihren PCs installiert zu haben
@Mawg ist ein individuelles Projekt, nur ich werde es entwickeln. Ich werde während der Abendzeit und am Wochenende Hacks machen.
Normalerweise erwarte ich, dass meine "ein paar Wochen ... Monate, maximal" dauern, und am Ende dauern sie Jahre :-) Viel Glück damit. Nur weil es ein Hobbyprojekt ist, heißt das nicht, dass man es nicht professionell macht. Ich habe ein paar Jahrzehnte damit verbracht, auf die harte Tour zu lernen, dass meine Hobbyprojekte von vorausschauender Planung und Dokumentation, von Versionskontrolle und von automatisierten Regressionstests profitieren. Tut mir leid, aber ich kann kein Framework empfehlen; Ich hoffe, dass jemand anderes kann. Wenn nicht, wähle den mit dem aktivsten Tag auf SO ;-)
Ist Python eine Voraussetzung für Ihre Frage oder nicht? Wenn ja, bearbeiten Sie Ihren Titel und Text, um dies deutlich zu machen. Wenn es sich nicht um eine strenge Anforderung handelt, machen Sie dies deutlich.
Electron ist für (lokale) Desktop-Apps, nicht für Web-Apps. Mehr Verwirrung in Ihrer Frage. Bearbeiten, um Desktop-App oder Web-App zu verdeutlichen. Diese Seite ist nicht für offene Diskussionen oder die Bitte um Anleitung gedacht. Verwenden Sie dazu eine Website wie CodeRanch.com . Auf dieser Website geben Sie eine Liste mit Bedürfnissen und Anforderungen an, und wir identifizieren Lösungen, die diese Anforderungen erfüllen.

Antworten (2)

Die beiden wichtigsten Web-Frameworks, die Sie haben, sind Flask und Django.

Persönlich würde ich Flask empfehlen, da es ein einfacheres Designerlebnis bieten würde, auch wenn Sie Ihre eigene Datenbankmodellierung/-implementierung dafür auswählen/entwerfen müssen. Miguel Grinberg hat auch ein ziemlich gutes Tutorial dafür gemacht.

Für einige andere Meinungen können Sie sich diesen Codementor-Vergleich ansehen :

  • Flask, wenn Sie sich auf die Erfahrung und Lernmöglichkeiten konzentrieren oder wenn Sie mehr Kontrolle darüber haben möchten, welche Komponenten verwendet werden sollen (z. B. welche Datenbanken Sie verwenden möchten und wie Sie mit ihnen interagieren möchten).

  • Django, wenn Sie sich auf das Endprodukt konzentrieren. Vor allem, wenn Sie an einer unkomplizierten Anwendung wie einer Nachrichtenseite, einem E-Store oder einem Blog arbeiten und Sie möchten, dass es immer eine einzige, offensichtliche Vorgehensweise gibt.

Was die kommerzielle Nutzung betrifft, wäre Nylas ein Beispiel für eine Entität, die Flask verwendet und bis zu einer Milliarde Anfragen in einer Woche verarbeitet (obwohl ihr Anwendungsfall eigentlich APIs und keine Websites sind).

Vaadin

Mein Hintergrund ist C, C++ und Python…

Wenn Sie bereit sind, Java zu lernen (leicht genug mit Ihrem Hintergrund) und…

…nicht mit Web-Frontend-Framework

Ich möchte nicht viel Zeit mit Webprogrammierung verbringen

… Sie nicht alle blutigen Details von HTTP, HTML, CSS, JavaScript, DOM, AJAX, WebSocket und Push lernen möchten, dann ziehen Sie die Verwendung von Vaadin in Betracht . Vaadin kann sowohl die Benutzeroberfläche Ihrer Webanwendung erstellen als auch die Geschäftslogik unterbringen.

Vaadin ist insofern ungewöhnlich, als die App auf der Serverseite in Java-Code lebt, der sicher in der JVM ausgeführt wird. Sie geben das Layout eines Formulars in Java-Code an, der von Hand geschrieben oder mit einem visuellen Designtool generiert wurde. Sie geben hier eine Beschriftung mit Feld und dort eine Schaltfläche und darunter ein Datenraster an. Zur Laufzeit generiert Vaadin automatisch alle HTML/CSS/JavaScript-Dateien usw., die zum Rendern der Benutzeroberfläche im Browser des Benutzers erforderlich sind.

wenn ich das Frontend-Framework mit der Datenbank wähle?

Vaadin ist von Natur aus sicherer als die meisten Webanwendungsplattformen, da Ihre Geschäftslogik und Ihr Datenzugriff auf dem Server und nicht im Browser gespeichert sind.

Ihr serverseitiger Java-Code verwendet JDBC, um lokal auf derselben Maschine oder auf einer anderen Maschine im lokalen Netzwerk auf Ihre Datenbank zuzugreifen. Der Zugriff auf die Datenbank erfolgt nur lokal, nicht vom Client.

einfache Seite mit schöner flacher 2D-Benutzeroberfläche

Vaadin richtet sich an geschäftsorientierte Web-Apps im Enterprise-Stil. Im Gegensatz dazu sollte jemand, der eine glänzende, auffällige Webanwendung haben möchte, Vaadin nicht verwenden und sich direkter mit HTML & CSS usw. auseinandersetzen.

Xojo, Webausgabe

Eine ähnliche Architektur findet sich in einem anderen Tool, Xojo. Diese Plattform verfügt auch über visuelle Tools zum Gestalten von Formularen, die automatisch remote im Webbrowser eines Benutzers unter Verwendung von Webstandardtechnologien gerendert werden, ohne dass Sie den gesamten Webkram lernen müssen.

Das Verhalten wird in Xojos eigener Programmiersprache programmiert. Diese Sprache ist vollständig objektorientiert und mit Maschinencode kompatibel. Die Syntax ähnelt Java und Visual Basic.