Уважаемые пользователи Голос!
Сайт доступен в режиме «чтение» до сентября 2020 года. Операции с токенами Golos, Cyber можно проводить, используя альтернативные клиенты или через эксплорер Cyberway. Подробности здесь: https://golos.io/@goloscore/operacii-s-tokenami-golos-cyber-1594822432061
С уважением, команда “Голос”
GOLOS
RU
EN
UA
evgenij-byvshev
7 лет назад

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

Вам интересно программирование, но нет времени или желания учить языки? Вы слышали что-нибудь о визуальном программировании? Его отличие от классического в том, что оно не требует знаний языков программирования высокого уровня. Нужны лишь логика и желание. Специально для такого способа «написания» программ созданы конструкторы. Сегодня я расскажу вам про один из лучших конструкторов – HiAsm.

Проект HiAsm (или Конструктор программ) – это открытое программное обеспечение, разрабатываемое сообществом русских программистов, известных под никами dilma (Дмитрий Власов, ведущий проекта), nesco (Евгений Носов), iarspider (Иван Разумов), nic (Николай Березников) и другие. Неоценимый вклад в развитие проекта вносят и простые пользователи, регулярно посещающие форум и предлагающие идеи, часть которых реализуется в последующих версиях конструктора.

HiAsm – среда визуального программирования, программы в которой не пишутся, как это делается в классических языках, а проектируются из кубиков и линий связей между ними. Каждый такой кубик представляет собой элемент, который выполняет какое-то достаточно простое и узкоспециализированное действие (например, копирует файл, проигрывает звук, складывает два числа, качает файл из Internet и т.д. и т.п.). Горизонтальные линии между элементами (или просто «связи») определяют логику будущей программы (то есть последовательность вызова событий и методов, если выражаться терминами классических языков программирования). Вертикальные же связи указывают элементам на то, какие данные откуда брать. Также у каждого элемента есть набор уникальных свойств, которые определяют особенности его функционирования (к примеру, у элемента «Кнопка» есть свойства, определяющие его положение на форме, заголовок, используемый шрифт, текст выводимой подсказки и прочие). Поэтому весь процесс конструирования сводится к расстановке элементов, протягиванию связей между ними и настройке (если необходимо) их свойств.

Посмотрим, как выглядит нарисованная таким образом программа классического «Hello, world!», которая при нажатии кнопки выводит на экран соответствующее сообщение. Внешний вид схемы, реализующей данный функционал, представлен на рисунке.

Собранное приложение состоит из двух элементов: Кнопка (Button) и Сообщение (Message), одной связи между ними (проложенную от события нажатия кнопки к методу показа сообщения) и одного измененного свойства Message (с текстом «Привет, Golos!»). Мы не пишем ни одной строчки кода, но если заглянуть в исходник, то увидим исходник, который сгенерировала HiAsm:


Make(delphi)
ver(4.05 build 186)
Add(MainForm,2953706,91,105)
{
 Width=300
 Height=100
 Caption="Golos"
 BorderStyle=1
}
Add(Button,9828681,196,140)
{
 Left=10
 Top=10
 Width=275
 Height=50
 Font=[Arial Rounded MT Bold,22,0,0,0]
 Caption="Нажми меня!"
 Data=String()
 link(onClick,1819433:doMessage,[])
}
Add(Message,1819433,357,140)
{
 Message="Привет, Golos!"
 Caption="Привет!"
 Icon=4
 DefButton=1
}

Сгенерированный код написан на языке Object Pascal, но есть и другие варианты. По сути, HiAsm представляет собой не более чем графический векторный редактор. А все его возможности по созданию приложений определяются уставленными пакетами и компиляторами. На текущий момент времени самым мощным из них является пакет Windows, использующий в качестве целевого языка Object Pascal для компиляторов FPC и Delphi.

Интуитивно понятный интерфейс

Интерфейс Конструктора программ много лет подряд дополнялся и расширялся для того, чтобы сделать работу пользователя наиболее быстрой и комфортной. Благодаря активному участию сообщества в Конструктор добавлено множество настроек, которые помогут каждому разработчику настроить среду под себя, а иногда и вовсе переписать отдельные его части используя лишь привычные и простые в понимании схемы.

