Что такое Miranda NG
Miranda как программа для общения с открытым исходным кодом, пользовалась большой популярностью среди пользователей сети по всему миру. Однако, с течением времени назрел целый ряд проблем, которые в первой половине 2012 года вылились в конфликт между разработчиками и сделали существующую версию программы практически нежизнеспособной.
Дело в том, что бывшая в тот момент актуальной версия Miranda IM пользовалась крайне неудачной моделью для разработки, недостатками которой были, в частности:
- Отдаленность разработчиков основного ядра и тех, кто создавал плагины, отсутствие непосредственной связи между ними. Это приводило к тому, что изменения в ядре могли найти отражение в некоторых плагинах только через год – полтора, а конечные пользователи получали работоспособный продукт еще дольше;
- Огромное количество плагинов находилось в различных хранилищах, что делало невозможным своевременный контроль их исходного кода непосредственно разработчиками. В результате многие из таких дополнительных программ могли включать неработающие или неэффективные фрагменты;
- В результате такой разрозненности часто возникали ошибки при попытках добиться совместимости между различными версиями самой программы, а также версиями дополнительных плагинов. В частности. Огромные проблемы были связаны с организацией поддержки кода Unicode, которая в этой реализации Миранды не была разработана полностью.
Следует отметить, что весной 2012 наиболее активно разработкой Miranda IM занимались двое: Красновский Борис и Хазан Георгий. Но существующее положение привело к тому, что их совместная работа зашла в тупик и вылилась в серьезный конфликт. В результате всего этого основным куратором всего проекта, Георгием Хазаном, было принято серьезное решение о выходе из состава проектировщиков.
Но, несмотря на все назревшие проблемы, очевидны были многочисленные перспективные направления развития Миранды. Именно поэтому были проведены дополнительные переговоры, результатом которых стало решение об открытии нового аналогичного проекта под руководством того же основного куратора. Учтя все предыдущие ошибки, новая команда руководствовалась несколько измененными основными принципами.
Например, такими:
- Все дополнительные плагины стали считаться составной частью общего проекта. В результате любой член команды получил возможность внести изменения и исправления в их исходный код в любой момент.
- Проблема совместимости между версиями самой Миранды была решена следующим образом. Каждая из реализаций Mirada NG имеет полную совместимость только внутри себя. Под этим подразумевается, что совместимы все части и плагины конкретной версии, а вот две различные сборки могут оказаться полностью несовместимы между собой. Кроме очевидного разрешения одного из ключевых вопросов, такое решение дало возможность во многом упростить исходный код программного ядра, сделать его менее громоздким, а значит – более гибким. То же можно сказать и относительно плагинов.
- Между членами команды была достигнута договоренность о разделении обязанностей. То есть, одни из них занимались исключительно анализом и иcправлением исходных кодов для плагинов, другие могли выполнять работы в пределах трекера. Имелись и те, кто мог вносить исправления в коды всех составляющих системы.
- Было принято серьезное решение о полном отказе от поддержки ANSI, поскольку эти коды в значительной степени устарели морально. Единственный программный компилятор, который поддерживался в рамках проекта, был Visual Studio.
В соответствии с достигнутой договоренностью, в середине мая 2012 года все составляющие исходного кода Миранды были размещены в едином хранилище, куда позже были также добавлены все многочисленные плагины. Последовал сложный процесс изменений и доработок, в результате которого уже в конце лета этого же года появился первый релиз новой системы, получившей название Mirada NG.
Из зарегистрированных в рамках проекта 15 человек активную работу вели постоянно не менее половины.
Была проведена огромная работа по улучшению и доработке системы. Из различных хранилищ были собраны сотни плагинов, причем преимущество отдавалось тем, которые чаще всего применяются пользователями и являются наиболее популярными среди них. В окончательную версию проекта не вошли плагины, активного кода для которых не существовало на тот момент.
Основными преимуществами новой версии можно считать следующие:
- Для подключения новых плагинов не требуется перезапуск программы, они стартуют, как говорят, «на лету».
- Поскольку часть основного программного ядра вынесена в абсолютно отдельную папку и отдельные модули, удалось добиться меньшего потребления таких аппаратных ресурсов, как объем оперативной памяти.
- Повысилось быстродействие программы.
- Поскольку в новой системе все дополнительные плагины оказались собранными в одном хранилище. Легче стало поддерживать их актуальность при внесении каких-то изменений в программное ядро. Таким образом, время ожидания для пользователей было сведено к минимуму.
- Также разработчики предприняли попытку произвести унификацию плагинов, добавив к микроядру некоторые функции, которые им приходилось каждый раз решать самостоятельно.
- Естественно, были исправлены ошибки, тормозившие работу всей программы.
Следует также перечислить некоторые отличительные особенности, присущие новой версии системы:
- Плагины, написанные под Miranda IM, несовместимы с версией Mirada NG.
- В корне программы появилась папка, которая содержит модули. Подгружаемые автоматически.
- Решительный отказ от поддержки ANSI и взамен реализация поддержки Unicode.
- Общий плагин TopToolBar исключил использование различных нестандартных тумблеров в плагинах контакт-листа.
- Был пересмотрен и доработан протокол MRA, который в таком варианте вошел уже во второй релиз новой системы.
- Плагином теперь является также DBTool
Вернуться к списку вопросов FAQ