Zhihu Gaozan|Was ist Low Code, sehr zu empfehlen!

Dieser Artikel ist ein Auszug aus dem Artikel „Blick auf Low Code aus dem Implementierungsprinzip“ des Zhihu-Benutzers Wu Duoyi . Im Gegensatz zur vorherigen abstrakten Definition definiert dieser Artikel Low Code aus der Perspektive des Codes, der einen sehr hohen Lernwert hat! Willkommen alle, den Originaltext zu lesen.

Bevor wir auf verschiedene Low-Code-Lösungen eingehen, müssen wir zunächst klären, was genau „Low-Code“ ist.

Diese Frage ist nicht einfach direkt zu beantworten, da Low-Code ein sehr weit gefasstes Konzept ist. Viele Produkte behaupten, Low-Code zu sein, aber wir können eine andere Frage leicht umgekehrt beantworten: „Was ist die einzige unverzichtbare Funktion von Low-Code-Produkten?“ ?"

Ich denke, dass es sich bei dieser Funktion um visuelle Bearbeitung handelt, da nicht-visuelle Bearbeitung Code-Bearbeitung ist und Produkte mit nur Code-Bearbeitung nicht als Low-Code betrachtet werden. Daher ist visuelle Bearbeitung eine notwendige Bedingung für Low-Code, und Low-Code hat tatsächlich eine andere klarer Es heißt visuelle Programmierung.

Da die visuelle Bearbeitung eine notwendige Voraussetzung für Low-Code ist, welche sind aus Sicht der Implementierung die notwendigen Bedingungen für die visuelle Bearbeitung?

Ich denke, die notwendige Voraussetzung für die visuelle Bearbeitung ist „deklarativer“ Code, da der visuelle Editor nur „deklarativen“ Code unterstützt.

Erklären Sie, was „deklarativ“ ist. Zusätzlich zu deklarativ gibt es einen anderen Codemodus namens „imperativ“. Geben wir jeweils zwei Beispiele. Wenn Sie einen roten Block zeichnen möchten, verwenden Sie „deklarativ“, um dies zu erreichen. HTML + CSS kann sein verwendet, ähnlich der folgenden Methode:

Bild

Anstatt „imperativ“ für die Implementierung zu verwenden, können Sie die Canvas-API verwenden, ähnlich der folgenden Methode:

Bild

Obwohl der endgültige Anzeigeeffekt derselbe ist, weisen die beiden Codes wesentliche Unterschiede in den Implementierungsideen auf:

„Deklarativ“ beschreibt direkt den Endeffekt, unabhängig davon, wie dieser erreicht wird

„Imperativ“ konzentriert sich darauf, wie dies erreicht werden kann, und erläutert Schritt für Schritt, wie dieser Effekt erzielt werden kann

Aus Sicht des visuellen Editors ist der größte Unterschied zwischen ihnen:

„Deklarativ“ kann aus dem Anzeigeergebnis direkt auf den Quellcode zurückgeführt werden

„Imperativ“ kann keine umgekehrte Ableitung durchführen

Die umgekehrte Ableitung ist eine wesentliche Funktion des Editors. Eine häufige Operation im Editor besteht beispielsweise darin, auf den roten Block zu klicken und dann seine Farbe zu ändern. Wie wird dies in diesen beiden Codes implementiert?

Wenn es sich um „deklaratives“ HTML + CSS handelt, können Sie den Hintergrundwert des Stils direkt ändern, aber Canvas-basierter imperativer Code kann diese Funktion nicht erreichen, da der Code zur Implementierung nicht in der Präsentation gefunden werden kann und imperativer Code dies erreichen kann Der gleiche Effekt. Es gibt unzählige Pfade. Zusätzlich zum vorherigen Beispiel kann auch der folgende Code den gleichen Effekt erzielen:

Bild

Es ist sogar möglich, dass diese Farbe aus mehreren Zeichenfolgen und Zufallszahlen besteht. Selbst durch statische Analyse kann die Quelle nicht gefunden werden, sodass keine visuelle Änderung möglich ist.

„Imperativer“ Code kann keine visuelle Bearbeitung erreichen, und visuelle Bearbeitung ist die einzige unverzichtbare Funktion von Low-Code. Daher können wir eine Schlussfolgerung ziehen: Alle Low-Code-Plattformen dürfen nur „deklarativen“ Code verwenden, weshalb alle Low-Code-Plattformen dies tun werden Es gibt ein eingebautes „DSL“.

