Facebook veut construire un meilleur PHP avec Hack. Spoiler c'est vraiment bien.

Facebook veut construire un meilleur PHP avec Hack. Spoiler c'est vraiment bien. / Wordpress & Développement Web

Il y a 10 ans, dans un dortoir de Harvard, Facebook a été lancé. Au départ, Mark Zuckerberg s'attaquait à une base de code composée exclusivement de code PHP. Comment fonctionne Facebook? The Nuts and Bolts [Technologie expliquée] Comment fonctionne Facebook? The Nuts and Bolts [Technologie expliquée] En savoir plus, interagir avec une base de données MySQL.

Depuis lors, sa taille a explosé, tant pour les utilisateurs que pour les développeurs travaillant sur un code de base en croissance constante. Il est vite devenu évident que même si PHP était un excellent langage pour démarrer Facebook, il ne convenait plus aux besoins de la société..

C'est ainsi qu'ils ont créé Hack, un langage spécialement conçu pour permettre un développement plus rapide, des équipes de développement plus importantes, tout en maintenant une interopérabilité totale avec le langage de programmation PHP très répandu. Apprendre à construire avec PHP: Un cours intensif est la langue utilisée par Facebook et Wikipedia pour répondre quotidiennement à des milliards de demandes. le langage de facto utilisé pour enseigner aux gens la programmation Web. C'est magnifiquement simple, mais brillamment puissant. Lire la suite .

L’accueil de Hack par la communauté du développement n’a été que magnifique. Les gens sont extrêmement enthousiastes à l'idée d'un langage rapide, mais facile à développer tout en maintenant une compatibilité ascendante avec les nombreuses bibliothèques PHP existantes..

Voici tout ce que vous devez savoir sur l'installation de Hack, ainsi que sur la maîtrise de la langue..

Quel est si spécial à propos de Hack?

Excellente question. Vous savez probablement que certains langages de programmation sont compilés en code octet qui s'exécutent sur une machine virtuelle spéciale (telle que Java et Clojure), tandis que d'autres langages (tels que PHP, Ruby et Python) s'exécutent dans un interpréteur..

Vous savez probablement aussi que les langages interprétés sont intrinsèquement plus lents que les langages qui produisent du code octet spécifiquement optimisé pour les machines virtuelles sur lesquelles ils s'exécutent. C'est pour cette raison qu'il existe des dialectes de Python et de Ruby (appelés respectivement Jython et JRuby) qui s'exécutent sur la machine virtuelle Java. Qu'est-ce que la machine virtuelle Java et comment fonctionne-t-il? Qu'est-ce que la machine virtuelle Java et comment fonctionne-t-il? Bien qu'il ne soit pas strictement nécessaire de savoir que cela fonctionne pour programmer en Java, il est toujours bon de le savoir, car cela peut vous aider à devenir un meilleur programmeur. Lire la suite .

Hack s'exécute uniquement sur sa propre machine virtuelle, appelée machine virtuelle Hip Hop. C'est cette machine virtuelle qui a été utilisée par Facebook pour s'adapter à des milliards d'utilisateurs quotidiens..

Hack est plus que la VM sur laquelle il tourne. Il est également livré avec des annotations de type, vous permettant de déclarer des variables en fonction du contenu qu'elles vont stocker (chaîne, entier, booléen), des fonctions lambda (anonymes) ainsi que des génériques..

Installer Hack

J'ai de mauvaises nouvelles pour les utilisateurs d'OS X et de Windows. Hack ou ne fonctionne pas sur ces plateformes, ou le support est tellement instable qu'il ne vaut pas la peine d'en discuter. Au lieu de cela, vous devrez soit lancer un serveur virtuel privé Linux en deux minutes pour apprendre tout sur les serveurs privés virtuels en deux minutes. Avec autant de services d'hébergement Web de grande qualité, il est difficile de choisir le bon convenir à vos besoins. Lire la suite ou VM.

