Часть 2: Eolite. Новейшая история.

eolite logo Интересна и непроста дальнейшая судьба программы. Я решил унифицировать интерфейс своих программ и сделать у Эолайтa тулбар с иконками, как в Браузере. Ещё одним нововведением должна была стать замена строки адреса навигационной цепочкой (ещё известной, как "хлебные крошки"), перенимая опыт Проводника Windows7/8 и многих других файловых менеджеров, в часности Nautilus и Dolphin в Linux.

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

Eolite v1.55

И вот 26.03.12, спустя 8 релизов, было решено, что программа созрела и свет увидела версия Eolite 1.0! Нововведения были небольшими: отображение ошибок файловой системы с их описанием через @notify, абсолютно все иконки стали обтекаемы выделением, плюс другие мелкие исправления и улучшения.

Становление программиста

Неудача с версией 0.98.7 подтолкнула меня начать читать книги по программированию. Паралельно дорабатывались и были написаны с нуля другие программы.

По мере возрастания моего мастерства, я всё чётче понимал на сколько плох код в Eolite! В такой момент неизбежно начинают посещать мысли: "А не переписать ли всё с чистого листа?!", но мне хватило мудрости пойти эволюционным путём и переписывать части программы по кусочкам, периодически добавляя новые фичи.

Для своего текстового браузера я уже написал модуль полноценной работы с историей (нужно для кнопочек Назад/Вперёд) и его перенос в Eolite занял от силы минут 10. Результатом моей работы над почтовым агентом Liza стало полное понимание работы указателей, манипуляций с кучей памяти и заложило основы ООП. Всё это вылилось в исправление множества серьёзных утечек памяти и уменьшение её потребления. Также был исправлен древнейший баг в сортировке из-за которого Eolite вылетал на папках более 1000 файлов.

А как же дизайнер?

Как-то я сидел за ноутбуком и, поворачивая голову, увидел блик от лампы на экране. Он как раз падал на то место, где находился Eolite. Блин, что-то в этом есть! - подумал я и бросился рисовать. Через пару минут из-под моего пера вышел немного мутный прямоугольник, который должен был стань новым фоном для синей панели слева. Я закинул его в код, скомпилировал программу и запустил её в эмуляторе. Какого же было моё удивление, когда вместо моего мутного неуверенного блика на панели красовался немного резкий, но невероятно стильный блик! Оказывается я немного напутал с размерами изображения и картинку перекосило. В жизни не видел такого удачного "перекоса", и это удача второй раз за один день! Я сделал PrintScreen, чуть-чуть доработал новый блик напильником и поместил его на законное место.

Eolite v1.55

Под впечатлением от пользовательского интерфейса операционной системы QNX в программу были добавлены градиенты, а ползунок скроллбара стал приятно выгибаться при нажатии. Чуть позже Eolite научился распознавать виртуальные диски и удалять их.

На верном пути

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

К версии 1.64 я наконец навёл порядок в исходниках и перевёл все свои программы на единую библиотеку, за основу которой была взята библиотека Текстового браузера, как самая полная на тот момент. Это существенно упростило разработку и подключение новых функций к каждой программе. Например, для проекта KolibriN был написан установщик, умеющий копировать папки. Данная функция располагалась в отдельном файле и подключив его за считанные минуты к Эолайту, тот тоже смог начать копировать папки.


Функционал программы понемногу рос и необходимые функции уже не помещались в тулбар :) Настало время для серьёзного дела и потому в версию 1.8 было добавлено меню файлов и папкок. С тенью, как полагается. Akyltist подкинул идею добавить тень и к надписям в меню, что ещё больше уняшило его внешний вид.

Eolite v1.98.5

Не так давно, к разработке на С-- присоединился punk_joker, который добавил возможность выбрать размер создаваемого виртуального в TmpDisk и удаление папок в Eolite. Он же в версию 1.92 вернул перевод на русский язык, «потерянный» после первой версии программы. Kaitz перевел Eolite на Эстонский.

Каковы планы на будущее

Сейчас готовится к выходу KolibriN9 и в версии для этого дистрибутива запланированы серьёзные улучшения Eolite. Теперь у нас есть даже что-то вроде Roadmap. Ждите обновлений :)


Липатов Кирилл 15.10.2013.

← Часть 1 К разделу