Smart.Framework: un marco PHP / JavaScript práctico, moderno y de alto rendimiento para la web con MiddleWares + MVC
Dual licenciado: bajo licencia BSD o licencia GPLV3 (en su elección)
Este proyecto de software es de código abierto.
Debe elegir qué licencia usar dependiendo de su caso de uso: licencia BSD o licencia GPLV3
(c) 2008-Presente unix-world.org / [email protected]
| |
|---|
| URL de demostración: | http://demo.unix-world.org/smartframework/ |
| Descargar URL: | https://github.com/unix-world/smart.framework |
| Descargar módulos URL: | https://github.com/unix-world/smart.framework.modules |
Smart.Framework Design Filosofía:
- Un emproacho muy pragmático y práctico: un marco web práctico para personas prácticas
- Basado en una experiencia previa de más de 17 años de desarrollo de proyectos web, investigación y experimentos utilizando tecnologías web
- Enfoque orientado a la web: para ofrecer una plataforma sólida y segura para crear sitios web o aplicaciones basadas en la web para clientes web, escritorios y móviles
- Código de limpieza: patrón de código MVC con inyección de dependencia incorporada
- Arquitectura híbrida : múltiples niveles combinados con la arquitectura MiddleWares para proporcionar un servicio web flexible y receptivo
- Arquitectura modular : admite la creación de módulos reutilizables (también hay muchos módulos llave en mano disponibles en Smart.Framework.Modules)
- Bibliotecas totalmente desacopladas : el núcleo de marco está utilizando bibliotecas independientes (desacopladas) ( sin dependencias de terceros )
- Separación del espacio de nombres en módulos para: modelos, vistas, controladores y bibliotecas
- Fácil de integrar con bibliotecas de terceros (proveedores)
- Servicios nativos del servidor en la nube (incorporado) , como módulo para: WebDav Server, Caldav Server, CardDav Server
- Proveedor de cliente nativo de la nube (incorporado) , como biblioteca para el acceso HTTP / HTTPS que admite la gama completa de métodos / solicitudes HTTP: obtener, publicar, poner, eliminar, ...
- Enrutador nativo basado en enlaces de URL inteligentes: /?page=my-module.sample que se puede usar como /?/page/my-module.sample o /?/Page/sample if (my-module es un paquete predeterminado)
- Se integra con Apache Rewrite para usar enlaces amigables con SEO como /sample.html en lugar del enlace tradicional /?page=my-module.sample o Smart Link /?/page/my-module.sample/
Fácil desarrollar sus proyectos web con Smart.Framework
El objetivo principal de Smart.Framework es proporcionar un marco web muy práctico, rápido y seguro. Siguiendo esta filosofía Smart. El marco de marco proporciona un equilibrio óptimo entre las habilidades de codificación aceptables y el rendimiento entregado.
Es un marco web PHP / JavaScript Ligero, pero LATA , se está utilizando y probando de manera proactiva en varios proyectos web de alta gama que realmente pueden servir a muchos millones de vistas de página por mes con un solo servidor físico . La arquitectura de software original de este marco web le permite entregar una paradoja:
- Tiene características incorporadas más predeterminadas en la base de código que los marcos conocidos en comparación con Codeigniter, Symfony o Laravel
- Ofrece mucho más rendimiento entre 1.5x y 4x más rápido (como las solicitudes HTTP / segundo) en comparación con Codeigniter, Symfony o Laravel
- Cuando se usa con caché persistente basado en DB en memoria como Redis o Memcache, supera a los barniz en muchos aspectos:
- ofrece ~ la misma velocidad que el barniz pero permite la política de almacenamiento en caché de nivel granular en los controladores
- Funciona también con https (por ejemplo, el barniz no)
- Las políticas de almacenamiento en caché se pueden controlar para caducar según el contenido / obtención de las variables de contenido o publicar incluso con cookies cambiantes
Este marco de software es compatible, estable y se prueba activamente con versiones PHP 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4.
La versión PHP preferida es: 8.2 (LTS).
Escenario de referencia:
Usando un controlador simple (sin almacenamiento en caché) que sale: 'Hello World' el punto de referencia se estaba ejecutando usando Apache Benchmark Suite con el siguiente comando: ab -n 5000 -c 250 http://{localhost}/{framework}/{benchmark-page} Plataforma de hardware : un servidor físico (Supermicro)::::::
- 2 x Intel (R) Xeon (R) CPU E5-2699 V4 @ 2.20GHz 64 bits (total: 44 núcleos / 88 hilos)
- 512 GB RAM , DDR4 ECC @ 2133 MHz
- HDD 2 x 1TB SSD/NVME
Software :
- OS: Debian 12 Linux 64 bits , actualizado
- Aplicaciones: Apache 2.4.62 , PHP 8.2.26 con Opcache habilitado
Resultados de referencia de los marcos PHP probados:
- Smart.framework v.8.7 [email protected] con la plantilla de MarkerStpl: ~ 8.878k (8878) solicitudes por segundo
- Codeigniter v.4.5 con plantillas de PHP: ~ 5.864k (5864) solicitudes por segundo ( 1.5x más lento que Smart.Framework )
- Symfony 7.2 con plantilla de ramita: ~ 2.763k (2763) solicitudes por segundo ( 3 veces más lento que Smart.Framework )
- Laravel 11.4 con plantilla de cuchilla: ~ 2.214k (2214) solicitudes por segundo ( 4 veces más lento que Smart.Framework )