Beetl erfreut sich in China immer größerer Beliebtheit. Die Community-Website verzeichnet täglich Tausende Besuche und die Anzahl der Downloads liegt weiterhin bei etwa 20 pro Tag (Maven kann nicht gezählt werden). Bevor die QQ-Gruppe voll war, hatte sie bereits eine Welle nach der anderen inaktive Mitglieder und eine kleine Anzahl von Menschen, deren Werte nicht mit ihr übereinstimmten, rausgeschmissen (dieser Artikel wurde geschrieben, als der Ali-Mooncake-Vorfall gärte). Mit zunehmendem Ruhm wuchsen auch seine negativen Kommentare. Ich habe einige Missverständnisse in negativen Kommentaren aufgelistet
Beetl fehlt Dokumentation
Wenn Sie nach Beetl-Tutorials und -Dokumentation suchen, werden Sie feststellen, dass Sie im Grunde nur die Dokumentation der offiziellen Website von Beetl und eine kleine Anzahl davon finden können Vom Autor verfasste Beetle-Nutzungsanweisungen, es kann nicht angenommen werden, dass dies auf die geringe Anzahl von Beetle-Benutzern zurückzuführen ist. Dies zeigt nur, dass die Dokumente der offiziellen Beetle-Website gut geschrieben sind und die Community verschiedene Demos und zeitnahe Antworten auf Fragen bereitstellt. Im Vergleich zu JSP gibt es in Freemaker unzählige Artikel zur Verwendung einer Schleife, und unzählige Autoren arbeiten unermüdlich daran, Artikel zu schreiben, in denen diese einfachen Konzepte erläutert werden. Beetl hat keinen solchen Artikel oder gar ein Video. Die Syntax von Beetl basiert auf JS und wurde ursprünglich von Chinesen entwickelt. Es gibt keine Schwierigkeiten bei der Dokumentation und Kommunikation
Beetl verwendet a4558806285d5b7820bdaa0b90aa4d26, das wie JSP und ist ist sehr hässlich.
Dies ist auch ein Missverständnis. Tatsächlich kann das beetl-Trennzeichen jedes beliebige Symbol zulassen, z. B. PHP-ähnliches oder einfach Das @ wird mit dem Wagenrücklauf- und Zeilenvorschubsymbol gepaart, wie im folgenden Code gezeigt
@ for(u in userList){ <span>${uLP.index}: ${u.name}</span>@}
Beetls Syntax ist wie Java
Beetls Syntax bezieht sich auf Javascript, also ist es so sehen in der Form wie Java aus, was auch der Grund für die niedrige Lernkurve von Beetl ist. Aber Beetl wird als Vorlagensprache speziell für die Ausgabe verwendet, was viel besser ist als Java-basiertes JSP. Im obigen Code ist uLP beispielsweise eine integrierte Schleifenvariable Gerade Zeilen und andere Informationen müssen nur nach der Schleifenvariablen hinzugefügt werden, die speziell für die Vorlagenausgabe verwendet wird. Darüber hinaus unterstützt beetl elsefor. Da der obige Code nicht in den Schleifenkörper eingeht, können Sie elsefor als Erklärung verwenden.
@for(){ @}elsefor{ <span> 无记录 </span> @}
Beetl-Vorlagensprache verfügt auch über die folgenden Funktionen zur Vorlagenanpassung:
Ternärer Ausdruck weggelassen
Sichere Ausgabe
Syntax mit Groß-/Kleinschreibung auswählen
HTML-Tag
Formatierte Ausgabe
Java-Methoden direkt aufrufen oder Attribute
Mehrere Layoutfunktionen
Vorlagenvariablen
Strikte MVC-Steuerung
Diese Syntaxen werden speziell für Vorlagen bereitgestellt und unterscheiden sich völlig von Java
Bevorzugen Sie imperative gegenüber skriptbasierten Vorlagensprachen.
Manche Leute bevorzugen imperative Vorlagensyntax wie Velocity, weil es weniger Anweisungen gibt. Aber auch die Mängel sind offensichtlich, wenn es um die Darstellung komplexer Logik geht, ist das Schreiben oft hässlicher und schwieriger. beetl ist eine skriptbasierte Vorlagen-Engine, die zwar viel Syntax hat, aber basierend auf JS nicht schwer zu verstehen ist. Die skriptbasierte Syntax ist auch einfacher mit komplexer Rendering-Logik umzugehen. Lassen Sie sich nicht vom Helloworld-Beispiel der imperativen Template-Engine täuschen. Es sieht cool aus, aber wenn es in einem Projekt verwendet wird, ist es dasselbe wie Skripting.
Template-Performance ist nicht wichtig
Ich habe auch im Internet gesehen, dass es besser ist, den Datenbankzugriff zu optimieren, als die Template-Engine zu optimieren . Wenn ja, würde ich zunächst die Optimierung des Datenbankzugriffs und anderer Stellen in Betracht ziehen, aber wenn diese optimiert sind, kann ich auch eine bessere Vorlagen-Engine verwenden, um die Zeilenleistung um das Sechsfache gegenüber Freemaker und um das Zweifache gegenüber JSP zu verbessern. Es gibt auch Drei-Parteien-Tests, die dreimal so hoch sind wie bei JSP. Dies kann daran liegen, dass JSP zu viel JSTL verwendet. Die Vorlagen-Engine umfasst CPU-Berechnungen und E/A-Ausgaben, was tatsächlich ein relativ ressourcenintensiver Teil von Webanwendungen ist. Ich denke, wenn dieser Verbrauch reduziert werden kann, wird dies dennoch zur Verbesserung der Systemleistung beitragen. Wenn Ihr Datenbankzugriff gut optimiert und der Geschäftscode perfekt geschrieben ist, warum nicht eine Template-Engine mit besserer Leistung verwenden, um die ultimative Leistung zu erzielen?
Die Back-End-Template-Engine ist nicht mehr wichtig
Dies ist eine Tatsache, die auch die Front-End-Template-Engine entwickelt a beetljs, aber aufgrund ihrer enormen Größe sind sie im Vergleich zu diesen 7K- und 8K-Template-Engines wirklich schwierig zu verwenden und wurden daher nicht eingeführt. Wir können später nur die Größe optimieren, die grammatikalischen Merkmale reduzieren und dann den richtigen Zeitpunkt für den Start wählen.
Auch wenn der Trend so ist, denke ich, dass die Back-End-Template-Engine immer noch ihre Vorteile hat und derzeit immer noch sehr wichtig ist:
Die Funktionen und Wartbarkeit der Back-End-Template-Engine Die End-Template-Engine ist weitaus stärker als die Front-End-Template-Engine.
Die Back-End-Template-Engine befindet sich im Back-End, sodass es einfach ist, Back-End-Daten abzurufen, während die Front-End-Template-Engine weitaus stärker ist als die der Front-End-Template-Engine. Die End-Template-Engine muss alle Daten vorbereiten
Die Back-End-Template-Engine hat ein breites Anwendungsspektrum: Es gibt auch Codegenerierung, statische Seitengenerierung, einige Template-Funktionen im Back-End, wie z. B. das Senden von E-Mails, Textnachrichten usw.
In den meisten Unternehmen mangelt es an Front-End-Talenten. Die Verwendung einer Front-End-Template-Engine führt dazu, dass sich mehr Menschen auf das Front-End konzentrieren. Unternehmen sollten versuchen, weniger Front-End-Simulationsboard-Engines zu verwenden, bevor sie für diese Änderung bereit sind
In Bezug auf die Entwicklungseffizienz sind Back-End-Template-Engines seit vielen Jahren beliebt, daher sollten sie effizienter sein als Front-End-Template-Engines
Back-End-Template-Engines eignen sich für die SEO-Optimierung, Front-End-Template-Engines sind jedoch schwierig
Back-End-Template-Engines verfügen über Layoutfunktionen
Ich denke, der richtige Weg, Template-Engines derzeit zu verwenden, besteht darin, eine Kombination aus Front-End und Back-End zu verwenden. Natürlich lernt die Front-End-Template-Engine jetzt auch von den Funktionen der Back-End-Simulations-Engine wird immer perfekter werden. Vielleicht wird es eines Tages wirklich Webanwendungen dominieren. Darüber hinaus werden Front-End-Simulations-Engines mit der weit verbreiteten Nutzung architekturorientierter Dienste und mobiler Endgeräte tatsächlich immer wichtiger