(DSL ist ein Akronym für Domain Specific Language. Es handelt sich um eine Programmiersprache, die speziell für eine bestimmte Domäne oder ein bestimmtes Problem entwickelt wurde.)

HTML+CSS ist ein DSL für die Seitenpräsentation

SQL ist ein DSL für die Datenabfrage und -verarbeitung

Das Yaml von K8S ist ein DSL für die Dienstbereitstellung

NGINX conf ist ein Reverse-Proxy-DSL

 

 

Die oben genannten Lösungen sind derzeit Mainstream, wurden jedoch in der Anfangszeit nicht bevorzugt. Beispielsweise gab es vor mehr als zehn Jahren eine Debatte darüber, ob B/S- oder C/S-Architektur verwendet werden soll. Die Funktion von CSS 2 dient hauptsächlich der grafisches Layout, nicht zum Erstellen von Anwendungsschnittstellen geeignet. Zusammengenommen haben diese „deklarativen“ Sprachen folgende Vorteile:

1. Es ist einfach zu verwenden , weil die Beschreibung ist

2. Unterstützt die visuelle Bearbeitung . FrontPage, die visuelle HTML-Bearbeitung von Microsoft, ist seit 1995 verfügbar. Jetzt können verschiedene BI-Software als visuelle SQL-Bearbeitung betrachtet werden. Dadurch kann die Grammatik vereinfacht werden und Nicht-Entwickler können schnell HTML und SQL erlernen.

3. Es ist einfach, die Leistung zu optimieren . Sowohl der Browser als auch die Datenbank werden ständig optimiert. Beispielsweise kann sie automatisch auf parallele Ausführung umgestellt werden, was durch imperative Sprachen nicht automatisch realisiert werden kann.

4. Es ist leicht zu übertragen und abwärtskompatibel. Heutige Browser können problemlos den HTML-Code von vor 30 Jahren rendern, aber der aktuelle Compiler kann den Browser-Engine-Code von vor 30 Jahren nicht kompilieren.

Die Nachteile dieser Sprachen sind:

1. Es ist nur für bestimmte Bereiche geeignet. Imperative Sprachen wie JavaScript können in verschiedenen Bereichen verwendet werden, HTML + CSS eignet sich jedoch nur zum Rendern von Dokumenten und Schnittstellen und SQL eignet sich nur zum Abfragen.

2. Geringe Flexibilität. Obwohl SQL beispielsweise über viele integrierte Funktionen verfügt, reicht es nicht aus, Geschäfte nur damit zu realisieren. Einige Datenbanken bieten auch benutzerdefinierte Funktionen (UDF), die durch Code erweitert werden können.

3. Schwierig zu debuggen. Wenn bei Problemen ein Mangel an Tools vorhanden ist, ist die Fehlerbehebung schwierig. Wenn Sie vor dem Erscheinen von Firefox Seiten entwickelt haben, wissen Sie, dass die Erfahrung beim Schreiben komplex ist, da IE6 nicht über Entwicklungstools verfügt Die Seiten sind sehr schlecht. Es dauert lange, den Code zu lesen, bevor Probleme auftreten. Es wurde festgestellt, dass ein bestimmtes Tag nicht geschlossen wurde oder der CSS-Klassenname falsch geschrieben wurde.

4. Stark abhängig von der Betriebsumgebung . Da der deklarative Stil nur das Ergebnis beschreibt und nicht auf die Implementierung achtet, ist er stark von der Betriebsumgebung abhängig, was jedoch auch die folgenden Probleme mit sich bringt: Vergleichsdiagramm-Technologiesperre, Benutzer Blackbox usw.

Da es sich bei Low-Code um eine Art deklarative Programmierung handelt, sind diese „deklarativen“ Vor- und Nachteile tatsächlich die Vor- und Nachteile von Low-Code. Wenn Sie die Geschichte und die aktuelle Situation der deklarativen Programmierung verstehen, können Sie Low-Code besser verstehen, denn:

Die verschiedenen Vorteile von Low Code werden durch „deklarativen“ Code erreicht

Die verschiedenen in Frage gestellten Mängel von Low Code werden auch durch „deklarativen“ Code verursacht

Supongo que te gusta

Origin blog.csdn.net/Gemcoder/article/details/131965210
Recomendado
Clasificación