Miranda NG:O projekcie

From Miranda NG
Revision as of 16:21, 19 June 2018 by Goraf (talk | contribs) (Imported translation using page migration)

Miranda NG:About/pl
Jump to navigation Jump to search

Miranda NG (Next Generation) jest następcą popularnego multikomunikatora pod Windows - Mirandy IM.

Miranda NG jest udostępniana na licencji GNU General Public License.

Wspierane protokoły

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

Wspierane systemy operacyjne

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

Historia

Wiosną 2012 rozwój Mirandy IM stanął w martwym punkcie.

  1. Istniejąca (do chwili obecnej) forma rozwoju Mirandy okazała się całkowicie niewydolna. Złożyły się na to następujące czynniki:
    • Zazwyczaj około roku zajmowało, żeby zmiany poczynione w rdzeniu Mirandy zostały uwzględnione przez twórców wtyczek i mogły dotrzeć do zwykłych użytkowników.
    • Kod źródłowy wtyczek był rozrzucony pomiędzy dziesiątki repozytoriów. Dla niektórych wtyczek był on nieaktualny, dla innych w ogóle nie był dostępny. Tak więc monitorowanie takiego kodu przez zespół Mirandy było ograniczone, żeby nie powiedzieć niemożliwe. W rezultacie wtyczki zawierały bezużyteczny, niewydajny lub wadliwy kod, którego nikt nie mógł naprawić.
    • Istniało wiele problemów z kompatybilnością pomiędzy odmiennymi wersjami rdzenia Mirandy czy nawet pomiędzy wersjami niektórych wtyczek. Było to szczególnie widoczne w odniesieniu do obsługi Unicode, która w Mirandzie IM nie została ukończona.
  2. Istniał konflikt pomiędzy najbardziej aktywnymi, na tamten czas, twórcami Mirandy, którymi byli: George Hazan (ghazan) i Boris Krasnovskiy (borkra). George stwierdził, że miarka się przebrała, kiedy to Boris cofnął poprawkę dla swojego błędu, ponieważ w komentarzu do zmiany znalazło się określenie „borkred”, które to zostało wymyślone przez jednego z programistów (nie George’a) do oznaczania części Mirandy popsutych przez Borisa.

W kwietniu 2012, George Hazan postanowił opuścić projekt Miranda IM, mimo wielu możliwych ścieżek jego rozwoju. W trakcie negocjacji pomiędzy różnymi stronami zdecydowano się jednak zorganizować nowy projekt pod kierunkiem George’a.

15 maja 2012 kod źródłowy rdzenia Mirandy został przesłany do odrębnego repozytorium. W późniejszym czasie dodano do niego ponad sto wtyczek. Wtyczki, jakie zdecydowano się przenieść do nowego projektu wybrano na podstawie częstości ich używania i popularności w oparciu o serwis www.miranda-vi.org. Wtyczki bez aktualnego kodu zostały zarzucone. Następnie cały kod źródłowy przeszedł tysiące zmian, prowadzących do pierwszego stabilnego wydania Mirandy NG wypuszczonego 30 sierpnia 2012.

Do jesieni 2012 projekt wzbogacił się o 15 członków, z których przynajmniej połowa aktywnie uczestniczy w jego rozwoju.

Założenia projektu

  • The project includes the core and all the plugins, so that any member of the team can check (and fix if necessary) the code of any plugin.
  • Every next Miranda NG version is compatible only with itself (i. e., all plugins of the same build are compatible with each other while two adjacent builds can be completely incompatible). This makes it possible to get rid of bulky code in many parts of Miranda core and offers great opportunity for global optimization of both the core and the plugins.
  • ANSI is not supported anymore. Compiling with Visual Studio 2010 and 2013 is supported.
  • 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