Heim >Backend-Entwicklung >Python-Tutorial >Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

王林
王林nach vorne
2023-04-12 22:52:083919Durchsuche

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

F: Was genau ist ein Webframework? A: Web-Frameworks werden hauptsächlich für die Website-Entwicklung verwendet. Entwickler implementieren ihre eigene Geschäftslogik auf Basis von Web-Frameworks. Web-Frameworks implementieren viele Funktionen und bieten eine gemeinsame Methode zur Implementierung von Geschäftslogik.

F: Welche Rolle spielt das Web-Framework? A: Mit dem Web-Framework müssen viele Funktionen außer der Geschäftslogik nicht selbst verbessert werden, sondern Sie können die vorhandenen Funktionen des Frameworks verwenden. Web-Frameworks reduzieren den Arbeitsaufwand bei der Entwicklung von Websites.

F: Warum sollten wir Web-Frameworks verwenden? A: Das Web-Framework wird hauptsächlich für die Website-Entwicklung verwendet, um Dateninteraktionen zu realisieren und Geschäftsfunktionen zu verbessern. Wenn Sie ein Web-Framework für die Website-Entwicklung verwenden, müssen Sie es in Bezug auf Daten-Caching, Datenbankzugriff, Datensicherheitsüberprüfung usw. nicht selbst neu implementieren. Stattdessen können Sie den Code für die Geschäftslogik in das Framework schreiben.

Die Bibliothekssortierung erfolgt basierend auf der Anzahl der Benutzer und der Dokumentaktivität als Referenz. Es wird empfohlen, die am besten bewerteten Frameworks zu verwenden, da diese über vollständigere Dokumente, mehr technische Akkumulation und wohlhabendere Communities verfügen. Erhalten Sie besseren Support, damit Sie bei Problemen, die Sie nicht lösen können, schneller und effizienter Lösungen finden können. 1. Django-Framework Vorteile: Es handelt sich um eine Python-Webentwicklung auf hohem Niveau Framework mit Funktionen Es ermöglicht eine schnelle Entwicklung, weniger Code und ist hoch skalierbar. Django verwendet das MTV-Modell (Model, Template, View), um Ressourcen zu organisieren. Das Framework verfügt über umfangreiche Funktionen und die meisten Vorlagenerweiterungsoptionen. Für Profis ist Django zweifellos das Webentwicklungs-Framework Nr. 1 für Python.

Nachteile: Es enthält einige Funktionsmodule, die für Leichtbauanwendungen nicht benötigt werden, und ist nicht so leicht wie Flask. Durch die übermäßige Kapselung vieler Klassen und Methoden ist die direkte Verwendung einfacher, die Änderung jedoch schwieriger. Im Vergleich zur Leistung von C und C++ ist die Leistung von Djang gering. Vorlagen realisieren die vollständige Trennung von Code und Stil, erlauben nicht, dass Python-Code in Vorlagen angezeigt wird, und sind nicht flexibel genug. Zudem ist die Lernkurve relativ steil. 2. Flask-Framework 3 9406df183f

Vorteile: Flask ist ein Mikro-Framework für die Python-Webentwicklung. Streng genommen bietet es nur Webserver-Unterstützung und keine Unterstützung für die Full-Stack-Entwicklung. Allerdings ist Flask sehr leichtgewichtig und einfach. Es dauert nur wenige Minuten, ein darauf basierendes Websystem zu erstellen, das sich besonders für die Entwicklung kleiner und mikroprototypischer Systeme eignet. Es ist eine sehr kostengünstige Wahl, weniger Zeit zu investieren und ein nutzbares System zu erstellen.

Nachteile: Für die Website-Entwicklung in großem Maßstab müssen Routing-Mapping-Regeln entworfen werden, da sonst der Code verwirrend wird. Für Neulinge ist es einfach, „schlechte Webanwendungen“ mit minderwertigem Code zu erstellen. 3. Pyramid Framework:

044494e10582436e013e64

Vorteile: Es handelt sich um ein hoch erweiterbares und flexibles Python-Webentwicklungs-Framework. Der Einstieg ist sehr einfach und eignet sich eher für mittelgroße Szenarien, in denen Entwicklung und Design gleichzeitig erfolgen. Pyramid bietet keine absolut strenge Rahmendefinition und kann je nach Bedarf erweitert und weiterentwickelt werden, was es für fortgeschrittene Programmierer sehr benutzerfreundlich macht. Zusammenfassung von 37 Python-Webentwicklungs-Frameworks


