Hoa est un ensemble de bibliothèques PHP puissantes, rapides, hautement modulaires, sûres, sécurisées, innovantes et respectueuses des standards, sous New BSD License.
Hoa est également un pont entre le monde de la recherche et le monde de l'entreprise.
Bibliothèque
Hoa est découpé en bibliothèques regroupées autour d'un noyau. Hoa propose un mécanisme (Hoathis) pour créer vos propres bibliothèques autour de ce même noyau et ainsi assurer la même qualité que les bibliothèques natives.
from('Hoathis') -> import('MyStream.Write');
event('hoa://Event/Log/Test/Praspel')->attach(
new Hoathis\MyStream\Write()
);
Modularité
Le noyau de Hoa s'assure de la modularité en gérant toutes les dépendances, importations, paramétrages, chemins abstraits etc.
from('Hoa') -> import('File.Read');
$file = new Hoa\File\Read(
'hoa://Data/Temporary/Foo.txt'
);
Rapidité et puissance
Hoa requiert PHP 5.3 minimum, la plus puissante des versions de PHP. De plus, Hoa est optimisé selon les complexités algorithmiques et l'espace mémoire. Enfin, des bibliothèques proposent plusieurs systèmes de caches à plusieurs niveaux : PHP, base de données, gateway etc.
Innovation
Hoa s'efforce de constamment innover. L'objectif est d'offrir le maximum de puissance à l'utilisateur de la manière la plus intuitive possible. De plus, Hoa est utilisé pour des recherches au LIFC et à l'INRIA. Cela se répercute sur les solutions que proposent Hoa.
- XYL : langage d'interface graphique ;
- Praspel : langage de spécification ;
- zFormat : langage de paramétrage.
Sécurité
Des travaux de recherche concernant les tests sont développés dans Hoa. On trouve entre autre un générateur automatique de tests unitaires. Un rapport de recherche et des articles ont été publiés.
/**
* @requires i: even(boundinteger(0, 53)) and
* j: array([to boolean()], 7);
* @ensures \result: boolean();
* @throwable FooException;
*/
Standards
Hoa participe entre autre au W3C dans les groupes de travail HTML, CSS et WebApp. Hoa est très respectueux de ces normes, ainsi que celles du RFC, ISO, POSIX etc ; ce qui assure une homogénéité, interopérabilité et pérennité de vos projets.



