Sari la conținut
Tehnologie

De ce construim aplicații macOS mici și native pentru dezvoltatori

ME Digital3 septembrie 2026
macOS
Aplicații native
Dezvoltatori
Confidențialitate
De ce construim aplicații macOS mici și native pentru dezvoltatori

Pe lângă proiectele pentru clienți, facem aplicații macOS mici pentru dezvoltatori. Iată ce principii le ghidează: o singură treabă bine făcută, date care rămân pe Mac și onestitate despre ce nu știu.

Pe lângă automatizările și software-ul custom pe care le facem pentru firme, ME Digital construiește și un set de aplicații macOS pentru dezvoltatori: Deckhand, ConvMover, GitPulse, BurnRate, PortClear, DockerSpace, Vitals, PromptBar și MTW Tmux. Nu sunt un produs de masă. Sunt unelte mici, făcute pentru probleme pe care le întâlnim noi înșine în fiecare zi.

Acest articol explică de ce am ales formula „mică și nativă” și ce înseamnă ea în practică. Cititorul tehnic va recunoaște deciziile; cel netehnic poate lua din el un criteriu pentru orice software: ce face unealta, ce vede și ce lasă în urmă.

O singură treabă, bine făcută

Fiecare aplicație răspunde unei probleme precise:

  • PortClear arată ce ține ocupat un port sau ce foldere de dependențe s-au adunat pe disc.
  • DockerSpace grupează containerele, imaginile și volumele Docker pe proiecte, ca să știi ce poți curăța.
  • GitPulse ține în bara de meniu starea mai multor depozite Git.
  • BurnRate transformă transcrierile de pe disc ale unei sesiuni de lucru cu un asistent AI într-un ritm de consum.
  • Vitals verifică sesiunile Claude Code care rulează pe Mac.
  • MTW Tmux este o fereastră nativă deasupra lui tmux.

O unealtă mică are un avantaj greu de câștigat în alt fel: poți spune într-o frază ce face. Dacă nu poți, probabil face prea mult. Această restricție ne ajută și ca să spunem onest și ce nu face (paginile fiecărei aplicații au o secțiune despre limite).

Un banc de lucru cu șase unelte mici așezate în rând, fiecare cu o formă diferită și un singur scop

De ce native

„Nativ” înseamnă aici că aplicația e scrisă pentru macOS, nu o pagină web împachetată într-o fereastră. De exemplu, Deckhand este construită cu Swift 6 și SwiftUI, iar paginile aplicațiilor indică versiunea minimă de macOS cerută (în prezent 14.0 sau mai nouă pentru cele care o specifică).

Nu spunem asta din snobism. Aplicațiile pentru dezvoltatori stau aproape de sistem: citesc procese, porturi, foldere, containere, depozite Git. Lucrul acesta e mai direct dintr-o aplicație nativă, care are acces firesc la ce oferă sistemul: bara de meniu, notificările, Keychain-ul pentru secrete, integrarea cu fereastra și cu tastatura. Iar o aplicație care nu include un motor de browser întreg nu are de ce să-ți consume resurse de dragul interfeței.

Dezavantajul e real: aplicațiile noastre rulează doar pe macOS. Alegem să facem bine un lucru pe o platformă, nu mediocru pe toate.

Date care rămân pe Mac

Unealtă pentru dezvoltatori înseamnă acces la lucruri sensibile: nume de proiecte, căi de foldere, conversații cu asistenți AI, depozite private. De aceea, principiul nostru este ca informațiile despre munca ta să rămână pe calculatorul tău.

Câteva exemple, așa cum le descriu paginile aplicațiilor:

  • DockerSpace rulează comenzile Docker local, prin CLI-ul de pe mașina ta, iar pagina aplicației spune că nimic din ce găsește scanarea nu pleacă spre vreun server.
  • PortClear declară că scanarea și ștergerea rulează pe Mac, iar verificarea de actualizări pornește doar când o ceri tu.
  • Vitals își ține înregistrările într-un magazin local SQLite.
  • GitPulse poate folosi, opțional, API-ul GitHub și, dacă activezi rezumatele, furnizorul AI ales de tine; acestea sunt scrise explicit ca dependențe de rețea.

Acolo unde o aplicație trebuie să comunice cu un server, avem regula de a scrie exact ce trimite și când, în licență. Despre asta vorbim într-un articol separat, despre licențiere.

Să spui „nu știu” este o funcție

Un instrument de diagnostic care ghicește cu încredere e mai periculos decât unul care spune că nu știe. Câteva alegeri de design care vin din asta:

  • BurnRate arată un consum necunoscut ca „necunoscut”, nu ca zero, când un model nu are preț în tabel. Un total marcat „cel puțin atât” e onest.
  • Vitals spune că nu poate confirma un verdict când nu are de unde, în loc să arate un verdict liniștitor și fals; „necunoscut” nu devine „vechi” și nu se ascunde în spatele lui „0 sesiuni”.
  • PortClear arată, înainte de oprirea unui proces, ce proces este, de cât timp rulează și motivul exact pentru care a fost semnalat.
Un indicator cu trei stări distincte: plin, gol și un semn de întrebare, așezat pe un birou

Acțiuni periculoase: pași mici, confirmate

O unealtă care poate șterge ceva trebuie să facă greu un lucru ireversibil. De exemplu, GitPulse blochează în cod operații precum force-push sau reset --hard, iar celelalte scrieri cer un token de confirmare. DockerSpace nu șterge nimic până nu alegi un proiect și confirmi. Nu e spectaculos, dar e diferența dintre o unealtă în care ai încredere și una de care te temi.

Ce nu spunem

Nu publicăm cifre de vânzări sau de utilizatori și nu promitem lucruri pe care pagina unei aplicații nu le susține. Unele aplicații sunt noi, unele funcții sunt încă oprite deliberat și venite pe etape, iar paginile spun asta. Unele depind de formate pe care nu le controlăm (de pildă BurnRate citește un format al unei alte aplicații și poate fi afectat când acela se schimbă). Preferăm să scriem limitele decât să le descoperi tu după plată.

De ce contează pentru un patron

Dacă nu ești dezvoltator, aplicațiile acestea nu sunt pentru tine. Dar aceleași principii le aplicăm în proiectele pentru clienți: o sarcină clară, date tratate cu grijă, spus deschis ce știe și ce nu știe un sistem, acțiuni importante cu confirmare. Aplicațiile sunt, într-un fel, laboratorul în care le exersăm.

Dacă vrei să le vezi, aplicațiile sunt aici; iar dacă ai nevoie de ceva similar făcut pentru firma ta, vezi software custom sau scrie-ne.

Vrei să discutăm despre firma ta?

Scrie-ne și stabilim o discuție, fără obligații.

Contactează-ne
Audit gratuit