NodeStudio - Визуальная среда программирования и транслятор, спроектированные чтобы максимально упростить и ускорить процесс обучения PHP. Вместо классических схем(которые можно везде встретить в визуальном программировании) используется узловая система(на манер Game Maker), максимально приближенная к написанным "классическим" способом программам. Проще говоря - вы кнопочками создаёте конструкции из доступных компонентов, а транслятор преобразует это в чистый PHP код, не зависящий ни от сторонних VM, ни от каких либо библиотек. Вы получаете готовый код, который можете подключить куда нибудь ещё.
Транслятор и редактор написаны полностью на PHP и позволяют писать скрипты визуально даже с задристаных нокий. Как уже сказано ранее, весь процесс программирования сводится к тасканию компонентов и редактировании их свойств.
И транслятор, и редактор полностью бесплатные и со свободной лицензией - например, вы можете поставить NodeStudio себе на хостинг и не платить никаких отчислений. Или к себе на сайт, чтобы иметь возможность с любого места редактировать сайт.
Библиотека компонентов расширяема, и может быть дополнена сторонними библиотеками, благо написать свой компонент очень просто. Пример компонента, который выведет сообщение в браузер пользователя:
Под спойлерами трафик:


На затравку:
https://www.youtube.com/watch?v=h48YE6ALdPE&feature=youtu.be
Транслятор и редактор написаны полностью на PHP и позволяют писать скрипты визуально даже с задристаных нокий. Как уже сказано ранее, весь процесс программирования сводится к тасканию компонентов и редактировании их свойств.
И транслятор, и редактор полностью бесплатные и со свободной лицензией - например, вы можете поставить NodeStudio себе на хостинг и не платить никаких отчислений. Или к себе на сайт, чтобы иметь возможность с любого места редактировать сайт.
Библиотека компонентов расширяема, и может быть дополнена сторонними библиотеками, благо написать свой компонент очень просто. Пример компонента, который выведет сообщение в браузер пользователя:
<?php
class AlertNode extends BaseNode
{
public function process()
{
return sprintf("echo '<script>alert("%s");</script>';", $this->getAttribute("message");
}
}
class AlertNodeFactory extends NodeFactory
{
public function getName()
{
return "Alert";
}
public function instantiate($blueprint)
{
return new AlertNode($blueprint, $this);
}
public function queryAttributeList()
{
return array(array("name" => "message", "required" => true));
}
}
NodeList::registerFactory(new AlertNodeFactory);
Под спойлерами трафик:
Осторожно, спойлер


На затравку:
https://www.youtube.com/watch?v=h48YE6ALdPE&feature=youtu.be