Miranda NG:About/be: Difference between revisions
(by -> be) |
(punctuation) |
||
Line 1: | Line 1: | ||
{{PageLang|be}}{{Languages/About}} | {{PageLang|be}}{{Languages/About}} | ||
'''Miranda NG''' (Next Generation) | '''Miranda NG''' (Next Generation) — форк Miranda IM, створаны былымі яе распрацоўшчыкамі. | ||
Line 11: | Line 11: | ||
#* Зыходны код плагінаў быў раскіданы па дзесятках рэпазітароў, а для многіх плагінаў (актуальны) зыходны код быў наогул недаступны. Гэта абмяжоўвала ці ўвогуле рабіла немагчымым аўдыт кода плагінаў з боку удзельнікаў каманды. Адпаведна, код некаторых плагінаў ўтрымлівае нерабочы, неэфектыўны або заведама памылковы код, і ніхто не мог на гэта паўплываць. | #* Зыходны код плагінаў быў раскіданы па дзесятках рэпазітароў, а для многіх плагінаў (актуальны) зыходны код быў наогул недаступны. Гэта абмяжоўвала ці ўвогуле рабіла немагчымым аўдыт кода плагінаў з боку удзельнікаў каманды. Адпаведна, код некаторых плагінаў ўтрымлівае нерабочы, неэфектыўны або заведама памылковы код, і ніхто не мог на гэта паўплываць. | ||
#* Існаваў велізарны воз праблем з сумяшчальнасцю паміж рознымі версіямі ядра Міранды і нават паміж версіямі асобных плагінаў. Асабліва гэта тычылася падтрымкі Unicode, якая ў Miranda IM так і не даведзена да канца. | #* Існаваў велізарны воз праблем з сумяшчальнасцю паміж рознымі версіямі ядра Міранды і нават паміж версіямі асобных плагінаў. Асабліва гэта тычылася падтрымкі Unicode, якая ў Miranda IM так і не даведзена да канца. | ||
# Склаўся выразна выспеўшы канфлікт паміж дзвюма асноўнымі на той момант распрацоўшчыкамі Міранды: {{Developer|ghazan|Георгіем Хазанам}} (ghazan) і {{Developer|borkra|Барысам Красноўскім}} (borkra), апошняй кропляй якога стаў адкат Барысам фікса для зробленай ім памылкі з-за таго, што ў каментары да камітаў было ўжыта ангельскае прычасце ''borkred'', вынайдзенае для | # Склаўся выразна выспеўшы канфлікт паміж дзвюма асноўнымі на той момант распрацоўшчыкамі Міранды: {{Developer|ghazan|Георгіем Хазанам}} (ghazan) і {{Developer|borkra|Барысам Красноўскім}} (borkra), апошняй кропляй якога стаў адкат Барысам фікса для зробленай ім памылкі з-за таго, што ў каментары да камітаў было ўжыта ангельскае прычасце ''borkred'', вынайдзенае для «зламаных» ім частак Міранды адным з удзельнікаў праекту (не Георгіем). | ||
У выніку ўсяго гэтага ў пачатку красавіка 2012 тагачасны куратар ядра Miranda IM Георгій Хазан прыняў рашэнне пакінуць праект, нягледзячы на наяўнасць мноства відавочных кірункаў развіцця Міранды. Аднак, у працэсе перамоваў паміж рознымі бакамі было прынята рашэнне арганізаваць новы праект, пад яго кіраўніцтвам. | У выніку ўсяго гэтага ў пачатку красавіка 2012 тагачасны куратар ядра Miranda IM Георгій Хазан прыняў рашэнне пакінуць праект, нягледзячы на наяўнасць мноства відавочных кірункаў развіцця Міранды. Аднак, у працэсе перамоваў паміж рознымі бакамі было прынята рашэнне арганізаваць новы праект, пад яго кіраўніцтвам. | ||
Line 29: | Line 29: | ||
* Падвышаная хуткасць запуску і працы праграмы; | * Падвышаная хуткасць запуску і працы праграмы; | ||
* Значна зменшана спажыванне рэсурсаў сістэмы (GDI і аператыўнай памяці), у тым ліку за кошт вынясення невыкарыстоўваемых кавалкаў ядра ў асобныя модулі (тэчка <tt>Core</tt>). | * Значна зменшана спажыванне рэсурсаў сістэмы (GDI і аператыўнай памяці), у тым ліку за кошт вынясення невыкарыстоўваемых кавалкаў ядра ў асобныя модулі (тэчка <tt>Core</tt>). | ||
* Усе плагіны знаходзяцца ў адным рэпазітары, пры зменах, | * Усе плагіны знаходзяцца ў адным рэпазітары, пры зменах, што датычацца ядра — неабходныя праўкі ўносяцца адразу, без чакання рэакцыі распрацоўнікаў, якая можа доўжыцца месяцамі ў Miranda IM. | ||
* Праведзена даволі вялікая праца па ўніфікацыі | * Праведзена даволі вялікая праца па ўніфікацыі — многае з таго, што кожны плагін рэалізоўваў самастойна, было перанесена ў ядро. | ||
* Пазбаўленне ад старых «кастылёў» і багаў, якое падвышае агульную стабільнасць праграмы. | * Пазбаўленне ад старых «кастылёў» і багаў, якое падвышае агульную стабільнасць праграмы. | ||
* Вяртанне ў распрацоўку Miranda NG кодэраў, якія пакінулі раней распрацоўку плагінаў пад Miranda IM. | * Вяртанне ў распрацоўку Miranda NG кодэраў, якія пакінулі раней распрацоўку плагінаў пад Miranda IM. | ||
Line 41: | Line 41: | ||
* Замест некалькіх тулбараў, што рэалізуюцца ў кожным спісе кантактаў па-свойму, прыведзены ў парадак і дапрацаваны плагін {{Plugin|TopToolBar}}. | * Замест некалькіх тулбараў, што рэалізуюцца ў кожным спісе кантактаў па-свойму, прыведзены ў парадак і дапрацаваны плагін {{Plugin|TopToolBar}}. | ||
* Dbtool стаў плагінам. Зараз праверка і сціск базы дадзеных убраны ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, {{Plugin|DbChecker}} і {{Plugin|Import}} зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту. | * Dbtool стаў плагінам. Зараз праверка і сціск базы дадзеных убраны ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, {{Plugin|DbChecker}} і {{Plugin|Import}} зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту. | ||
* {{Plugin|PluginUpdater}} | * {{Plugin|PluginUpdater}} — «сінхранізатар» плагінаў з афіцыйным рэпазітаром. | ||
* Функцыянал плагіна {{Plugin|ExtraIcons}} перанесены ў ядро. | * Функцыянал плагіна {{Plugin|ExtraIcons}} перанесены ў ядро. | ||
Revision as of 20:47, 11 December 2015
Template:Languages/About Miranda NG (Next Generation) — форк Miranda IM, створаны былымі яе распрацоўшчыкамі.
Гісторыя
C вясны 2012 года ў распрацоўцы Miranda IM склалася патавая сітуацыя:
- Дзейсная мадэль распрацоўкі Міранды апынулася цалкам нежыццяздольнай па наступных прычынах:
- Зменам ў ядры патрабавалася парадку паўтары гадоў, каб быць падхоплены распрацоўшчыкамі плагінаў і быць, нарэшце, даведзенымі да канчатковых карыстальнікаў. У выніку затрымкі атрымліваліся велізарнымі.
- Зыходны код плагінаў быў раскіданы па дзесятках рэпазітароў, а для многіх плагінаў (актуальны) зыходны код быў наогул недаступны. Гэта абмяжоўвала ці ўвогуле рабіла немагчымым аўдыт кода плагінаў з боку удзельнікаў каманды. Адпаведна, код некаторых плагінаў ўтрымлівае нерабочы, неэфектыўны або заведама памылковы код, і ніхто не мог на гэта паўплываць.
- Існаваў велізарны воз праблем з сумяшчальнасцю паміж рознымі версіямі ядра Міранды і нават паміж версіямі асобных плагінаў. Асабліва гэта тычылася падтрымкі Unicode, якая ў Miranda IM так і не даведзена да канца.
- Склаўся выразна выспеўшы канфлікт паміж дзвюма асноўнымі на той момант распрацоўшчыкамі Міранды: ghazan (ghazan) і borkra (borkra), апошняй кропляй якога стаў адкат Барысам фікса для зробленай ім памылкі з-за таго, што ў каментары да камітаў было ўжыта ангельскае прычасце borkred, вынайдзенае для «зламаных» ім частак Міранды адным з удзельнікаў праекту (не Георгіем).
У выніку ўсяго гэтага ў пачатку красавіка 2012 тагачасны куратар ядра Miranda IM Георгій Хазан прыняў рашэнне пакінуць праект, нягледзячы на наяўнасць мноства відавочных кірункаў развіцця Міранды. Аднак, у працэсе перамоваў паміж рознымі бакамі было прынята рашэнне арганізаваць новы праект, пад яго кіраўніцтвам.
15 мая 2012 года зыходны код ядра Міранды быў заліты ў асобны рэпазітар, і ў яго потым было дададзена больш за сотню плагінаў. Плагіны для партавання выбіраліся па прынцыпе частоты выкарыстання і папулярнасці на сайце www.miranda-vi.org. Адназначна выключаліся плагіны, для якіх не існавала актуальнага зыходнага кода. У далейшым у зыходныя тэксты было ўнесена больш за паўтары тысячы змяненняў, пасля чаго 30 жніўня 2012 быў выпушчаны першы рэліз Miranda NG.
Прынцыпы праекта
- У праект ўваходзіць не толькі ядро, але і наогул усё плагіны, якія могуць быць выкарыстаны. Гэта адкрывае магчымасць любому члену каманды праверыць (і пры неабходнасці выправіць) код кожнага плагіна.
- Кожная канкрэтная версія Miranda NG сумяшчальная толькі сама з сабой (г. зн. гарантуецца, што ўсе плагіны ў адной зборцы сумяшчальныя адно з адным, але дзве суседнія зборкі могуць быць цалкам несумяшчальныя). Гэта цалкам вырашае ўсе праблемы з сумяшчальнасцю розных версій, дазваляе пазбавіцца ад грувасткага кода ў многіх месцах ядра і адкрывае найшырэйшы прастор для глабальнай аптымізацыі як ядра Міранды, так і адпаведных плагінаў.
- Спыняецца падтрымка версій ANSI, як цалкам маральна састарэлых. Падтрымоўванымі кампілятарамі з'яўляюцца Visual Studio 2010 і VS2013.
- Усе члены каманды маюць розны доступ: хтосьці можа выпраўляць толькі код плагінаў, хтосьці працуе ў трэкеры і вікі, нехта можа выпраўляць любы код.
Перавагі 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 перанесены ў ядро.
Глядзіце таксама