[PYTHON] [Definition] Was ist ein Framework?

Einführung

Der Framework-Definitionsteil, der Gegenstand dieses Artikels ist, befindet sich in ** der zweiten Hälfte des Artikels **, sodass Sie die erste Hälfte überspringen können.

Übergang zur Untersuchung des Rahmens

Als ich nachforschte, was venv ist, wurde mir eine Site mit dem Namen "Was tun, wenn Venv mit Git mit PyCharm geteilt wird" mitgeteilt? Dies wurde jedoch zu Beginn im einleitenden Teil geschrieben.

Dieses Mal habe ich beschlossen, mit meinen Freunden einen Dienst mit Django of Python zu entwickeln, und es wurde darüber gesprochen, die VirtualEnv-Umgebung (im Folgenden venv) als Umgebung zu verwenden!

Kann venv verwendet werden, wenn Django verwendet wird ...

Was ist Django? Wikipedia sagte:

Django ist ein in Python implementiertes ** Webanwendungsframework **.

Ich habe von einem Webanwendungsframework gehört. Was war das… Als ich Flask auf Wikipedia nachgeschlagen habe, hieß es:

Flask ist ein leichtes ** Webanwendungsframework ** für die Programmiersprache Python. Er nennt sich "Mikroframework", weil dadurch die standardmäßig bereitgestellte Funktionalität auf ein Minimum beschränkt wird.

Das ist es! Flask ist auch ein Webanwendungsframework!

Wie benutzt man eine Flasche ... Zum Beispiel ...

main.py


from flask import Flask

app = Flask(__name__, static_folder='.', static_url_path='')

@app.route('/')
def index():
    return app.send_static_file('index.html')

app.run(port=8000, debug=True)

Das? Mit anderen Worten, ist das Webanwendungsframework eine ** Bibliothek ** ...?

Webanwendungs-Framework