Par pure pure paresse, je me suis décidé à créer un VPS Linux avec Digital Ocean, qui est l’un de mes fournisseurs de VPS préférés. J'ai créé une petite gouttelette sous Ubuntu 13:10 Ubuntu 13.10 lancée avec Friends Scope, filtres Dash et plus encore Ubuntu 13.10 lancée avec Friends Scope, filtres Dash et plus système d'exploitation de bureau, Ubuntu 13.10 “Salamandre Saucy”. Lire la suite, puis installé Hack avec les commandes suivantes.

wget -O - http://dl.hhvm.com/conf/hhvm.gpg.key | sudo apt-key add - echo deb http://dl.hhvm.com/ubuntu saucy main | sudo tee /etc/apt/sources.list.d/hhvm.list sudo apt-get update sudo apt-get mise à niveau sudo apt-get install hhvm-nightly

Comme vous pouvez le voir ici, je télécharge la clé GPG pour les référentiels Hack; ajoutez le référentiel à ma liste de sources; mettre à jour les définitions de mes sources; mettre à niveau mon système puis installer Hack. Simple, vraiment.

Piratage avec Hack

Maintenant, il est temps d'écrire du code Hack. Nous allons commencer avec le programme "Hello World" qui a fait ses preuves. Celui-ci ne fonctionnera pas dans un navigateur Web, mais imprimera plutôt "Hello World" sur la console.

Créez un nouveau fichier appelé HelloWorld.php (oui, pour une raison quelconque, Hack insiste sur l’utilisation de .php comme extension de fichier par défaut) dans votre éditeur de texte préféré (VIM est ma préférence. Les 7 meilleures raisons de donner une chance à l’éditeur de texte Vim Les 7 meilleures raisons de donner une chance à l’éditeur de texte Vim Pendant des années, j’ai essayé un texte. rédacteur après rédacteur en chef. Vous le nommez, j’ai essayé. J’ai utilisé chacun de ces rédacteurs pendant plus de deux mois comme rédacteur principal au quotidien.… En savoir plus) et d’ajouter les lignes suivantes.

Qui devrait imprimer Bonjour le monde à la console quand couru avec 'hhvm', comme si.

Bon, essayons de lancer un programme de piratage dans le navigateur. Premièrement, nous devrons installer Apache et PHP. J'ai déjà abordé ce sujet dans un article précédent Signed Up for SSH only Web Hosting? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web ayant souscrit un hébergement Web réservé à SSH? Ne vous inquiétez pas - installez facilement n'importe quel logiciel Web Vous ne savez pas tout du tout comment utiliser Linux via sa puissante ligne de commande? Ne vous inquiétez plus. Lisez plus, mais pour vous rafraîchir la mémoire, je vais le parcourir à nouveau. Lancer les commandes suivantes.

sudo apt-get install apache2 sudo apt-get install php5

