Depuis des années, le PHP a été la norme du développement web côté serveur. Mais un développeur de Netflix propose aujourd’hui une variante du PHP plus facile à utiliser et plus sécurisée toujours basée sur « les bons éléments » du PHP. Appelé OWL, pour OWL Web Language, le langage offre une syntaxe équivalente au JavaScript et compile en PHP. Encore en version bêta, OWL est plus adapté aux apps mono serveur et n’a pas pour objectif de remplacer le PHP. « OWL apporte une interface plus sécurisée, mais le moteur sous-jacent ne change pas », a déclaré le développeur de Netflix, Joe Lesko. « Cependant, j’ai pu constater au fil du temps que de plus en plus de développeurs préféraient OWL au PHP brut, en particulier pour les projets de développement unique ». Selon le développeur qui a publié un mode d’emploi de son langage, il serait possible d’incorporer les caractéristiques de OWL dans PHP.

Selon la documentation de OWL, le PHP comporte beaucoup de points forts, à commencer par sa facilité d’apprentissage par les programmeurs novices, l’absence d’étapes de construction et son importante bibliothèque de commandes intégrées. Mais il présente également des lacunes, notamment une bibliothèque standard « désorganisée », des trous de sécurité et une approche incohérente de la gestion des erreurs. OWL, qui met en avant une syntaxe semblable à JavaScript, promet plus de sécurité et de cohérence. Selon Joe Lesko, le langage pourrait faire polémique, puisqu’il n'offre aucun onglet et seulement des espaces, des chaînes à guillemets simples et aucune instruction Switch ou While comme dans Java.

Un maximum de protections par défaut 

OWL comprend un framework Web qui inclut un routeur ainsi qu'un système de template pour intégrer du contenu HTML et d'autres contenus dans les scripts. Pour éviter les scripts intersites (XSS), la fonction template du système se soustrait automatiquement aux expressions OWL. Le mode de gestion des scripts a été volontairement renforcé pour protéger le langage contre une source majeure de vulnérabilités Web. « C’est vraiment difficile, même pour des développeurs expérimentés, de couvrir toutes les possibilités et je pense qu'il est important qu’un langage Web offre le maximum de protections par défaut ». Par exemple, OWL envoie automatiquement les en-têtes CSP (Content Security Policy) pour éviter les scripts client malveillants et nécessite LockStrings, un nouveau type de chaîne modélisée pour des opérations sensibles comme les requêtes de base de données et les appels système.

Parmi les autres fonctionnalités d'OWL, le développeur cite le langage de balisage Litemark pour écrire du contenu et une feuille de style de base avec un système de grille Flexbox et des icônes SVG. OWL est capable de compiler vers les versions PHP 5.6-plus et 7.0. Joe Lesko prévoit d’ajouter plus tard à son langage la gestion et la validation sécurisée des formulaires et un support de session. Celui-ci pourrait aussi ajouter le support de Windows et la mise en cache des actifs. À l'heure actuelle, OWL fonctionne sous MacOS et Linux. À noter au passage que, malgré une similitude des acronymes, le langage Web OWL n’a rien à voir pas avec le Web Ontology Langage du WC3. Joe Lesko a déclaré qu’il n’avait pas pensé à une méprise possible entre les deux, mais qu’il trouverait un moyen de clarifier le nom, si la confusion persistait.