Miranda NG:About/be: Difference between revisions
(Created page with "{{Languages/About}} '''Miranda NG''' (Next Generation) - форк Miranda IM, створаны былымі яе распрацоўшчыкамі. == Гісторыя == C в...") |
No edit summary |
||
Line 31: | Line 31: | ||
== Адрозненні ад Miranda IM == | == Адрозненні ад Miranda IM == | ||
* У сувязі з сур'ёзнымі зменамі ў ядры праграмы, Miranda NG стала несумяшчальная з убудовамі ад Miranda IM. | * У сувязі з сур'ёзнымі зменамі ў ядры праграмы, Miranda NG стала несумяшчальная з убудовамі ад Miranda IM. | ||
* Стандартныя модулі ядра Miranda NG вынесены ў тэчку <tt> Core </ tt> у корані праграмы. Гэтыя модулі не загружаюцца ў памяць пры наяўнасці іх «замен» і аўтаматычна падгружаюцца, калі «замена» была адключана. У выніку эканоміцца | * Стандартныя модулі ядра Miranda NG вынесены ў тэчку <tt>Core</tt> у корані праграмы. Гэтыя модулі не загружаюцца ў памяць пры наяўнасці іх «замен» і аўтаматычна падгружаюцца, калі «замена» была адключана. У выніку эканоміцца памяць і паменшаны час загрузкі праграмы. (Miranda IM трымае ў памяці непатрэбныя модулі нават пры наяўнасці іх альтэрнатыў.) | ||
* Адмова ад ANSI, ядро | * Адмова ад ANSI, ядро і ўсе ўбудовы цалкам падтрымліваюць Unicode. | ||
* Замест некалькіх тулбараў, што рэалізуюцца ў кожным убудове кантакт-ліста па-свойму, прыведзена ў парадак і дапрацавана убудова {{Plugin | TopToolBar}}. | * Замест некалькіх тулбараў, што рэалізуюцца ў кожным убудове кантакт-ліста па-свойму, прыведзена ў парадак і дапрацавана убудова {{Plugin/by|TopToolBar}}. | ||
* Dbtool стаў убудовай. Зараз праверка і сціск базы дадзеных ўбрана ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, {{Plugin | DbChecker}} і {{Plugin | Import}} зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту. | * Dbtool стаў убудовай. Зараз праверка і сціск базы дадзеных ўбрана ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, {{Plugin/by|DbChecker}} і {{Plugin/by|Import}} зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту. | ||
* {{Plugin | PluginUpdater}} - «сінхранізатары» ўбудоў з афіцыйным рэпазітаром. | * {{Plugin/by|PluginUpdater}} - «сінхранізатары» ўбудоў з афіцыйным рэпазітаром. | ||
* Функцыянал ўбудовы {{Plugin | ExtraIcons}} перанесены ў ядро. | * Функцыянал ўбудовы {{Plugin/by|ExtraIcons}} перанесены ў ядро. | ||
== Глядзіце таксама == | == Глядзіце таксама == | ||
* [[Дапамога | Адказы на часта задаваемыя пытанні]] | * [[Дапамога|Адказы на часта задаваемыя пытанні]] | ||
== Спасылкі == | == Спасылкі == | ||
* [http://bugs.miranda-ng.org/roadmap Miranda NG Roadmap] | * [http://bugs.miranda-ng.org/roadmap Miranda NG Roadmap] |
Revision as of 23:19, 24 February 2013
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 і VS2012.
- Усе члены каманды маюць розны доступ: хтосьці можа выпраўляць толькі код убудоў, хтосьці працуе ў трэкеры і вікі, хто-та можа выпраўляць любы код.
Перавагі Miranda NG
- Падключэнне і адключэнне убудоў «на лёце», без перазапуску праграмы;
- Падвышаная хуткасць запуску і працы праграмы;
- Значна зменшана спажыванне рэсурсаў сістэмы (GDI і аператыўнай памяці), у тым ліку за кошт вынясення невыкарыстоўваемых кавалкаў ядра ў асобныя модулі (тэчка Core).
- Усе убудовы знаходзяцца ў адным рэпазітары, пры зменах, што датычацца ядра - неабходныя праўкі ўносяцца адразу, без чакання рэакцыі распрацоўнікаў, якая можа доўжыцца месяцамі ў Miranda IM.
- Праведзена даволі вялікая праца па ўніфікацыі - многае з таго, што кожная убудова рэалізоўвала самастойна, было перанесена ў ядро.
- Пазбаўленне ад старых «кастылёў» і багаў, якое падвышае агульную стабільнасць праграмы.
- Вяртанне ў распрацоўку Miranda NG кодэраў, якія пакінулі раней распрацоўку убудоў пад Miranda IM.
Адрозненні ад Miranda IM
- У сувязі з сур'ёзнымі зменамі ў ядры праграмы, Miranda NG стала несумяшчальная з убудовамі ад Miranda IM.
- Стандартныя модулі ядра Miranda NG вынесены ў тэчку Core у корані праграмы. Гэтыя модулі не загружаюцца ў памяць пры наяўнасці іх «замен» і аўтаматычна падгружаюцца, калі «замена» была адключана. У выніку эканоміцца памяць і паменшаны час загрузкі праграмы. (Miranda IM трымае ў памяці непатрэбныя модулі нават пры наяўнасці іх альтэрнатыў.)
- Адмова ад ANSI, ядро і ўсе ўбудовы цалкам падтрымліваюць Unicode.
- Замест некалькіх тулбараў, што рэалізуюцца ў кожным убудове кантакт-ліста па-свойму, прыведзена ў парадак і дапрацавана убудова Template:Plugin/by.
- Dbtool стаў убудовай. Зараз праверка і сціск базы дадзеных ўбрана ў сам драйвер базы (у Miranda IM для кожнага фармату неабходна пісаць уласны dbtool). Такім чынам, Template:Plugin/by і Template:Plugin/by зараз толькі запускаюць адпаведны драйвер, і больш няма неабходнасці пад кожны драйвер мець сваю «родную» ўтыліту.
- Template:Plugin/by - «сінхранізатары» ўбудоў з афіцыйным рэпазітаром.
- Функцыянал ўбудовы Template:Plugin/by перанесены ў ядро.