Nachteile: Es ist in China nicht sehr bekannt und eine fortgeschrittene Verwendung erfordert das Lesen des Quellcodes, um sich inspirieren zu lassen. Da standardmäßig die Chameleon-Vorlage verwendet wird, spielt Flexibilität keine Rolle. 4. web.py-Framework c1 36a222624

Vorteile: Wie der Name schon sagt, ist web.py ein Web-Framework, das Python als Entwicklungssprache verwendet, was einfach und leistungsstark ist. Russlands Suchmaschine Nr. 1, Yandex, basiert auf diesem Framework. Guido van Rossum glaubt, dass dies das beste Python-Web-Framework ist. Es gibt Fakten, die es beweisen, und Experten, die es bestätigen. Nutzen Sie es! Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Nachteile: Web.py wird nicht wie andere Frameworks mit Python 3-Kompatibilität auf dem neuesten Stand gehalten. Dies bedeutet nicht nur einen Mangel an Unterstützung für die asynchrone Syntax, sondern auch einen Mangel an Fehlern für veraltete Funktionen. Darüber hinaus ist unklar, ob die Betreuer Pläne haben, Web.py auf dem neuesten Stand zu halten, nachdem Python 2 das Ende seines Support-Lebenszyklus erreicht hat. 5. Tornado-Framework 2 de2ca7b4a9ef51ec

Vorteile: Tornado ist ein Webentwicklungsframework, das auf einer asynchronen Netzwerkfunktionsbibliothek basiert. Daher kann es Zehntausende offener Verbindungen unterstützen und der Webdienst ist effizient und stabil. Es ist ersichtlich, dass Tornado für Websysteme in Szenarien mit hoher Parallelität geeignet ist. Der Entwicklungsprozess muss das von Tornado bereitgestellte Framework verwenden, das über eine geringe Flexibilität verfügt.

Nachteile: Tornado 5.0 verfügt über eine verbesserte Integration mit der nativen Async-Funktionalität von Python. Python 3.3 wird daher nicht mehr unterstützt und Benutzer von Python 3.5 müssen Python 3.5.2 oder höher verwenden. Tornado 6.0 erfordert Python 3.5 und höher und verzichtet vollständig auf die Python 2-Unterstützung. 6. TurboGears-Framework b d0d3928e

Vorteile: TurboGears Latest Diese Version versucht, die Mängel der ersten Version von TurboGears, Django, Rails und anderen Frameworks zu beheben. Sie unterstützt mehrere Datenbanken, JavaScript-Toolsets, mehrere Datenaustauschformate usw. Natürlich ist sie sehr effizient in der Entwicklung und hoch skalierbar. Was ist besser, es oder Django? Das ist wirklich schwer zu sagen. Es könnte wichtiger sein, dass die Django-Community aktiver ist.

Nachteile: Zu den Nachteilen von TurboGears gehören grundlegende Verwaltungsfunktionen, wenige Anwendungen von Drittanbietern und eine rudimentäre Dokumentation. Eine der großen Herausforderungen bei TurboGears ist, wie überwältigend es ist. Da es in Kombination mit anderen Komponenten unbegrenzte Flexibilität bietet, ist es übermäßig komplex bei der Entscheidung, auf welchem ​​Weg eine Aufgabe erledigt werden soll. 7. CherryPy-Framework bc 737485

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Vorteile:

CherryPy ermöglicht es Entwicklern, Websysteme nach ähnlichen Entwurfsmethoden wie andere objektorientierte Programme zu entwickeln und dann den geringsten Code und die prägnanteste Methode zu verwenden. CherryPy wird seit 10 Jahren entwickelt und weist eine gute Stabilität auf. Es eignet sich sehr gut für kleine Websysteme und reine Python-Programmierer. Was fühlst du? Python hat das Potenzial, die Welt zu dominieren! Warten wir ab.

Nachteile: Zusätzlich dazu, dass es nur den minimalen Inhalt enthält, der zum Bereitstellen einer Webseite erforderlich ist, sollte es versuchen, sich so weit wie möglich nicht wie ein „Web-Framework“, sondern wie jede andere Art von Python-Anwendung anzufühlen. CherryPy enthält Bits, die als Low-Level-Bausteine ​​dienen. Beinhaltet Sitzungskennungen und Cookie-Verarbeitung, jedoch keine HTML-Vorlagen. Wie Bottle bietet CherryPy eine Möglichkeit, Routen zu Verzeichnissen auf der Festplatte zuzuordnen, um statische Dateien bereitzustellen.

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

