
LEWP es un marco de representación del sitio web del lado del servidor que le permite usar el poder algorítmico completo de la óxido para la creación de sitios web HTML5 técnicamente válidos.
Su enfoque difiere de la mayoría de los marcos populares actualmente disponibles al no usar plantillas, JSX u otra sintaxis personalizada que mezcle idiomas. Esto evita que su código se vuelva desordenado en espagueti inconsciente.
Mediante su enfoque de identificación único de páginas, componentes y recursos, LEWP acelera el desarrollo de su próximo sitio web y facilita el mantenimiento incluso cuando no tocó su código fuente durante un período de tiempo más largo.
Gracias a la implementación de la jerarquía de archivos de Lewp, estructurar sus recursos nunca ha sido más fácil. Incluso se compilan en el binario final, por lo que no tiene que preocuparse por perder los recursos en la implementación por más tiempo. Sus componentes CSS y JavaScript se aislan e integran automáticamente en su página web, por lo que no más desgarrar el cabello sobre la optimización de sus etiquetas <script> y <link> . Encontrará más simplificaciones y optimizaciones para la creación de su sitio web mientras exploras LEWP.
Genere su sitio web HTML5 técnicamente optimizado y siempre válido sin perder la comodidad y flexibilidad algorítmica.
Esta caja está evolucionando actualmente. Los cambios de ruptura de API pueden ocurrir en cualquier momento hasta V1.0.0. Las advertencias de compiladores se utilizan actualmente como recordatorios de desarrollo y se eliminarán lo antes posible.
Esta es la implementación de óxido ajustada de la versión PHP de LeWP.
Si tiene preguntas, desea contribuir o tener cualquier otro tipo de solicitud, su invitado a crear un problema.
Simplefying la creación de páginas web sin mezclar lenguajes de programación o poner lógica en su HTML (como se hace en plantillas)
Creación de sitios web modularizados con componentes/módulos verdaderamente aislados y reutilizables , por ejemplo. CSS y JavaScript de nombres automáticamente
Proporcionar una implementación predeterminada de una jerarquía de carpetas para una fácil gestión de recursos y posibilidades de compartir entre diferentes proyectos
Obtener lo mejor de los mundos, la representación del lado del servidor y la lógica de la aplicación del lado del cliente
Minimización de los tiempos de carga de la página (por ejemplo, FCP y TTI)
No hay código HTML Boilerplate
Aplicar las mejores prácticas de SEO ya en la configuración del desarrollo tanto como sea posible
❗ LEWP no es un servidor web. Es una biblioteca que lo admite para estructurar sus algoritmos que los ponen perfectamente en línea con su vista, ¡sin dejar que su código se vuelva desordenado! Se integra perfectamente con marcos como Rocket, Actix-Web o Axum.
Para más ejemplos con comentarios, eche un vistazo a los ejemplos de repositorios.
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>PageModel y ComponentModelA menos que se indique explícitamente, cualquier contribución presentada intencionalmente para su inclusión en este proyecto, como se define en la licencia Apache-2.0, se debe tener licencia dual como a continuación, sin ningún término o condiciones adicionales.
Eche un vistazo a contribuir. MD para pautas y convenciones.
Con licencia bajo cualquiera de
a tu opción.