Вверх ↑
HiAsm 52010-05-09 23:29:28Dilma
Все предыдущие версии среды были написаны с помощью Delphi (седьмой версии и Turbo). Ввиду отсутствия бесплатного компилятора для архитектуры amd64 и тем более для платформ отличных от Windows, дальнейшая разработка HiAsm в данном ключе является полностью без перспективной (если быть точным, то Delphi некогда существовал под Linux ввиде продукта с названием Kylix, но из-за отсутствия интереса к нему со стороны разработчиков провалился и был снят с поддержки фирмой производителем). Изначально никакого планирования в отношении выбора среды разработки Конструктора программ не делалось и поэтому можно говорить о том, что описанная ситуация сложилось исторически...

Поэтому во избежании повторения подобной неосмотрительности в будущем при выборе средств разработки HiAsm5 (и в последствии основного фреймворка для базового пакета) были рассмотрены следующие основные критерии:

  • компилятор среды должен быть бесплатным и широко распространенным
  • он должен уметь работать как минимум под три операционные системы (Windows, Linux и MacOS X), а так же собирать программы для 32х и 64х битных архитектур
  • под него должен существовать фреймворк (или библиотека) так же работающая под указанные выше ОС

Всем этим условиям удовлетворяет бесплатный кросс-платформенный компилятор GCC и фреймворк GTK+. Есть еще QT, на базе которого построен одноименный пакет в HiAsm, но он к сожалению платен для коммерческого использования и частично урезан в своём free варианте. GTK+ так же примечателен еще и тем, что именно он был использован при разработке менеджера рабочего стола Gnome, который по умолчанию стоит в набирающем популярность дистрибутиве Ubuntu.

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

Теперь посмотрим на то, как выглядит прототип HiAsm5. Ниже представлен скриншот внешнего вида среды в Ubuntu Linux 10.04. Собрана простая схема в пакете Modules, которая по нажатию кнопки выводит сообщение с текстом на экран монитора.



Несмотря на то, что HiAsm 5 переписан с нуля, он тем не менее использует все те же самые интерфейсные решения, найденные за 6 лет существования предыдущих версий среды. Полная совместимость с базой данных настроек (hiasm.db) так же переносит все команды, параметры и диалоги среды в неизменном виде, что сделает переход на пятое и последующие поколения более мягким.

Следующий скриншот демонстрирует внешний вид среды с той же самой схемой на Windоws XP:



На рисунке выше среда использует для отрисовки элементов управления классическую тему (Windows Classic).

GTK+ в качестве графической подсистемы использует достаточно мощную современную библиотеку векторной графики Cairo (так же кросс-платформенную). Она поддерживает цвета в формате RGBA (т. е. с использованием alpha канала), изменение масштаба отрисовки, антиалиасинг (сглаживание примитивов), градиенты, маски, некий аналог буфера трафарета из OpenGL и прочие менее значимые фичи. Все это вместе взятое позволяет сделать редактор схем HiAsm5 внешне более презентабельным и современным на вид. Так на рисунке ниже демонстрируется вид схемы в масштабе 70% от нормального в момент выделения элементов рабочего стола с помощью полупрозрачного региона:



Следует напомнить, что реализовать такое в прошлых версиях среды не было возможности из-за использования стандартного Windows GDI, предоставляющего инструментарий для работы с растром (а не векторами). Т. е. уменьшение масштаба схемы (то, чего так давно желали получить некоторые пользователи Конструктора программ) тут уже встроено в саму библиотеку.

Перспективный подход в использовании кросс-платформенного компилятора и фреймворка заключается еще и в том, что в будущем возможен достаточно быстрый и простой (в плане адаптации исходного кода) переход на новые платформы и операционные системы. Так в последнее время набирает обороты Android, который производители предпочитают ставить на свои устройства вместо Windows Mobile ввиду его полной бесплатности. Поскольку это тот же Linux, то портирование под него GTK+ не должно составить особых проблем, после чего станет сразу же возможен запуск HiAsm5 (разве что понадобится доделать какой-то новый интерфейс для редактирования схемы на сенсорном экране, но это уже технические мелочи).

Еще одним несомненным плюсом HiAsm5 является переход на Open source и лицензию GPL, т. е. исходники среды будут доступны всем желающим из public репозитория.
Комментарии (0)