
LEWP ist ein Server -Side -Website -Rendering -Framework, mit dem Sie die vollständige algorithmische Rostleistung für die Erstellung technisch gültiger HTML5 -Websites verwenden können.
Der Ansatz unterscheidet sich von den meisten beliebten Frameworks, die derzeit nicht verfügbar sind, indem keine Vorlagen, JSX oder eine andere benutzerdefinierte Syntax verwendet werden, die Sprachen mischt. Dies verhindert, dass Ihr Code chaotisch in nicht abnehmende Spaghetti wird.
Durch den einzigartigen Identifikationsansatz von Seiten, Komponenten und Ressourcen beschleunigt Lewp die Entwicklung Ihrer nächsten Website und erleichtert die Wartung, selbst wenn Sie Ihren Quellcode für einen längeren Zeitraum nicht berührt haben.
Dank der Dateihierarchie -Implementierung von Lewp war die Strukturierung Ihrer Ressourcen noch nie einfacher. Sie werden sogar in die endgültige Binärdatei zusammengestellt, sodass Sie sich keine Sorgen mehr über fehlende Ressourcen für die Bereitstellung machen müssen. Ihre Komponenten CSS und JavaScript werden automatisch isoliert und in Ihre Webseite integriert, sodass die Haare nicht mehr über die Optimierung Ihres <script> und <link> -Tags reißen. Bei der Erkundung von LEWP finden Sie mehr Vereinfachungen und Optimierungen für Ihre Website -Erstellung.
Generieren Sie Ihre HTML5 -Website technisch optimiert und immer gültig, ohne den algorithmischen Komfort und die Flexibilität zu verlieren.
Diese Kiste entwickelt sich derzeit weiter. API -Bruchänderungen können jederzeit bis v1.0.0 erfolgen. Compiler -Warnungen werden derzeit als Entwicklungserinnerungen verwendet und so bald wie möglich entfernt.
Dies ist die angepasste Rostimplementierung der PHP -Version von Lewp.
Wenn Sie Fragen haben, einen Beitrag leisten oder eine andere Art von Anfrage haben möchten, sind Sie eingeladen, ein Problem zu erstellen.
Setzen Sie die Erstellung von Webseiten ein , ohne Programmiersprachen zu mischen oder Logik in Ihr HTML zu geben (wie in Vorlagen).
Erstellen modularisierter Websites mit wirklich isolierten und wiederverwendbaren Komponenten/Modulen, z. automatisch CSS und JavaScript benennen
Bereitstellung einer Standardimplementierung einer Ordnerhierarchie für einfache Ressourcenverwaltung und Möglichkeit , zwischen verschiedenen Projekten zu teilen
Das Beste aus beiden Welten, die Server -Seitenwiedergabe und die Client -Seitenanwendungslogik erhalten
Minimierung der Ladezeiten der Seite (z. B. FCP und TTI)
Kein HTML -Boilerplate -Code
Anwenden von SEO -Best Practices bereits im Entwicklungseinbau so viel wie möglich
❗ Lewp ist kein Webserver. Es ist eine Bibliothek, die Sie dabei unterstützt, Ihre Algorithmen zu strukturieren, die sie perfekt zu Ihrer Ansicht in Einklang bringen, ohne dass Ihr Code chaotisch wird! Es integriert sich perfekt in Frameworks wie Rakete, Actix-Web oder Axum.
Weitere Beispiele mit Kommentaren finden Sie in den Beispielen der Repositories.
use lewp :: {
component :: { Component , ComponentId , ComponentModel } ,
html :: {
api :: { h1 , text } ,
Node ,
} ,
page :: { Page , PageId , PageModel } ,
view :: PageView ,
} ;
struct HelloWorld {
data : String ,
}
impl HelloWorld {
pub fn new ( ) -> Self {
Self {
data : String :: from ( "Hello World!" ) ,
}
}
}
impl ComponentModel for HelloWorld {
type Message = ( ) ;
fn id ( & self ) -> ComponentId {
"hello-world" . into ( )
}
fn main ( & mut self ) { }
fn view ( & self ) -> Option < Node > {
Some ( h1 ( vec ! [ text ( & self . data ) ] ) )
}
}
struct HelloWorldPage ;
impl PageModel for HelloWorldPage {
fn id ( & self ) -> PageId {
"hello-world-page" . into ( )
}
fn main ( & self , view : & mut PageView ) {
let mut comp = Component :: from ( HelloWorld :: new ( ) ) ;
view . push ( & mut comp ) ;
}
}
fn main ( ) {
simple_logger :: init ( ) . unwrap ( ) ;
let page = Page :: from ( HelloWorldPage { } ) ;
let executed_page = page . main ( ) ;
println ! ( "{}" , executed_page . render ( ) ) ;
} <link> eingefügt werdenPageModel und ComponentModelSofern nicht ausdrücklich angegeben, ist ein Beitrag, der absichtlich zur Aufnahme in dieses Projekt eingereicht wird, wie in der Lizenz von Apache-2.0 definiert, ohne zusätzliche Bedingungen doppelt lizenziert.
Bitte werfen Sie einen Blick auf die Richtlinien und Konventionen.
Lizenziert unter einem von
nach Ihrer Option.