Поиск среды разработки программ с графическим интерфейсом на СИ (без плюсов).
"Значит всех главнее королева,
Ходит взад-вперед и вправо-влево,
Ну а кони - только буквой Г "
"Эх, спасибо заводскому другу!
Рассказал, как ходють, как сдают.
Выяснилось позже - я с испугу
Разыграл классический дюбют!"
("Честь шахматной короны, 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 и вааще...
И легла работа в архивы.
Тем, кто поспешит приклеить ярлык "некрофилия" напомню об историках и археологах.
Значит и они все "некошерные", а вы выходите на арену "весь в белом - и публика рыдает".
Знать историю развития ОС Линукс полезно, иначе опять "Иван не помнящий родства".
"... Штирлиц знал, что запоминаются последние слова ..."
("Семнадцать мгновений весны" Ю. Семенов).