8. Falcon Framework c

Vorteile: Falcon ist ein Unterstützung: Ein Webentwicklungs-Framework für groß angelegte Microservice-APIs oder mobile App-Backend-Antworten, das vollständig auf Python basiert und sehr hohe Leistung, Zuverlässigkeit und Skalierbarkeit bietet. Falcon verfügt über eine einzigartige Positionierung und besondere Funktionen. In neun von zehn Fällen werden Sie Falcon nicht bereuen.

Nachteile:

Der Nachteil von Falcon besteht darin, dass seine Verpackungsmodule etwas zu wenige sind, einschließlich Routing, Middleware und Hooks, aber ansonsten keine anderen Funktionen bietet (nackte Shell). Zusätzliche Funktionen wie die Verifizierung erfordern die Entwicklung von Erweiterungen durch Entwickler. Weil es für die Erstellung von REST-APIs konzipiert ist. Asgineer Framework 3e533

Vorteile: Asgineer ist ein Tool zum Schreiben asynchroner Webanwendungen mit möglichst wenigen Abstraktionen und bietet dennoch eine benutzerfreundliche API. Das Lesen des Leitfadens und der Referenzmaterialien dauert nur wenige Minuten! Wenn Asgineer auf Uvicorn ausgeführt wird, ist es eines der schnellsten verfügbaren Web-Frameworks. Es unterstützt http Long Polling, Server Side Events (SSE) und Websockets. Und über Versorgungseinrichtungen verfügen, um Anlagen korrekt (und schnell) zu warten.

Nachteile:

Fehlende chinesische Dokumentation. 10. Flaschengerüst Zusammenfassung von 37 Python-Webentwicklungs-FrameworksVorteile:

Flasche ist eine A schnelles, einfaches und leichtes WSGI-Micro-Web-Framework für Python. Es wird als einzelnes Dateimodul ohne andere Abhängigkeiten als die Python-Standardbibliothek verteilt. Unterstützt saubere und dynamische URLs. Schnelle und in Python integrierte Vorlagen-Engine mit Unterstützung für Mako-, Jinja2- und Cheetah-Vorlagen. Greifen Sie einfach auf Formulardaten, Datei-Uploads, Cookies, Header und andere HTTP-bezogene Metadaten zu.

Nachteile: Flasche Eine Konsequenz des Minimalismus ist, dass einige Funktionen einfach nicht vorhanden sind. Die Formularvalidierung, einschließlich Funktionen wie CSRF-Schutz, wird nicht unterstützt. Wenn Sie eine Webanwendung erstellen möchten, die ein hohes Maß an Benutzerinteraktion unterstützt, müssen Sie diese selbst hinzufügen. 11. Emmett Framework Vorteile:

Elegantes Schreiben Konzentrieren Sie sich beim Programmieren auf Ihr Produkt. Sie sollten mehr Zeit auf Ihr Produkt als auf das zugrunde liegende Framework verwenden. Emmett ist das Framework des Erfinders, da es Ihren Entwicklungsprozess mit einer einfachen Syntax vereinfachen soll, die leicht zu erlernen und zu verstehen ist. Verschwenden Sie keine Zeit zwischen Routern und unbequemen Modi: Jedes Mal, wenn Sie die Routen für Ihre Anwendung aufschreiben, wird alles klar vor Ihren Augen angezeigt.

Nachteile: Fehlende chinesische Dokumentation. 12. Apidaora-Framework 7f

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Vorteile:

Typ Verwendungsanmerkungen deklarieren Anfragen/Antworten als Datenklassen und Wörterbücher, validieren Eingabedaten mit jsondaora, einem der schnellsten Python-API-Frameworks, das auf jedem ASGI-Server ausgeführt werden kann.

Nachteile: Fehlende chinesische Dokumentation. 13. Quijote-Framework

Vorteile: Quixote Ja Ein Framework zum Schreiben webbasierter Anwendungen mit Python. Seine Ziele sind Flexibilität und hohe Leistung, in dieser Reihenfolge. Quijote-Apps sind in der Regel wie herkömmliche Apps strukturiert. Die Logik zum Formatieren von Webseiten besteht aus Python-Klassen und -Funktionen. Quixote erzwingt keine Trennung von Präsentationslogik und „Backend“-Logik. Stattdessen empfehlen wir Ihnen, traditionelle Techniken anzuwenden. Eine Lösung besteht beispielsweise darin, die Präsentationslogik in ein eigenes Unterpaket zu packen.

