Этот пост будет служить кратким обзором веб-разработки с HHVM и Hack. Это первая из многих статей, посвященных веб-разработке с помощью HHVM и Hack.

Обзор

Фреймворки стимулируют веб-разработку. Они абстрагируются от утомительной работы, связанной с программированием веб-сервера, и оставляют самое необходимое программисту: определение маршрутов, обработку моделей и написание бэкэнд-логики. Одними из самых популярных сегодня фреймворков являются Django, Node.js, Ruby on Rails и Laravel для PHP. Однако редко обсуждают HHVM и Hack.

HHVM или HipHop Virtual Machine - это виртуальная машина, разработанная Facebook для PHP, которая обеспечивает лучшую производительность, чем традиционные интерпретаторы PHP для Интернета. HHVM может это сделать, потому что он превращает код PHP в скомпилированный код, который работает быстрее, чем интерпретируемый код. Hack - это язык программирования, построенный на PHP для HHVM. Hack обеспечивает проверку типов, что сокращает время, затрачиваемое на отладку, и повышает безопасность вашего кода. Он также имеет отличную поддержку асинхронного кода, который помогает масштабировать ваш код.

Главный недостаток HHVM и Hack в том, что он не так популярен, как другие фреймворки. Исторически это могло быть связано со сложностью развертывания веб-приложения, построенного на HHVM и Hack. Однако это становится все менее и менее актуальным, поскольку такие сайты, как Heroku, теперь поддерживают приложения HHVM и Hack. Не говоря уже о том, что HHVM и Hack были созданы Facebook, поэтому оба они постоянно улучшаются компанией, ориентированной на Интернет.

Установка

В этом руководстве мы установим Hack и HHVM и запустим простой веб-сервер с надписью Hello World! Не волнуйтесь, если вы не все понимаете сейчас, в будущих публикациях будет объяснен каждый написанный фрагмент кода. Чтобы запускать программы взлома, нам нужно установить HHVM. Установить HHVM проще всего для Linux и MacOS. Установить HHVM для Windows непросто. Я написал руководство, как это сделать, здесь: https://medium.com/@mikeabelar/web-development-with-hhvm-and-hack-getting-setup-with-windows-a046ac09603a

Вы хотите установить готовые пакеты.

После установки убедитесь, что HHVM установлен, набрав

hh_client

в терминал. Он должен вернуть ошибку, говоря, что не может найти файл .hhconfig.

Написание Hello World

Создайте новую папку для своего приложения Hello World. Начнем с создания файла .hhconfig:

touch .hhconfig

Файл hhconfig - это файл настроек проекта для вашего хакерского проекта. Мы не будем рассматривать этот файл в этом руководстве.

Затем создайте файл .hh (расширение файла, используемое для файлов взлома) под названием index.hh:

touch index.hh

Затем вставьте в файл следующее содержимое:

<?hh // strict
<<__EntryPoint>>
function main(): noreturn {
 print("Hello, world!\n");
 exit(0);
}

‹? Hh объявляет, что файл будет файлом взлома (в отличие от файла php). Это необходимо для каждого файла Hack с расширением .hh. Комментарий «// strict» сообщает HHVM, какой режим использовать при проверке типа файла Hack. Объявленный нами строгий режим улавливает большинство нарушений стиля кода и безопасности.

ПРИМЕЧАНИЕ. В качестве альтернативы мы могли бы вызвать файл index.hack (и использовать расширение .hack), и нам не понадобилась бы эта первая строка с ‹? Hh // strict (поскольку теперь мы используем расширение файла .hack). Однако я хотел показать вам старый способ объявления файлов взлома. В дальнейшем мы будем использовать .hack в качестве расширения файла.

Основной блок кода:

<<__EntryPoint>>
function main(): noreturn {
 print("Hello World!");
 exit(0);
}

печатает «Hello World!»

<<__EntryPoint>> сообщает компилятору, что под этой строкой находится функция, запускаемая при выполнении программы.

function main(): noreturn { определяет функцию с именем main. Как отметил : noreturn, функция ничего не возвращает. Примечание: нам не нужно, чтобы функция вызывалась main для запуска кода (в отличие от других языков, таких как Java).

print("Hello World!\n"); Фактически печатает «Hello World!». Наконец, выходим из программы с exit(0);

Запуск кода:

Перед запуском нашего кода мы должны убедиться, что средство проверки типов не обнаружило никаких проблем с нашим кодом, запустив:

hh_client index.hh

Он должен запустить сервер проверки типов на вашем компьютере, а затем сообщить: «Ошибок нет!»

Теперь нам нужно запустить наш сервер, чтобы мы могли увидеть результат в нашем веб-браузере. Запустить:

hhvm -m server -p 8080

Это запустит локальный сервер на порту 8080. Затем откройте веб-браузер и перейдите по адресу http: // localhost: 8080 / index.hh

Тебе следует увидеть:

И вот так! Мы написали веб-страницу с надписью Hello World! в Hack!

В следующем уроке мы начнем изучение Hack с выражения: https://medium.com/@mikeabelar/web-development-with-hhvm-and-hack-expressions-c038182a9367