Miranda NG:About/cs: Difference between revisions

From Miranda NG
Miranda NG:About/cs
Jump to navigation Jump to search
(Imported translation using page migration)
(Imported translation using page migration)
Line 37: Line 37:
* Projekt obsahuje jádro a všechny doplňky, takže jakýkoliv člen týmu může kontrolovat (a případně opravit) kód jakéhokoliv doplňku.
* Projekt obsahuje jádro a všechny doplňky, takže jakýkoliv člen týmu může kontrolovat (a případně opravit) kód jakéhokoliv doplňku.
* Každá nová verze Mirandy NG je kompatibilní pouze sama se sebou (tzn. všechny doplňky jednoho vydání jsou mezi sebou vzájemně kompatibilní, zatímco dvě rozdílné vydání nemusí být kompatibilní vůbec). Toto dovoluje odstranit spoustu zbytečného kódu v mnoha částech jádra Mirandy, stejně jako provést celkovou optimalizaci jak jádra, tak doplňků.
* Každá nová verze Mirandy NG je kompatibilní pouze sama se sebou (tzn. všechny doplňky jednoho vydání jsou mezi sebou vzájemně kompatibilní, zatímco dvě rozdílné vydání nemusí být kompatibilní vůbec). Toto dovoluje odstranit spoustu zbytečného kódu v mnoha částech jádra Mirandy, stejně jako provést celkovou optimalizaci jak jádra, tak doplňků.
* ANSI is not supported anymore. Compiling with Visual Studio 2010 and 2013 is supported.
* ANSI už není podporováno. Kompilace ve Visual Studio 2010 a 2013 je podporována.
* All the team members have different access rights: some can commit to any code, some can commit only to the plugins' code, some are engaged in the bugtracker and wiki.
* All the team members have different access rights: some can commit to any code, some can commit only to the plugins' code, some are engaged in the bugtracker and wiki.



Revision as of 16:13, 19 June 2018

Miranda NG (nová generace) je následovník oblíbeného multi-protokolového komunikačního programu pro Windows - Mirandy IM.

Miranda NG is distributed under GNU General Public License.

Podpora protokolů

  • GG (Gadu-Gadu)
  • IRC (Internet Relay Chat)
  • MRA (Mail.ru Agent)

Podporované operační systémy

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

Historie

V létě 2012 se dostal vývoj Mirandy IM do slepé uličky.

  1. Existující (i nadále) model vývoje Mirandy se ukázal jako kompletně neudržitelný z následujících důvodů:
    • Vývojářům doplňků trvá většinou více než rok, než začnou využívat novinky jádra a než se tedy konečně dostanou ke koncovým uživatelům.
    • Zdrojové kódy doplňků jsou roztříštěny do spousty repozitářů, mnoho doplňků už ani zdrojový kód dostupný nemá. Tím pádem byly možnosti týmu omezené, ne-li nemožné. Výsledkem byly doplňky které obsahovaly nepoužitelný, neefektivní nebo chybný kód, který ani nikdo nemohl opravit.
    • Bylo zde mnoho problémů s kompatibilitou mezi různými verzemi jádra Mirandy nebo dokonce mezi verzemi některých doplňků. Toto se ukázalo zvlášť při implementaci podpory Unicode, která v Mirandě IM ani nebyla dokončena.
  2. Nastal konflikt mezi Georgem Hazanem (ghazan) a Borisem Krasnovskiym (borkra), nejaktivnějšími vývojáři Mirandy v té době. Když Boris zrušil zvrátil opravu jeho chyby, protože v komentáři k dané revizi byl výraz borkred (borknuto) – jenž byl vymyšlen jedním z programátorů pro označení částí kódu, které byly nefunkční (borknuté) zásahem Borise – to byla poslední kapka pro George.

V dubnu 2012 se George Hazan rozhodl opustit projekt Miranda IM navzdory mnoho možným směrům pro vývoj Mirandy. Nicméně během vzájemného jednání mezi různými skupinami se rozhodlo vytvořit nový projekt vedený Georgem.

15. května 2012 byly zdrojové kódy jádra Mirandy nahrány do odděleného repozitáře a následně byly přidány i zdrojové kódy více než 100 doplňků. Doplňky byly vybrány na základě množství jejich uživatelů a popularity dle www.miranda-vi.org. Doplňky bez existujícího zdrojového kódu byly vynechány. Následně bylo na zdrojových kódech vykonáno více než 1000 změn a první stabilní vydání Mirandy NG bylo uvolněno 30. srpna 2012.

Na podzim 2012 se k projektu připojilo 15 členů a více než polovina se aktivně podílí na vývoji.

Principy projektu

  • Projekt obsahuje jádro a všechny doplňky, takže jakýkoliv člen týmu může kontrolovat (a případně opravit) kód jakéhokoliv doplňku.
  • Každá nová verze Mirandy NG je kompatibilní pouze sama se sebou (tzn. všechny doplňky jednoho vydání jsou mezi sebou vzájemně kompatibilní, zatímco dvě rozdílné vydání nemusí být kompatibilní vůbec). Toto dovoluje odstranit spoustu zbytečného kódu v mnoha částech jádra Mirandy, stejně jako provést celkovou optimalizaci jak jádra, tak doplňků.
  • ANSI už není podporováno. Kompilace ve Visual Studio 2010 a 2013 je podporována.
  • All the team members have different access rights: some can commit to any code, some can commit only to the plugins' code, some are engaged in the bugtracker and wiki.

Miranda NG advantages

  • Plugins can be loaded/unloaded dynamically ("on the fly") without having to restart the program.
  • The speed of program startup and operation was increased.
  • The consumption of system resources (GDI and RAM) was significantly reduced. This was achieved through extracting unused parts of the core to separate modules (those were placed into Core folder).
  • All plugins are gathered in a single repository, any changes required are applied to them immediately without waiting for the plugin developers' response (which could take months for Miranda IM).
  • A great deal of work on unification was done – lots of features implemented in several plugins independently were moved to the core.
  • Getting rid of old bugs and "crutches" improves the overall stability of the program.
  • Some coders who abandoned the development of Miranda IM plugins for various reasons now return to Miranda NG development.

Features and differences from Miranda IM

  • Due to major changes in the core, Miranda NG is not compatible with plugins for Miranda IM.
  • The standard Miranda NG core modules were extracted to Core folder in the root of the program. These modules are not loaded into memory if their "substitutes" are found in Plugins folder. Also, they are automatically loaded when the "substitutes" are being disabled. It saves memory and reduces the load time of the program. (Miranda IM keeps in memory unnecessary modules together with their "substitutes".)
  • ANSI is no longer supported. The core and all the plugins support Unicode completely.
  • The multiple toolbars implemented in each contact list plugin in their own way were replaced with TopToolBar plugin which had undergone great changes.
  • Dbtool became a plugin. Now database checking and compression are performed by database drivers. (Miranda IM has to have a special dbtool for each database format.) Thus, DbChecker and Import plugins just run the appropriate driver and there is no need to have a special tool for each driver.
  • There is PluginUpdater – plugin to keep your Miranda NG up-to-date.
  • ExtraIcons plugin was moved into the core.

See also

External links