Nachteile: Während Quijote aktiv gepflegt wird, sind Veröffentlichungen seltener. Die jüngste Entwicklung konzentrierte sich auf die Behebung von Fehlern, die Verbesserung der Einhaltung von Standards und die Erhöhung der Flexibilität von Quixote. 14. Reahl-Framework

Zusammenfassung von 37 Python-Webentwicklungs-FrameworksVorteile:

reahl Es handelt sich um ein offenes Framework, das es Entwicklern ermöglicht, Webanwendungen vollständig in Python zu schreiben. Die Verwendung von Python als einzige Entwicklungssprache ist sein größtes Merkmal. Darüber hinaus stellt Reahl recht übersichtliche und prägnante Entwicklungskomponenten zur Verfügung, die klar und umsetzbar genug für die Entwicklung allgemeiner funktionaler Websysteme sind.

Nachteile:

Bei der Bereitstellung von abstraktem Vokabular können einige erweiterte Benutzeroberflächeneffekte nicht beherrscht werden. Derzeit ist die Verwendung von Sass zum Erstellen einer modifizierten Version von Bootstrap nicht zulässig und unterstützt erweiterte Benutzeroberflächenmodi. 15. Hug-Framework Vorteile:

Umarmung Ja, ein Python-3-API-Entwicklungsframework. Es ist so konzipiert, dass Softwareentwickler eine API einmal entwickeln und sie dann bei Bedarf wieder verwenden können. Das Hug-Framework vereinfacht die API-Entwicklung durch die Bereitstellung verschiedener Schnittstellen. Dies ist der Hauptgrund, warum dieses Framework als eines der schnellsten Frameworks in Python 3 gilt. Nachteile:

Es verwendet den vorherigen WSGI-Standard, der ein synchrones Framework ist, sodass asynchrone Anfragen wie WebSockets und andere nicht verarbeitet werden können, die Leistung ist jedoch immer noch sehr gut. 16. BlackSheep Framework

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Vorteile:

BlackSheep ist asynchron Web Framework zum Erstellen ereignisbasierter Webanwendungen mit Python. Es ist inspiriert von der Arbeit von Flask, ASP.NET Core und Yury Selivanov.

Nachteile: Fehlende chinesische Dokumentation. 17. Index.py-Framework

Vorteile: Implementiert ASGI3 Schnittstelle und verwenden Sie Radix Tree für die Routensuche. Es ist eines der schnellsten Python-Webframeworks. Alle Funktionen dienen der schnellen Entwicklung leistungsstarker Webdienste. Es verfügt über eine große Anzahl korrekter Typanmerkungen, ein flexibles und effizientes Routing-System, eine visuelle API-Schnittstelle und Online-Debugging, unterstützt vom Server gesendete Ereignisse und WebSocket, verfügt über Ein-Klick-Bereitstellungsbefehle (basierend auf Uvicorn und Gunicorn) und kann verwendet werden jedes verfügbare ASGI-Ökosystem.

Nachteile:

Index.py verfügt nicht über eine integrierte Datenbank, keinen Cache und keine anderen Funktionen. Wenn Sie Schwierigkeiten bei der Auswahl haben, verwenden Sie bitte direkt Django.

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks18. Sanic Framework c1d

Vorteile:

Sanic ist ein Python 3.7+ Webserver und Webframework, das schnell zu schreiben ist. Es ermöglicht die Verwendung der in Python 3.5 hinzugefügten async/await-Syntax, wodurch Ihr Code nicht blockierend und schnell wird. Das Ziel dieses Projekts besteht darin, eine einfache Möglichkeit bereitzustellen, einen leistungsstarken HTTP-Server einzurichten und zu betreiben, der einfach zu erstellen, zu skalieren und schließlich zu skalieren ist. Nachteile:

Sanic ahmt Flask hinsichtlich der Funktionalität nach, beispielsweise durch die gemeinsame Nutzung des Konzepts von Blueprints, winzigen Unteranwendungen, die es Entwicklern ermöglichen, ihren Code in größeren Anwendungen aufzuteilen und zu organisieren. Für CRUD-Anwendungen, bei denen es sich lediglich um das Hinzufügen, Löschen, Ändern und Abfragen von Daten handelt, ist Sanic keine gute Wahl. 19. Starlette-Framework

