LinuxForum.Fans
Тема

Enveria RAD IDE - что это было?

Автор: sklimkin 2 сообщений 945 просмотров
#194677

Поиск среды разработки программ с графическим интерфейсом на СИ (без плюсов).

"Значит всех главнее королева,
Ходит взад-вперед и вправо-влево,
Ну а кони - только буквой Г "
"Эх, спасибо заводскому другу!
Рассказал, как ходють, как сдают.
Выяснилось позже - я с испугу
Разыграл классический дюбют!"
("Честь шахматной короны, 2-я серия" В.С. Высоцкий)

Это скорее изучение истории, в том смысле: что произошло и почему именно так.
Что-то останавливает меня от использования glade для рисования граф. интерфейса.
Промежуточный xml малочитабельный (для меня во всяком случае).
Неужели для СИ (без плюсов) кроме glade и anjuta ничего нет и не было?
Разыскные мероприятия привели к: 'Enveria RAD IDE' и 'XForms Toolkit'
XForms Toolkit использует только "иксы" и это отдельная интересная тема.

Enveria RAD IDE - использует виджеты GTK+ это и требуется, проверяем.

Чтобы enveria IDE смогла работать пришлось дополнительно установить из репозитория:
SQLite3
libsqlite3-0
MySQL-client-5.1
mysql-client-core-5.1
libmysqlclient-dev
libmysqld-dev (includes the embedded server library and header files)
и отдельно: sqlite-autoconf-3070800#
Возможно не все это надо было ставить.
Важно в результате иметь установленными header-ы:
/usr/local/include/sqlite3.h (315 kB) и /usr/include/mysql/mysql.h (33 kB)

Цитата из целей и задач разработчиков:

We have chosen C because it is fast, stable, powerful, portable and has a long history of use in computing. An additional bonus for us was that the API for GTK+ (the widget set we use) uses C natively.
Programming languages, libraries (such as graphics libraries), databases, and frameworks used to develop this software:
* C
* MySQL
* SQLite
* GTK+ 2

Жаль что у авторов не хватило пороха довести пакет до заявленных в релизе кондиций.
Это было всего 5 лет назад. Проект "остыл" в 2007-2008г. и лежит на:
http://sourceforge.net/projects/enveria/files/Enveria%20IDE%20for%20RAD/Enveria%20Version%203%20RC5/enveria_ver3_rc5.zip/download

Предлагается: Download enveria_ver3_rc5.zip (762.6 kB)
но устанавливать вероятно надо из:
http://sourceforge.net/projects/enveria/files/Enveria%20IDE%20for%20RAD/
Enveria Version 3 RC6 enveria.ver.3.rc6.tar.gz или:
enveria.ver.3.rc6.zip (у меня под ubuntu 10.04 нормально встала эта версия).

Сделал окно window_1, набросал 2 frame 2 label 2 combo 2 button, скомпилил - работает.
Внес некоторые изменения в окно и в ф-ции callback, перекомпилил - работает.
Изменения положения и размеров "кнопок" только цифрами в окне свойств, но работает.

Руководство пользователя и описание пакета в pdf-формате (находится там же):
Enveria.RAD.IDE.Tutorial.Februrary.08.2007.Version.1.0.pdf
Jean_Steriti_Enveria_IDE_Report_February_25_2007.pdf


В пакете есть Makefile, по нему пакет и компилится-собирается там, где его (пакет) положим.

Стараниями журналистов считается, что только японцы обожествляют свои корпорации.
А вот англо-сакс приехал в Канаду и ... (почитайте сами - это покруче японцев):
http://sourceforge.net/projects/enveria/files/ ...
Jean_Steriti_Enveria_IDE_Report_February_25_2007.pdf
Одним словом

"Народ и партия едины! ... Пустите в Ваши магазины!"
(из советского прошлого).
Но о том, что надо дополнительно установить SQLite3 и MySQL забыл написать.

Замах у этих канадских ребят был хороший. Рисуем окна с кнопочками (виджеты GTK+).
Тут же пишем функции обратного вызова, да и вообще весь код программы на чистом СИ.
Сохраняем проект и компилим его в отдельный директорий exported.
Заходим в exported, а там уже файлы *.h и *.c программы и готовый Makefile.
В терминале вводим make и получаем исполняемый файл по имени a.out - запускаем его.
Проект можно многократно править, перекомпиляция учитывает изменения.
Да, компиляция не самая быстрая, но ведь не Oracle пишем и даже не 1С-гроссбух.

Я понимаю, что *.xml для описания графического интерфейса сейчас стандарт-дефакто.
Но мне его (интерфейс) приятней и понятней читать-писать все на том же голом СИ.

Я так понял, что исходники (все на голом СИ) можно править-дорабатывать для себя.
Не понял только, почему авторам не хватило только SQLite3, или только MySQL ???
Правда есть такие записи в SCM Repositories о поддиректории basic в исходнике:

basic/ 6 goma doing mysql independent for basic project
interface_init.c 6 goma doing mysql independent for basic project
generic_func.c 6 goma doing mysql independent for basic project

У меня "индепендент" никак не получился, пришлось ставить SQLite3 и MySQL.

Но возможность довести пакет до ума присутствует, а никто этого не сделал. Почему?
Интересно, а что думают (знают) об этом специалисты (разработчики, а не пи...болы)?

Возможно кто-то пользовался этим пакетом и может рассказать свои впечатления.
А может быть кто-то допиливал его до настоящей юзабельности, а потом kdevelop Qt4 и вааще...
И легла работа в архивы.
Тем, кто поспешит приклеить ярлык "некрофилия" напомню об историках и археологах.
Значит и они все "некошерные", а вы выходите на арену "весь в белом - и публика рыдает".
Знать историю развития ОС Линукс полезно, иначе опять "Иван не помнящий родства".

"... Штирлиц знал, что запоминаются последние слова ..."
("Семнадцать мгновений весны" Ю. Семенов).
Войдите или зарегистрируйтесь, чтобы ответить.