Miranda NG:O projekcie

From Miranda NG
Miranda NG:About/pl
Jump to navigation Jump to search
This page is a translated version of the page Miranda NG:About and the translation is 100% complete.

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)

Wspierane systemy operacyjne

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


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

  • Projekt zawiera rdzeń i wszystkie wtyczki, także każdy członek zespołu może sprawdzić (i poprawić w razie konieczności) kod każdej wtyczki.
  • Każda kolejna wersja Mirandy NG jest kompatybilna tylko ze sobą (tzn. wszystkie wtyczki tego samego wydania są ze sobą kompatybilne, podczas gdy sąsiednie wydania mogą być całkowicie niekompatybilne). Rozwiązuje to problem kompatybilności między wersjami, pozwala na pozbycie się zbędnego kodu i otwiera pole do optymalizacji zarówno rdzenia jak i wtyczek.
  • ANSI nie jest więcej wspierane. Zapewnione jest wsparcie dla kompilacji przy użyciu Visual Studio 2015 i 2017.
  • Każdy członek zespołu ma inne prawa dostępu. Niektórzy mogą wnosić poprawki do każdego kodu, niektórzy tylko do wtyczek. Inni zaś zaangażowani są w bug-tracker i wiki.

Zalety Mirandy NG

  • Wtyczki mogą być włączane i wyłączane dynamicznie (“w locie”) bez konieczności restartu programu.
  • Wzrosła szybkość uruchamiania i operacji programu.
  • Zapotrzebowanie na zasoby systemowe (GDI i RAM’u) zostało znacząco ograniczone. Osiągnięto to przez wydzielenie nieużywanych części rdzenia do osobnych modułów (zostały one umieszczone w folderze Core).
  • Wszystkie wtyczki zebrane są w jednym repozytorium. Wszelkie konieczne zmiany wprowadzane są do nich natychmiast, bez czekania na reakcję twórców wtyczek (co może trwać miesiące w przypadku Mirandy IM).
  • Poczyniono wiele kroków w kierunku unifikacji – wiele funkcji realizowanych w różnych wtyczkach niezależnie od siebie przeniesiono do rdzenia Mirandy.
  • Pozbyto się starych błędów i „ułomnego” kodu, co zwiększyło ogólną stabilność programu.
  • Niektórzy programiści, którzy z różnych powodów zarzucili rozwój wtyczek Mirandy IM, powrócili, by wesprzeć rozwój Mirandy NG.

Cechy oraz różnice względem Mirandy IM

  • Ze względu na ogromne zmiany w rdzeniu, Miranda NG nie jest kompatybilna z wtyczkami dla Mirandy IM.
  • Podstawowe moduły rdzenia Mirandy NG zostały wyodrębnione do folderu Core, w katalogu głównym programu. Moduły te nie są ładowane do pamięci, jeśli ich "zamienniki" znajdują się w folderze Plugins. Ponadto, są one ładowane automatycznie, gdy "zamienniki" zostają odłączone. Oszczędza to pamięć i zmniejsza czas ładowania programu. (Miranda IM ładuje do pamięci nieużywane moduły wraz z ich używanymi "zamiennikami".)
  • ANSI nie jest więcej wspierane. Rdzeń i wszystkie wtyczki w całości obsługują Unicode.
  • Pasek narzędzi zaimplementowany, na swój sposób, w każdej wtyczce listy kontaktów został zastąpiony wtyczką TopToolBar, która przeszła wiele zmian.
  • Teraz sprawdzanie i kompresja bazy danych jest przeprowadzana przez jej sterownik. (Miranda IM musi mieć odrębne dbtool dla każdego rodzaju bazy danych.) W związku z tym wtyczki DbChecker i Import muszą tylko wywołać odpowiedni sterownik i nie ma już potrzeby posiadania odrębnego narzędzia dla każdego sterownika.
  • Wtyczka PluginUpdater zadba o aktualność Twojej Mirandy NG.
  • Wtyczka ExtraIcons została wcielona w rdzeń programu.

Zobacz także

Zewnętrzne linki