Was ist ein Webanwendungsframework? Wie üblich [Wikipedia](https://ja.wikipedia.org/wiki/Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 83% 95% E3% 83% AC% E3% 83% BC% E3% 83% A0% E3% 83% AF% E3% 83% BC% E3% 82% AF) geöffnet.

Das Web Application Framework (Web Application Framework) ist ein ** Anwendungsframework **, das die Entwicklung dynamischer Websites, Webanwendungen und Webdienste unterstützt.

Anwendungsrahmen ...? Lesen Sie vorerst mehr.

Der Zweck des Frameworks besteht darin, den Aufwand für allgemeine Aufgaben in der Webentwicklung zu verringern. Beispielsweise bieten viele Frameworks ** Bibliotheken **, ** Vorlagen-Engines ** (→ Web-Vorlagen) und ** Sitzungsverwaltung ** für den Zugriff auf Datenbanken, um die Wiederverwendung von Code zu erleichtern. Es gibt auch Dinge.

Es ist auch eine Bibliothek, aber es scheint nicht die einzige zu sein.

Anwendungsframework (oder Framework)

Was ist derzeit ein Anwendungsframework, [Wikipedia](https://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1% E3% 83% BC% E3% 82% B7% E3% 83% A7% E3% 83% B3% E3% 83% 95% E3% 83% AC% E3% 83% BC% E3% 83% A0% E3% Lesen Sie 83% AF% E3% 83% BC% E3% 82% AF).

Ein Anwendungsframework ist eine Sammlung von ** Bibliotheken (wie Unterroutinen und Klassen), mit denen die Standardstruktur von Anwendungssoftware in der Programmierung implementiert wird. Wird auch einfach ** Framework ** genannt.

Immerhin ist es eine Bibliothek! Warum nennst du es ein Framework ...?

Was ist der Unterschied zwischen "Bibliothek" und "Framework" [Hauptthema]

So haben wir untersucht, was ein Framework ist. Wenn Sie die Frage beantworten möchten, was ein Framework ist, wie oben erwähnt, ** "reicht es aus, es als eine Sammlung von Code zu erkennen, der von jemandem geschrieben wurde, dh einer Bibliothek" **.

Es ist jedoch normal zu glauben, dass es einen Unterschied gibt, wenn Wörter auf diese Weise geteilt werden. Laut diesem Artikel ist der technische Unterschied zwischen der Bibliothek und dem Framework tatsächlich der Begriff ** "mit oder ohne Steuerungsinversion" **. Es ist aggregiert in. Dies ist, ob die Initiative in "wir" oder in "einer Sammlung von Klassen und Unterprogrammen" ist.

Das heißt, wenn Sie eine Bibliothek verwenden, entscheiden wir, wann ein Feature der Bibliothek verwendet werden soll, während bei Verwendung eines Frameworks das Framework selbst entscheidet, wann dieses Feature verwendet werden soll. Mit anderen Worten, wenn ein Framework verwendet wird, gibt es eine "Umkehrung der Kontrolle", bei der die Person, die das Programm steuert, nicht die Person ist, die es verwendet, sondern das Programm selbst.

Wenn Sie den Wikipedia-Artikel im Webanwendungsframework erneut lesen,

Der Zweck des Frameworks besteht darin, den Aufwand für allgemeine Aufgaben in der Webentwicklung zu verringern. Beispielsweise bieten viele Frameworks ** Bibliotheken **, ** Vorlagen-Engines ** (→ Web-Vorlagen) und ** Sitzungsverwaltung ** für den Zugriff auf Datenbanken, um die Wiederverwendung von Code zu erleichtern. Es gibt auch Dinge.

Es gibt. Mit anderen Worten, zusätzlich zur Bereitstellung der Bibliothek ** Template Engine ** (Die Template Engine ist eine Software oder Softwarekomponente, die eine Vorlage namens Vorlage synthetisiert und Daten eingibt, die durch ein bestimmtes Datenmodell dargestellt werden, und ein Ergebnisdokument (aus Wikipedia) ausgibt. )) Und ** Sitzungsverwaltung ** wird bereitgestellt, was ein eher rahmenähnlicher Teil ist.

Ausführlichere Beispiele finden Sie in diesem Artikel.

Gleichnis

Schließlich ist Zitat eine gute Analogie für den Unterschied zwischen Bibliotheken und Frameworks.

Ich benutze ** house ** oft als Metapher für Konzepte in der Webentwicklung.

Zum Beispiel ist eine Bibliothek ** wie ein Besuch bei IKEA **. Sie haben bereits ein eigenes Zuhause, aber es fehlt Ihnen ein wenig an Möbeln. Aber ich habe keine Lust, einen Tisch von Grund auf neu zu bauen. In einem solchen Fall können Sie, wenn Sie zu IKEA gehen, Ihren Favoriten aus den vielen Optionen zurückbringen. Es liegt an Ihnen, es zu wählen.

Andererseits ist der Rahmen ** wie der Bau eines Modellhauses **. Sie können eine eingeschränkte Architektur und ein eingeschränktes Design aus mehreren Vorlagen auswählen. Grundsätzlich können Sie nur Auftragnehmer und Vorlagen auswählen. Der Anbieter bestimmt auch, wo Sie eingreifen können.

Recommended Posts

[Definition] Was ist ein Framework?
Was ist eine Distribution?
Was ist ein Terminal?
Was ist ein Zeiger?
Was ist ein Entscheidungsbaum?
Was ist ein Kontextwechsel?
Was ist ein Superuser?
Was ist ein Systemaufruf?
Was ist eine Rückruffunktion?
Was ist ein lexikalischer / dynamischer Bereich?
Was ist das Convolutional Neural Network?
Was ist ein Namespace?
Was ist copy.copy ()
Was ist Django? .. ..
Was ist dotenv?
Was ist POSIX?
Was ist Linux?
Was ist Clivoa, ein Framework für die ETL-Verarbeitung?
Was ist klass?
Was ist SALOME?
Was ist ein Hund? Django-Installationsvolumen
Was ist ein Hund? Python-Installationsvolumen
Was ist Linux?
Was ist Python?
Was ist Hyperopt?
Was ist Linux?
Was ist Pyvenv?
Was ist __call__?
Was ist Linux?
Was ist Python?
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell
Was ist ein Hund? Fordern Sie die Django-Vorlage heraus! Volumen
Es ist ein Mac. Was ist der Linux-Befehl Linux?
Was ist ein Hund? Django - Erstellen Sie ein benutzerdefiniertes Benutzermodell 2
Sag mir, was eine gleichwinklige Abbildung ist, Python!
Was ist Piotroskis F-Score?
Was ist Raspberry Pi?
[Python] Was ist Pipeline ...
[PyTorch Tutorial ①] Was ist PyTorch?
Was ist Hyperparameter-Tuning?
Was ist JSON? .. [Hinweis]
Was ist Ensemble-Lernen?
Was ist TCP / IP?
Was ist Pythons __init__.py?
Was ist ein Iterator?
Was ist UNIT-V Linux?
[Python] Was ist virtualenv?
Was ist maschinelles Lernen?
Was ist ein Hund? POST-Übertragungsvolumen mit Django--forms.py
Was ist ein Hund? Startvolumen der Django-App erstellen --startapp
Was ist ein Hund? Django App Creation Start Volume - Startprojekt
Was ist ein empfohlener Motor? Zusammenfassung der Typen
Was ist Gott? Erstelle einen einfachen Chatbot mit Python
Für mich als Django-Anfänger (2) - Was ist MTV?
Was ist der Unterschied zwischen symbolischen und harten Links?
Was ist eine logistische Regressionsanalyse?
Was ist die Aktivierungsfunktion?