Vorteile: Starlette ist ein leichtes ASGI-Framework/Toolkit, das sich ideal zum Erstellen leistungsstarker asynchroner Dienste eignet, produktionsbereit ist und Ihnen Folgendes bietet: Beeindruckende Leistung. WwbSocket-Unterstützung. GraphQL-Unterstützung. In Bearbeitung befindliche Hintergrundaufgaben. Ereignisse starten und beenden. Auf Anfragen basierender Testclient. CORS, GZip, statische Dateien, Streaming-Antworten. Sitzungs- und Cookie-Unterstützung. 100 % Testabdeckung. 100 % typkommentierte Codebasis. Keine harten Abhängigkeiten.

Nachteile: Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Starlette bietet alle grundlegenden Web-Microframework-Funktionen. Es bietet jedoch keine automatische Datenvalidierung, Serialisierung oder API-Dokumentation.

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

20. Fastapi Framework

Offizielle Website: https://www.php.cn/link/647a8664e3a3d945c87db2d07a6590c1

Vorteile: FastAPI ist eine moderne , Schnelles (leistungsstarkes) Web-Framework zum Erstellen von APIs mit Python 3.6+ basierend auf Standard-Python-Typhinweisen. Sehr hohe Leistung, auf Augenhöhe mit NodeJS und Go (danke Starlette und Pydantic). Eines der schnellsten verfügbaren Python-Frameworks. Reduzieren Sie durch Menschen (Entwickler) verursachte Fehler um etwa 40 %. Kurz, einfach, intuitiv und robust.

Nachteile: selbst verfügt nicht über eine Vorlagensyntax und muss installiert werden. 21. Responder-Framework

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Vorteile:

is kennethreitz Neu Ein entwickeltes Projekt ist ein HTTP-Service-Framework auf Basis von Python. Die unterste Ebene verwendet das Starlette-Framework. Starlette ist ein leichtes ASGI-Framework/Toolkit, mit dem leistungsstarke asynchrone E/A-Dienste erstellt werden können. Im Vergleich zu Starlette ist Responder entwicklerfreundlicher. kennethreitz hat Anfragen mit dem Titel „HTTP für Menschen“ geschrieben, um dies klarer zu machen. Tatsächlich ist Responder im Vergleich viel eleganter als Starlette.

Nachteile:

Es handelt sich möglicherweise um ein neues Projekt und die Verpackung ist noch nicht perfekt. In der aktuellen Version funktioniert ein Teil des Codes noch nicht richtig. Das Schnittstellenformular wurde jedoch definiert und wird voraussichtlich in späteren Versionen hinzugefügt. 22. Molten Framework Vorteile: Geschmolzen ist eine minimale, Skalierbares, schnelles und effizientes Framework zum Erstellen von HTTP-APIs mit Python. Pläne validieren Anfragen automatisch und der Code ist einfacher zu pflegen. Instanzen sind automatisch serialisierbar, enthalten die Art von Funktionalität, die die API normalerweise in der realen Welt benötigt, und nutzen in großem Umfang Hints und Mypy vom Typ PEP484.

Nachteile:

Es verwendet keine Bibliotheken von Drittanbietern wie Pydantic, um Datenvalidierung, Serialisierung und Dokumentation bereitzustellen, es verfügt über eine eigene Bibliothek. Daher sind diese Datentypdefinitionen weniger leicht wiederverwendbar. Das Abhängigkeitsinjektionssystem erfordert eine Vorregistrierung von Abhängigkeiten und löst Abhängigkeiten basierend auf deklarierten Typen auf. Daher ist es nicht möglich, mehrere Komponenten zu deklarieren, um einen bestimmten Typ bereitzustellen. 23. Klastisches Framework

Vorteile:

Eins Funktion Ein leistungsstarkes Python-Webframework, das explizite Entwicklungspraktiken vereinfacht und gleichzeitig den globalen Status eliminiert. Clastic ist vollständig in Python geschrieben und bietet verbesserte Wiederverwendbarkeit und Testbarkeit, proaktive URL-Routing-Prüfungen, bessere Kontrolle über die Anwendungsinitialisierung, verbessertes Middleware-Paradigma, keinen globalen Status, ORM-Nutzung und einfachere WSGI-Integration.

Nachteile: Clastic erstellt keinen globalen Status; URL-Routing-Regelparameter und Ansichtsfunktionssignaturen stimmen nicht überein. In Clastic führt diese Nichtübereinstimmung zu einer Ausnahme beim Erstellen der Anwendung.

