Этот пост будет служить кратким обзором веб-разработки с 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