Co oznacza „natywny” w przypadku klienta Slacka
Oficjalna aplikacja desktopowa Slacka jest zbudowana na Electronie — frameworku, który dołącza pełny silnik przeglądarki Chromium obok kodu aplikacji. Gdy otwierasz Slacka, uruchamiasz kompletną kopię Chrome'a, skonfigurowaną do wyświetlania jednej strony internetowej. Oto dlaczego zużywa od 400 MB do 1 GB RAM-u przy uruchamianiu.
Naprawdę natywny klient podchodzi do tego inaczej: używa zestawu narzędzi interfejsu, takiego jak Qt lub GTK, który renderuje widżety za pomocą stosu graficznego twojego systemu, i wywołuje API Slacka bezpośrednio, zamiast ładować webowy interfejs Slacka w przeglądarce. Efektem jest znacznie niższe zużycie pamięci i niemal zerowe CPU w stanie spoczynku.
Istnieje też złoty środek: nakładki WebView, które zastępują Electron lżejszym środowiskiem uruchomieniowym, ale wciąż renderują webowy interfejs Slacka. Są lżejsze niż oficjalny klient, ale nie są naprawdę natywne.
Projekty, które się zatrzymały
ScudCloud
ScudCloud był jednym z najwcześniejszych linuksowych klientów Slacka, zbudowanym na Qt i WebKit. Nie był naprawdę natywny — wciąż renderował webowy interfejs Slacka w obrębie Qt WebView — ale był lżejszy niż oficjalna aplikacja i sprawiał wrażenie pełnoprawnego obywatela linuksowego pulpitu. Rozwój ustał około 2018 roku, gdy Slack zaczął ograniczać starsze API, od którego ScudCloud zależał. Repozytorium jest teraz zarchiwizowane na GitHubie.
Slacken
Slacken był prawdziwą próbą natywnego klienta Qt5, który wywoływał API Slacka bezpośrednio i renderował prawdziwe widżety pulpitu. Był ambitny — celował w mniej niż 32 MB RAM-u — a architektura była poprawna. Ale nigdy nie osiągnął kompletności funkcji. Ostatni znaczący commit miał miejsce w 2017 roku, a przepływ uwierzytelniania Slacka znacznie się od tego czasu zmienił. Nie połączy się z nowoczesnymi przestrzeniami roboczymi.
slaq
slaq był kolejnym klientem opartym na Qt5, stosującym to samo natywne podejście API. Zaszedł dalej niż Slacken — kanały, wiadomości i podstawowe wiadomości bezpośrednie w pewnym momencie działały. Ale ostatnia istotna aktualizacja pochodzi z około 2019 roku i ma ten sam problem ze zgodnością API. Faktycznie porzucony.
Projekty wciąż aktywne dzisiaj
CrabChat
CrabChat jest napisany w Ruście i Tauri. Jest aktywnie utrzymywany i reprezentuje dobrze wykonane podejście nakładki WebView: zastępując dołączone do Electrona Chromium systemowym WebView Tauri, zużywa około 200–300 MB zamiast 400–600 MB i wciąż renderuje pełny webowy interfejs Slacka, więc otrzymujesz komplet funkcji.
Kompromis polega na tym, że „lżejszy niż Electron” to nie to samo co „natywny”. CPU w stanie spoczynku nie jest bliskie zera, a aplikacja renderuje w WebView, a nie za pomocą widżetów natywnych dla systemu. Jeśli twoim celem są minimalne zasoby i prawdziwy desktopowy interfejs, to krok we właściwym kierunku — ale nie to samo.
slk (interfejs terminalowy)
slk to terminalowy klient Slacka napisany w Go. Jest wyjątkowo lekki — poniżej 20 MB — i uruchamia się na zimno w milisekundach. Jeśli żyjesz w terminalu i potrzebujesz głównie wiadomości tekstowych, wart jest spojrzenia. Ograniczenia są realne: brak obrazów, brak podglądu plików, minimalna obsługa emoji, a konfiguracja wymaga obycia z wierszem poleceń oraz tokenami API Slacka.
msga
msga to natywny klient Slacka zbudowany w Qt6 — tym samym frameworku, którego używają Telegram Desktop, VLC i KDE. Wywołuje API Slacka bezpośrednio i renderuje za pomocą natywnych widżetów Qt. To jedyny aktywnie utrzymywany klient w tej kategorii, który celuje zarówno w realne pokrycie funkcji, jak i prawdziwą integrację z pulpitem.
Pamięć przy uruchamianiu: ~60 MB. CPU w stanie spoczynku: ~0%. Obsługiwane funkcje obejmują wiadomości, kanały i wiadomości bezpośrednie, wątki, wyszukiwanie, udostępnianie plików oraz reakcje emoji. Huddle (głos/wideo) są na mapie drogowej. Projekt jest na licencji GPL-3.0 i obsługuje Linux, macOS oraz Windows.
| Projekt | Status | Podejście | RAM |
|---|---|---|---|
| Oficjalny Slack | Aktywny | Electron | 400 MB – 2 GB+ |
| CrabChat | Aktywny | Tauri / WebView | ~200–300 MB |
| slk (TUI) | Aktywny | Interfejs terminalowy | <20 MB |
| ScudCloud | Zarchiwizowany 2018 | Qt / WebView | — |
| Slacken | Porzucony 2017 | Natywny Qt5 | — |
| slaq | Porzucony 2019 | Natywny Qt5 | — |
| msga | Aktywny | Natywny Qt6 | 60–80 MB |
Jak zdobyć msga
msga jest dostępny dla Linuksa (x86-64), macOS (Apple Silicon) oraz Windowsa. Jest darmowy i open source. Aby bliżej przyjrzeć się temu, co różnica w pamięci oznacza w praktyce, zobacz najlżejszy klient Slacka dla Linuksa.