Miranda NG:Апісанне

From Miranda NG
Miranda NG:About/be
Jump to navigation Jump to search
This page is a translated version of the page Miranda NG:About and the translation is 83% complete.
Outdated translations are marked like this.
Other languages:

Miranda NG (Next Generation) — форк Miranda IM, створаны былымі яе распрацоўшчыкамі.

Miranda NG is distributed under GNU General Public License.

Protocol support

  • GG (Gadu-Gadu)
  • IRC (Internet Relay Chat)

Supported operating systems

Windows 2003 / XP SP3 / Vista / 7 / 8 / 10 / 11.


Гісторыя

C вясны 2012 года ў распрацоўцы Miranda IM склалася патавая сітуацыя:

  1. Дзейсная мадэль распрацоўкі Міранды апынулася цалкам нежыццяздольнай па наступных прычынах:
    • Зменам ў ядры патрабавалася парадку паўтары гадоў, каб быць падхоплены распрацоўшчыкамі плагінаў і быць, нарэшце, даведзенымі да канчатковых карыстальнікаў. У выніку затрымкі атрымліваліся велізарнымі.
    • Зыходны код плагінаў быў раскіданы па дзесятках рэпазітароў, а для многіх плагінаў (актуальны) зыходны код быў наогул недаступны. Гэта абмяжоўвала ці ўвогуле рабіла немагчымым аўдыт кода плагінаў з боку удзельнікаў каманды. Адпаведна, код некаторых плагінаў ўтрымлівае нерабочы, неэфектыўны або заведама памылковы код, і ніхто не мог на гэта паўплываць.
    • Існаваў велізарны воз праблем з сумяшчальнасцю паміж рознымі версіямі ядра Міранды і нават паміж версіямі асобных плагінаў. Асабліва гэта тычылася падтрымкі Unicode, якая ў Miranda IM так і не даведзена да канца.
  2. Склаўся выразна выспеўшы канфлікт паміж дзвюма асноўнымі на той момант распрацоўшчыкамі Міранды: Георгіем Хазанам (ghazan) і Барысам Красноўскім (borkra), апошняй кропляй якога стаў адкат Барысам фікса для зробленай ім памылкі з-за таго, што ў каментары да камітаў было ўжыта ангельскае прычасце borkred, вынайдзенае для «зламаных» ім частак Міранды адным з удзельнікаў праекту (не Георгіем).

У выніку ўсяго гэтага ў пачатку красавіка 2012 тагачасны куратар ядра Miranda IM Георгій Хазан прыняў рашэнне пакінуць праект, нягледзячы на наяўнасць мноства відавочных кірункаў развіцця Міранды. Аднак, у працэсе перамоваў паміж рознымі бакамі было прынята рашэнне арганізаваць новы праект, пад яго кіраўніцтвам.

15 мая 2012 года зыходны код ядра Міранды быў заліты ў асобны рэпазітар, і ў яго потым было дададзена больш за сотню плагінаў. Плагіны для партавання выбіраліся па прынцыпе частоты выкарыстання і папулярнасці на сайце www.miranda-vi.org. Адназначна выключаліся плагіны, для якіх не існавала актуальнага зыходнага кода. У далейшым у зыходныя тэксты было ўнесена больш за паўтары тысячы змяненняў, пасля чаго 30 жніўня 2012 быў выпушчаны першы рэліз Miranda NG.

By autumn 2012 fifteen members joined the project, at least half of them are actively involved in the development.

Прынцыпы праекта

  • У праект ўваходзіць не толькі ядро, але і наогул усё плагіны, якія могуць быць выкарыстаны. Гэта адкрывае магчымасць любому члену каманды праверыць (і пры неабходнасці выправіць) код кожнага плагіна.
  • Кожная канкрэтная версія Miranda NG сумяшчальная толькі сама з сабой (г. зн. гарантуецца, што ўсе плагіны ў адной зборцы сумяшчальныя адно з адным, але дзве суседнія зборкі могуць быць цалкам несумяшчальныя). Гэта цалкам вырашае ўсе праблемы з сумяшчальнасцю розных версій, дазваляе пазбавіцца ад грувасткага кода ў многіх месцах ядра і адкрывае найшырэйшы прастор для глабальнай аптымізацыі як ядра Міранды, так і адпаведных плагінаў.
  • Спыняецца падтрымка версій ANSI, як цалкам маральна састарэлых. Падтрымоўванымі кампілятарамі з'яўляюцца Visual Studio 2015 і 2017.
  • Усе члены каманды маюць розны доступ: хтосьці можа выпраўляць толькі код плагінаў, хтосьці працуе ў трэкеры і вікі, нехта можа выпраўляць любы код.

Перавагі Miranda NG

  • Падключэнне і адключэнне плагінаў «на лёце», без перазапуску праграмы;
  • Падвышаная хуткасць запуску і працы праграмы;
  • Значна зменшана спажыванне рэсурсаў сістэмы (GDI і аператыўнай памяці), у тым ліку за кошт вынясення невыкарыстоўваемых кавалкаў ядра ў асобныя модулі (тэчка Core).
  • Усе плагіны знаходзяцца ў адным рэпазітары, пры зменах, што датычацца ядра — неабходныя праўкі ўносяцца адразу, без чакання рэакцыі распрацоўнікаў, якая можа доўжыцца месяцамі ў Miranda IM.
  • Праведзена даволі вялікая праца па ўніфікацыі — многае з таго, што кожны плагін рэалізоўваў самастойна, было перанесена ў ядро.
  • Пазбаўленне ад старых «кастылёў» і багаў, якое падвышае агульную стабільнасць праграмы.
  • Вяртанне ў распрацоўку Miranda NG кодэраў, якія пакінулі раней распрацоўку плагінаў пад Miranda IM.

Адрозненні ад Miranda IM

  • У сувязі з сур'ёзнымі зменамі ў ядры праграмы, Miranda NG стала несумяшчальная з плагінамі ад Miranda IM.
  • Стандартныя убудовы ядра Miranda NG вынесены ў тэчку Core у корані праграмы. Гэтыя ўбудовы не загружаюцца ў памяць пры наяўнасці іх «замен» і аўтаматычна падгружаюцца, калі «замена» была адключана. У выніку эканоміцца памяць і паменшаны час загрузкі праграмы. (Miranda IM трымае ў памяці непатрэбныя ўбудовы нават пры наяўнасці іх альтэрнатыў.)
  • Адмова ад ANSI, ядро і ўсе плагіны цалкам падтрымліваюць Unicode.
  • Замест некалькіх тулбараў, што рэалізуюцца ў кожным спісе кантактаў па-свойму, прыведзены ў парадак і дапрацаваны плагін TopToolBar.
  • Dbtool стаў плагінам. Зараз праверка і сціск базы дадзеных убраны ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, DbChecker і Import зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту.
  • PluginUpdater — «сінхранізатар» плагінаў з афіцыйным рэпазітаром.
  • Функцыянал плагіна ExtraIcons перанесены ў ядро.

Глядзіце таксама

Спасылкі