Smart.Framework: un framework PHP / JavaScript pratique, moderne et haute performance pour le Web avec Middlewares + MVC
Double licence: sous licence BSD ou licence GPLV3 (à votre choix)
Ce projet logiciel est open source.
Vous devez choisir la licence à utiliser en fonction de votre cas d'utilisation: licence BSD ou licence GPLV3
(c) 2008 - Présent Unix-world.org / [email protected]
| |
|---|
| URL de démonstration: | http://demo.unix-world.org/smart-framework/ |
| Télécharger l'URL: | https://github.com/unix-world/smart.framework |
| Télécharger l'URL des modules: | https://github.com/unix-world/smart.framework.modules |
Smart.Framework Design Philosophie:
- Un aperçu très pragmatique et pratique: un cadre Web pratique pour les personnes pratiques
- Basé sur une expérience antérieure de plus de 17 ans de développement de projets Web, de recherche et d'expériences utilisant des technologies Web
- Approche orientée Web: pour offrir une plate-forme solide et sécurisée pour créer des sites Web ou des applications Web pour les clients Web, les ordinateurs de bureau et les mobiles
- Code propre: modèle de code MVC avec injection de dépendance intégrée
- Architecture hybride : multi-niveaux combinés à l'architecture MiddleWares pour fournir un service Web flexible et réactif
- Architecture modulaire : support Création de modules réutilisables (il existe également de nombreux modules clés en main disponibles dans smart.framework.modules)
- Bibliothèques découplées complètes : le noyau du cadre utilise des bibliothèques indépendantes (découplées) ( pas de dépendances tierces )
- Séparation de l'espace de noms dans les modules pour: modèles, vues, contrôleurs et bibliothèques
- Facile à intégrer avec les bibliothèques tierces (vendeurs)
- Services Native Cloud Server (intégrés) , comme module pour: Webdav Server, Caldav Server, CardDav Server
- Proviseur de clients cloud natif (intégré) , en tant que bibliothèque pour l'accès HTTP / HTTPS qui prend en charge la gamme complète de méthodes / demandes HTTP (S): obtenir, publier, mettre, supprimer, ...
- Routeur natif basé sur des liens d'URL intelligents: /?page=my-module.sample qui peut être utilisé comme / ?/page/my-module.sample ou /? / Page / échantillon si (my-module est un bundle par défaut)
- S'intégre à Apache Rewrite pour utiliser des liens conviviaux SEO comme /sample.html au lieu d'un lien traditionnel /?page=my-module.sample ou un lien intelligent /?/page/my-module.sample/
Développez facile vos projets Web avec Smart.Framework
Le principal objectif de Smart.Framework est de fournir un cadre Web très pratique, rapide et sécurisé. Suivant cette philosophie Smart.Framework fournit un équilibre optimal entre les compétences de codage acceptables et les performances livrées.
C'est un framework Web PHP / JavaScript léger, mais la fonctionnalité PHP / JavaScript, mature et stable , il est utilisé de manière proactive et testée dans plusieurs projets Web haut de gamme qui peuvent vraiment servir plusieurs millions de pages vues par mois avec un seul serveur physique ! L'architecture logicielle originale de ce cadre Web lui permet de fournir un paradoxe:
- Il a plus de fonctionnalités intégrées par défaut dans la base de code que les frameworks bien connus par rapport à CodeIgniter, Symfony ou Laravel
- Il offre beaucoup plus de performances entre 1,5x et 4x plus rapidement (comme les demandes HTTP / seconde) par rapport à CodeIgniter, Symfony ou Laravel
- Lorsqu'il est utilisé avec un cache persistant basé sur la base de données en mémoire comme Redis ou Memcache, il bat le vernis à bien des égards:
- délivre ~ la même vitesse que le vernis mais permet une politique de mise en cache de niveau granulaire des zones dans les contrôleurs
- Fonctionne également avec HTTPS (par exemple, le vernis ne le fait pas)
- Les politiques de mise en cache peuvent être contrôlées pour expirer en fonction du contenu / get ou des variables post-variables, même avec la modification des cookies
Ce cadre logiciel est compatible, stable et activement testé avec les versions PHP 7.4 / 8.0 / 8.1 / 8.2 / 8.3 / 8.4.
La version PHP préférée est: 8.2 (LTS).
Scénario de référence:
Utilisation d'un contrôleur simple (pas de mise en cache) qui sortira: 'Hello World', le benchmark fonctionnait en utilisant la suite de référence Apache avec la commande suivante: ab -n 5000 -c 250 http://{localhost}/{framework}/{benchmark-page} Plateforme matérielle : un serveur physique (SuperMicRo):
- 2 x Intel (R) Xeon (R) CPU E5-2699 V4 @ 2,20 GHz 64 bits (total: 44 cœurs / 88 threads)
- 512 Go Ram , DDR4 ECC @ 2133 MHz
- HDD 2 x 1 To SSD / NVME
Logiciel :
- OS: Debian 12 Linux 64 bits , à jour
- Applications: Apache 2.4.62 , PHP 8.2.26 avec Opcache activé
Résultats de référence des cadres PHP testés:
- Smart.framework v.8.7 [email protected] avec des modèles de MarkerSPL: ~ 8.878K (8878) Demandes par seconde
- Codeigniter V.4.5 avec des modèles PHP: ~ 5,864K (5864) Demandes par seconde ( 1,5x plus lentement que Smart.Framework )
- Symfony 7.2 avec des modèles de brindilles: ~ 2,763K (2763) Demandes par seconde ( 3x plus lentement que Smart.framework )
- Laravel 11.4 avec des modèles de lame: ~ 2,214k (2214) Demandes par seconde ( 4x plus lentement que Smart.Framework )