Категории
Уведомление:подпишитесь Заходите к нам в Telegram-чат
Skripters » Персональные блоги » zbkm » JPHP #0 - Вводный урок

JPHP #0 - Вводный урок

zbkm
Опубликовано 11-06-2021, 22:17

В данном цикле статей я постараюсь подробно рассказать о JPHP. 

Первая статья, как полагается, вводная - рассмотрим хелло ворлд.

Собственно, JPHP - это реализация php для виртуальной машины Java. Что позволяет писать не только бэкенд для веб-приложений и скрипты, но и в том числе нативные приложения для ПК, и даже для android. 
Помимо этого существует IDE для разработки приложений на jphp - DevelNext, но в этом цикле статей она рассматриваться не будет.
На данный момент, текущей поддерживаемой версией можно назвать php 7.1 (с поддержкой различных возможностей php 7.2, 7.3 и 7.4). Но в любом случае, большинство пакетов для обычного php поддерживаться не будут. И можно забыть про composer, но для jphp есть свой менеджер пакетов - jppm, хоть и без такого обильного количества пакетов.
Разработчики помимо этого обещают более быструю работы по сравнению с обычным php в некоторых операциях - ссылка на тесты

Для работы с jphp достаточно установить менеджер пакетов jppm.

Основные команды для jppm:
jppm init - создать новый проект в текущей директории
jppm add %package_name% - добавить в проект и установить проект
jppm remove %package_name%
jppm start
jppm build
Для начала создадим новый проект. Структура файлов будет следующая:
JPHP #0 - Вводный урок

И, как вы уже догадались, весь код на текущий проект хранится в файле index.php. Его содержимое следующее:
Да, это обычный hello world, всё так банально. В вводном уроке даже строчки кода не потребуется писать. Запустим проект. При первом запуске или компиляции будут скачены все зависимости.jppm start
-> win
-> app:run
-> install
-> get versions of package jphp-core, source: http://api.develnext.org
-> get versions of package jphp-runtime, source: http://api.develnext.org
-> get versions of package jphp-zend-ext, source: http://api.develnext.org
-> get versions of package jphp-json-ext, source: http://api.develnext.org
-> install jphp-core@1.3.1
--> install jphp-runtime@1.3.1
-> install jphp-zend-ext@1.1.0
--> install jphp-json-ext@1.0.0
Hello World

Если попробовать скомпилировать приложение, то структура файлов станет следующей:



Теперь рассмотрим структуру файлов повнимательнее

  • build- папка с собранным проектом
    • Помимо самого jar файла так-же есть sh и bat скрипт для запуска. Так-же, следует обратить внимание, что все библиотеки не собраны в один jar файл, а находятся в отдельном каталоге. При желании, можно собрать приложение в виде одного jar файла с помощью one-jar. Помимо этого, если открыть jar файл как архив, то всё содержимое исходного кода приложения можно будет увидеть

      У jphp есть возможность компиляции программы в байт-код, это не только защитит исходный код программы, но и в том числе позволить увеличить скорость выполнения программы. Но об этом подробнее будет в следующих статьях.
  • src - папка с исходным кодом программы
  • vendor - папка с зависимостями
  • package.php.yml - конфиг. Помимо конфигурации программы тут так-же записаны все зависимости. 
В следующих частях сети будут рассмотрены более сложные темы, как создание графического интерфейса, многопоточность, работа с стандартными библиотеками.
Понравилось?
0
0
2
1 524
0