24. Aiohttp-Framework

Offizielle Website: https://www.php.cn/link/6f8805c87ad80ed936bcd5ce4bebe65d

Vorteile: für Asyncio und Python Asynchroner HTTP-Client/Server. Unterstützt Client- und HTTP-Server, unterstützt sofort Server-WebSockets und Client-WebSockets, keine Rückrufhölle. Der Webserver verfügt über Middleware, Signale und steckbares Routing.

Nachteile: Gemäß RFC 7231 wurde aiohttp Version 2.0 angepasst, um mit add_get() unter Verwendung der vorherigen Version hinzugefügte Anforderungen zu akzeptieren, wenn auf sie mit der HEAD-Methode zugegriffen wird. Wenn der Prozessor viele Inhalte des Antworttexts schreibt, können Sie die Verarbeitung des Inhalts des Antworttexts bei der Ausführung der HEAD-Methode überspringen, um die Ausführungseffizienz zu verbessern. 25. Masonite-Framework

Zusammenfassung von 37 Python-Webentwicklungs-FrameworksVorteile:

Modern und Das entwicklerorientierte Python-Webframework ist auf die Implementierung realer Batterien ausgerichtet, umfasst Entwicklertools mit vielen sofort einsatzbereiten Funktionen und verfügt über eine äußerst erweiterbare Architektur. Masonite eignet sich hervorragend für Einsteiger, die mit ihren ersten Webanwendungen beginnen, sowie für erfahrene Entwickler, die das volle Potenzial von Masonite nutzen müssen, um ihre Anwendungen fertigzustellen. Masonite ist bestrebt, von der Installation bis zur Bereitstellung schnell und einfach zu sein, damit Entwickler so schnell und effizient wie möglich vom Konzept zur Erstellung übergehen können. Nutzen Sie es für Ihr nächstes SaaS! Probieren Sie es einmal aus und Sie werden sich verlieben.

Nachteile: Der größte „Konkurrent“ für Masonite ist Django, da die Community ihr Bestes tut, um das Framework zum einfachen, unterhaltsamen nächsten großen Ding zu machen. Im Vergleich zu Django ist Masonite noch ein Baby, also freuen Sie sich auf seine zukünftige Leistung. 26. Quart Framework

Vorteile: Quart Ja, ein Python-Netzwerk-Mikroframework. Mit Quart können Sie HTML-Vorlagen rendern und bereitstellen, (RESTful) JSON-APIs schreiben, WebSockets bereitstellen, Anforderungs- und Antwortdaten streamen und fast alles über die HTTP- oder WebSocket-Protokolle tun.

Nachteile: Es unterstützt nur Python 3.7+. Tonberry Framework

Vorteile: Zusammenfassung von 37 Python-Webentwicklungs-FrameworksEin ASGI-kompatibles Web-Mikroframework, das einen klassenbasierten Routing-Ansatz verwendet. Beeinflusst von CherryPy, aber kompatibel mit Asyncio. Aus diesem derzeit laufenden Projekt ist ein begleitender ASGI-Server namens Qactuar hervorgegangen.

Nachteile: Bei der Verwendung von Pull Requests verwenden Sie bitte die automatischen Formatierer iSort und Black und verwenden Sie MyPy zur Überprüfung des Codes. Dies geschieht, ohne einige Typfehler zu beseitigen, was MyPy nicht immer ganz glücklich machen wird, aber geben Sie zumindest Ihr Bestes und verwenden Sie die Annotation „# Typ: Ignorieren“ sparsam. Versuchen Sie abschließend, möglichst genaue Typhinweise bereitzustellen. 28. Zyklon-Framework e66

Zusammenfassung von 37 Python-Webentwicklungs-FrameworksVorteile:

Cyclone Es handelt sich um ein Python-Webserver-Framework, das die Tornado-API als Twisted-Protokoll implementiert. Twisted ist ein ereignisgesteuertes Python-Netzwerkprogrammier-Framework. Es handelt sich um eine der ausgereiftesten nicht blockierenden I/O-Bibliotheken, die der Öffentlichkeit zugänglich sind. Tornado ist die Open-Source-Version des FriendFeed-Webservers, einem der beliebtesten und schnellsten Python-Webserver mit einer sehr schönen API zum Erstellen von Webanwendungen. Zusätzlich zu seinem umfangreichen Funktionsumfang löst Cyclone auch das C10K-Problem.