Vous pouvez également installer Apache, PHP, MySQL et de nombreux autres utilitaires utiles avec la commande suivante. (N'oubliez pas le signe d'insertion en fin de ligne - lamp-server n'est pas un paquet unique, mais plutôt une collection)

sudo apt-get installer lampe-serveur ^

Il est recommandé de l'exécuter si vous envisagez de vous pencher de plus près sur le développement Web avec le langage de programmation Hack, car il contient de nombreux outils qui pourraient vous être très utiles..

Une fois que vous avez fait cela, redémarrez la machine virtuelle Hip Hop avec la commande suivante.

sudo /etc/init.d/hhvm start

Vérifiez qu'Apache est en cours d'exécution en ouvrant un navigateur et en vous dirigeant vers l'adresse IP de votre serveur Web. Si tout fonctionne, vous devriez voir ceci.

Génial! Maintenant, accédez à / var / www et supprimez la page que vous venez de voir (appelée 'index.html') avec les commandes suivantes.

cd / var / www rm index.html

Maintenant, créez un fichier nommé index.php et ajoutez les mêmes lignes que celles que vous aviez écrites auparavant.

Bonjour le monde

";

Une fois que vous avez fait cela, revisitez votre serveur Web avec le navigateur Web que vous avez choisi..

Comme vous pouvez le constater, il est étrange que Hack reconnaisse la fin d'une chaîne. En conséquence, je voudrais profiter de cette occasion pour vous rappeler que si cette technologie est plutôt cool, elle est toujours assez crue et peut-être pas prête pour des déploiements en production. Cependant, j'ajouterai que j'utilise la version nocturne de Hack, qui est la version la plus performante disponible. En conséquence, il ne devrait pas être trop surprenant que certaines choses ne fonctionnent pas parfaitement bien.

Si vous connaissez PHP, vous reconnaîtrez peut-être l'instruction 'Echo' que j'ai utilisée auparavant. Eh bien, Hack peut appeler n’importe quelle fonction PHP. Ici, j'appelle 'phpinfo ();' dans un programme de piratage.

Quelques fonctionnalités spécifiques au hack

Hack apporte beaucoup à la table, en ce qui concerne les nouvelles fonctionnalités linguistiques. J'ai déjà discuté de certaines d'entre elles, notamment des déclarations de type. Malheureusement, nous ne pourrons pas tout couvrir dans cet article, mais je me suis dit que ce serait peut-être une bonne idée de voir comment Hack gère les définitions de type..

Donc, pour récapituler, les définitions de type sont les endroits où vous définissez une variable en fonction du contenu qu'elle contient. Comment ça marche? Eh bien, un peu comme ça.

 

Comme vous pouvez le constater, nous commençons par la déclaration de type, suivie du nom de la variable (commençant par un signe dollar, un peu comme dans PHP traditionnel), suivie de la valeur attribuée à la variable..

Cela entre également en jeu avec les déclarations de fonction. Lorsque vous déclarez une fonction et lui transmettez un paramètre, vous devez déclarer le type de variable que vous allez lui transmettre. Si vous ne le faites pas, ou si vous passez le mauvais type de variable, attendez-vous à des lamentations et des grincements de dents.

Alors, comment ça marche dans Hack? Découvrons-le.

Créez un nouveau fichier appelé 'function.php' et écrivez les lignes suivantes.

 

Si vous avez déjà utilisé PHP, vous pourrez peut-être en déchiffrer une partie. Nous avons créé une fonction que nous avons appelée «bonjour». Nous lui passons ensuite une chaîne, qui est ensuite répercutée sur la console, à la suite du mot 'Hello'.

Mais qu'est-ce que c'est : vide bit? Eh bien, dans Hack, nous devons dire à l'ordinateur si la fonction retournera une valeur. Si ce n'est pas le cas, nous dirons que la fonction est "vide". Comme tout avec Hack, nous devons déclarer le type de valeurs qui seront retournées.

Nous exécutons ensuite ce code avec l’application en ligne de commande 'hhvm', et nous devrions voir ceci.

Conclusion

Il y a beaucoup à aimer de Hack.

C'est un langage qui vous oblige à écrire un meilleur code, tout en étant facile à comprendre et ridiculement rapide. Il bénéficie également du soutien de l'une des plus grandes entreprises de technologie du moment, qui l'utilise quotidiennement dans la production pour créer l'un des plus grands sites existants à l'échelle de millions d'utilisateurs..

Malgré cela, le langage est encore très nouveau. En fait, j’ai écrit cet article le lendemain de sa publication au public. Il est difficile de recommander à quiconque de commencer à le mettre en production dès maintenant, mais il est certain que ça va avec..

Mais c'est juste mon opinion. Voulez-vous l'essayer? Laissez-moi un commentaire ci-dessous et laissez-moi savoir ce que vous pensez.

Explorez plus sur: Apache Server, Programmation, Développement Web.