Благодаря же стандартизации всех элементов и их свойств разобраться в принципах построения схемы так же не составит никакого труда и займет гораздо меньше времени, чем знакомство с любым даже самым простым языком программирования.

Множество инструментов оформления схем

Типичный внешний вид хорошо оформленной схемы с короткими описаниями к основным блокам и их цветовой раскраской можно увидеть на рисунке слева. Благодаря тому, что на схеме могут располагаться помимо функциональных элементов (влияющих на работу программы), на ней можно располагать и элементы оформления, значительно повышающие читаемость схемы. Такие элементы не участвуют в компиляции программы и никак на нее не влияют.

Оформление схем является не обязательной частью разработки приложения, но свидетельствует о хорошем стиле, который в будущем поможет самому разработчику быстрее вспомнить, за что отвечают те или иные части схемы.

Широкие возможности кастомизации GUI

Большинство пакетов конструктора содержит как нативные элементы интерфейса (предоставляемые операционной системой, браузером и т.д.), так и пользовательские, которые целиком и полностью отрисовываются движком пакета, давая разработчику возможность самому выбрать цвет, форму, стиль и т.п.

Кроме того используя компоненты для рисования разработчик может нарисовать свои собственные GUI элементы, я таким внешним видом, который требуется для его приложения.

Создание игр с поддержкой OpenGL и GDI

Пакеты для платформы Windows и Linux позволяют использовать элементы для работы с графическим API, таким как OpenGL, GDI (для Windows), Cairo(для Linux) и т.д. С помощью них разработчик получает возможность создавать простые 2D и 3D игры. Следует помнить о том, что Конструктор приложений не подходит для создания сложных игр, т.к. весь его арсенал заточен в первую очередь под прикладные программы.

И конечно же для полноценной игры необходимо работать со звуком, для чего в пакетах так же предусмотрены соответствующие элементы.

Доступ к 3D графике же дает возможность не только создавать игры, но и небольшие демки для визуализации данных, процессов или иных сущностей.

Кроссплатформенность

С помощью HiAsm вы сможете создать программу для любой платформы: Windows, CNET, WEB, QT и другие. Но и это не все. Установив дополнения, вы сможете писать приложение даже для Android, IOs и других, непредусмотренных разработчиком, платформ.

Документация

Справка HiAsm содержит информацию по любому компоненту программы и разные советы для удобной работы. Вы всегда можете обратится к ней, если возникли проблемы. Также там вы можете узнать более подробно о возможностях HiAsm и найти несколько примеров готовых программ.

Есть WEB версия среды, позволяющая создавать простые web-приложения для запуска в браузере. Доступена по адресу http://ide.hiasm.com. Среда поддерживает все современные браузеры: Chrome, Firefox, Opera, Safari, а так же их мобильные версии.

Работает Hion в облаке на удаленном сервере. После того, как пользователь собрал схему и выполнил команду компиляции она передается на сервер, на котором запускается Hiasm 5 и который генерирует набор файлов *.html, *.js и *.css. Далее пользователь может либо скачать эти файлы на свой локальный компьютер для дальнейшего запуска в браузере, либо сразу же перейти по ссылке и запустить собранное WEB приложение.

Ссылку на скомпилированное WEB приложение можно послать другим пользователям, которые так же смогут открыть его в браузере и пользоваться им. При этом в палитре элементов Hion предусмотрены инструменты для построения приложений с многопользовательской поддержкой.

Богатая стандартная палитра графических элементов так же позволяет использовать Hion в качестве инструмента быстрого прототипирования UI для приложений. Кроме того, у такого приложения может быть реализована и некоторая часть функционала, такая как переходы между дочерними формами, управление элементами формы, работа с данными и прочее.

Достоинства

  1. Возможность установки дополнений;
  2. Кроссплатформенность;
  3. Интуитивно понятный интерфейс;
  4. Высокая скорость выполнения;
  5. Официальная версия на русском языке.

Недостатки

  1. Не подходит для крупных проектов;
  2. Большой объем исполняемых файлов.

Ссылки

Официальный сайт программы - http://hiasm.com/index.html
Группа в ВК - https://vk.com/hiasm
Форум - http://forum.hiasm.com/main/

558
22.446 GOLOS
На Golos с February 2017
Комментарии (7)
Сортировать по:
Сначала старые