Nachteile: Cyclone unterstützt Python 2.x nicht mehr. 29. Klein-Framework Vorteile:

Klein ist ein Mikro -Framework zum Entwickeln produktionsbereiter Webdienste mit Python. Es ist „mikro“, da es eine sehr kleine API ähnlich wie Bottle und Flask hat. Es handelt sich nicht um „Mikro“, da es auf Dingen außerhalb der Standardbibliothek basiert. Dies liegt vor allem daran, dass es auf weit verbreiteten und bewährten Komponenten wie Werkzeug und Twisted basiert.

Nachteile: Vielleicht etwas veraltet. 30. Nameko-Framework

Vorteile: AMQP RPC und Ereignisse (Publish-Subscribe), HTTPGET, POST und Websockets, CLI für einfache und schnelle Entwicklung, Dienstprogramme für Unit- und Integrationstests.

Nachteile:

nameko-Microservices drucken nicht automatisch Fehlerprotokolle, wenn Fehler auftreten, und überwachungsbezogene Abhängigkeiten müssen hinzugefügt werden.

Rechenintensive Aufgaben führen zu Wiederholungsversuchen. 31. CubicWeb Framework Vorteile: CubicWeb ist eine Semantik Das unter der LGPL lizenzierte Web Application Framework ermöglicht Entwicklern die effiziente Erstellung von Webanwendungen durch die Wiederverwendung von Komponenten (Cubes genannt) und die Befolgung bekannter objektorientierter Designprinzipien. Eine Bibliothek wiederverwendbarer Komponenten (Datenmodelle und Ansichten) für allgemeine Anforderungen, die Leistungsfähigkeit und Flexibilität der Programmiersprache Python, die Zuverlässigkeit von SQL-Datenbanken, LDAP-Verzeichnissen, Subversion und Mercurial für Speicher-Backends.

Nachteile: Um persistente Daten in CubicWeb-Anwendungen abzurufen oder zu bearbeiten, können Sie die Relational Query Language (RQL) verwenden, die einen stark entkoppelten Pfad zur Korrelation verschiedener Datenquellen miteinander bietet. Da es jedoch implementiert wird, indem Abfragen manuell als Zeichenfolgen erstellt werden, kann es für Entwickler, die mit ORMs vertraut sind, veraltet wirken. Es gibt noch weitere Hindernisse für die Nutzung von CubicWeb. Erstens kann die Einrichtung umständlich sein. Ein weiteres potenzielles Problem ist das Fehlen einer nativen Template-Engine; die HTML-Generierung bleibt dem Entwickler überlassen. CubicWeb unterstützt Python 3, aber Module wie Twisted selbst sind nicht vollständig portiert. 32. Zope2-Framework

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

Vorteile:

Zope 2 Ja, ein Python-basiertes Webanwendungs-Framework, der Ursprung aller Python-Webanwendungen und -Tools und ein leistungsstarker Zweig der Python-Familie. Das „Object Publishing“-System von Zope 2 ist ideal für objektorientierte Entwicklungsmethoden und kann die Lernkurve des Entwicklers verkürzen und Ihnen helfen, einige schlechte Funktionen in Ihrer Anwendung zu entdecken.

Nachteile: Zope ist aufgrund der Größe und Komplexität von Zope nicht für einfache RESTful-APIs (per Bottle oder Flask) oder sogar für einfache Websites geeignet Es geht nicht darum, die Quellen einfach in einen Projektunterordner zu entpacken.

33. Web2py-Framework Offizielle Website:

https://www.php.cn/link/60bb8062ea8e0c7ff17bb2e484cd223a Vorteile:

Web2py ist in der Python-Sprache geschrieben Ein kostenloses Open-Source-Web-Framework, das für die agile und schnelle Entwicklung von Webanwendungen mit schnellen, skalierbaren, sicheren und portablen datenbankgesteuerten Anwendungen gemäß der Open-Source-Vereinbarung LGPLv3 entwickelt wurde. Web2py bietet eine Lösung aus einer Hand. Der gesamte Entwicklungsprozess kann im Browser ausgeführt werden. Es bietet die Funktionen der Online-Entwicklung der Webversion, des Schreibens von HTML-Vorlagen, des Hochladens statischer Dateien und des Schreibens von Datenbanken. Andere umfassen Protokollierungsfunktionen und eine automatisierte Admin-Schnittstelle.

Nachteile:

Eine wichtige Einschränkung von Web2py ist, dass es nur mit Python 2.x kompatibel ist. Erstens bedeutet dies, dass Web2py die asynchrone Syntax von Python 3 nicht verwenden kann. Wenn Sie sich auf externe Bibliotheken verlassen, die es nur in Python 3 gibt, haben Sie Pech. Es wird jedoch daran gearbeitet, Web2py mit Python 3 kompatibel zu machen, und zum Zeitpunkt des Verfassens dieses Artikels steht die Arbeit kurz vor dem Abschluss. 34. Pylonen-Framework

Vorteile:

Pylone sind ein in Python geschriebenes Open-Source-Webanwendungs-Framework. Es erweitert den WSGI-Standard, verbessert die Wiederverwendbarkeit und unterteilt die Funktionalität in unabhängige Module. Pylons ist typisch für die neuesten Webanwendungs-Frameworks, ähnlich wie Django und TurboGears. Pylons ist stark von Ruby on Rails beeinflusst: Zwei seiner Komponenten, Routes und WebHelpers, sind Python-Implementierungen von Rails-Funktionen.

Nachteile: Pylons wurde mit repoze.bfg zusammengeführt und befindet sich jetzt nur im Wartungsmodus. Es wird dringend empfohlen, dass neue Projekte mit der neu zusammengeführten Web-Framework-Pyramide beginnen.

Zusammenfassung von 37 Python-Webentwicklungs-Frameworks

35. Würfel-Framework

Offizielle Website: https://www.php.cn/link/9fb2c3bda2393ae337242f405c93a010

Vorteile: Cubes ist ein leichtes Python-Framework und Toolset für die Entwicklung von Berichten und Analytische Anwendungen, Online-Analyse Datenverarbeitung (OLAP), mehrdimensionale Analyse und Durchsuchen aggregierter Daten. Es ist Teil der Data Brewery.

Nachteile: Bietet keine implizite aggregierte Datensatzanzahl pro Cube mehr. Es muss klar als Aggregat definiert werden: Die alte Backend-Architektur weist Einschränkungen auf. Es ist nur die Verwendung eines Stores möglich, das Modell muss vor dem Start des Servers bekannt sein, es ist nicht möglich, das Modell von einer Remote-Quelle zu beziehen. 36. Dpark-Framework

Vorteile:

DPark ist Python für Spark Die Klonversion ist ein in Python implementiertes verteiltes Computer-Framework, das problemlos eine groß angelegte Datenverarbeitung und iterative Berechnungen mit geringer Latenz implementieren kann. Dieses Computer-Framework ähnelt MapReduce, ist jedoch flexibler, kann problemlos verteiltes Rechnen mit Python durchführen und bietet mehr Funktionen für besseres iteratives Rechnen. DPark wird von der inländischen Douban Company entwickelt, implementiert und gewartet. Laut der Beschreibung der Douban Company wird der Großteil der Datenanalyse innerhalb der Douban Company derzeit mit DPark durchgeführt, und auch das gesamte Projekt verbessert sich.

Nachteile: Dpark verwendet Prozesse. Aufgrund der Existenz von GIL (Global Interpreter Lock) gibt es keine Möglichkeit, diese wirklich zu implementieren, selbst wenn mehrere Threads auf einer Maschine mit mehreren Kernen verwendet werden diese Threads gleichzeitig ausführen.

37. Buildbot-Framework Offizielle Website:

https://www.php.cn/link/9b1fc5df81cadf52164c02bf92678f95

Vorteile:

Buildbot ist implementiert in Python Open-Source-Tool für kontinuierlichen Build und kontinuierliche Bereitstellung, das von bekannten Projekten wie Python, Mozilla, Chromium, WebKit usw. verwendet wird. Buildbot kann Python-Pakete direkt verwenden, problemlos Zehntausende Bibliotheken besitzen und verfügt über starke Erweiterungsmöglichkeiten. Wenn Sie der Meinung sind, dass Jenkins Ihre Anforderungen bereits problemlos erfüllt, benötigen Sie Buildbot nicht. Wenn Sie der Meinung sind, dass die Effizienz in Jenkins gering ist, die Erweiterung schwierig ist und einige Aktionen, die mit Skripten wie Python ausgeführt werden können, in Jenkins schwierig sind, können Sie einen Blick auf Buildbot werfen.

Nachteile: buildbot unterstützt mehrere Projekte nicht gut.

Das obige ist der detaillierte Inhalt vonZusammenfassung von 37 Python-Webentwicklungs-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen