În ultimii cincisprezece ani, aproape tot software-ul de business s-a mutat în browser: contabilitate, CRM, gestiune, comunicare. Pentru majoritatea aplicațiilor, e o mutare bună: nu instalezi nimic, lucrezi de oriunde, actualizările ajung la toată lumea deodată.

Dar „aproape tot” nu înseamnă „tot”. Sunt situații în care o aplicație instalată pe calculator face lucruri pe care browserul nu le poate face sau le face mult mai prost.

Unde desktop-ul rămâne alegerea potrivită

Putere de calcul și fișiere mari. Proiectare, modelare 3D, procesare de imagini sau video, calcule pe seturi mari de date. O aplicație desktop folosește direct procesorul, placa video și discul, fără să urce gigabytes pe un server și înapoi.

Echipamente conectate la calculator. Imprimante fiscale și de etichete, cântare, cititoare de coduri și de carduri, echipamente de laborator sau de producție. Multe comunică prin porturi și drivere la care un browser nu are acces sau are acces limitat.

Lucrul fără internet. Echipe pe teren, ateliere, săli fără semnal sau rețele izolate din motive de securitate. O aplicație desktop lucrează local, iar când conexiunea revine se sincronizează cu serverul.

Add-on-uri pentru programele pe care le folosești deja. Multe programe profesionale permit extensii: pluginuri pentru programe de proiectare, add-on-uri pentru suitele de birou, module pentru programe de contabilitate. Acestea rulează în interiorul programului, deci sunt, prin natura lor, software desktop. De exemplu, pentru platforma hashtagBIM am construit pluginuri pentru programele de arhitectură, care leagă modelul din programul de proiectare de specificațiile din platformă, în timp real.

Date care nu au voie să plece din firmă. Când datele sunt confidențiale sau reglementate, o aplicație care lucrează local, pe calculatoarele firmei, simplifică mult lucrurile.

Utilitare și servicii de sistem. Programe care rulează în fundal, monitorizează, sincronizează sau automatizează sarcini pe calculator.

Tehnologiile, pe scurt

Nu există o tehnologie potrivită pentru orice aplicație desktop. Alegem după cerințe:

Tehnologie Când o folosim
Rust, C++ viteză maximă, memorie puțină, acces direct la sistem și la echipamente, pluginuri pentru alte programe
Go utilitare rapide și servicii care rulează în fundal
C# / .NET aplicații Windows, legate de ecosistemul Microsoft
Tauri interfață modernă, aceeași pe Windows, macOS și Linux, cu aplicații foarte mici
Electron interfață modernă, cu ecosistemul complet al web-ului

Diferența dintre ultimele două contează: Electron include în fiecare aplicație un browser întreg (așa sunt construite, de exemplu, Visual Studio Code sau Slack), deci aplicațiile sunt mai mari și consumă mai multă memorie. Tauri folosește componenta web deja existentă în sistemul de operare, iar o aplicație minimă poate avea sub 600 KB1.

Ce presupune o aplicație desktop, dincolo de cod

O aplicație web se publică pe un singur server. O aplicație desktop trebuie să ajungă pe zeci sau sute de calculatoare diferite și să funcționeze pe toate. Asta aduce câteva lucruri de care trebuie să se ocupe cineva:

  • Instalatoare pentru fiecare sistem de operare. Windows, macOS și, la nevoie, Linux, fiecare cu formatul lui.
  • Semnătura digitală. Pe Windows, un program nesemnat declanșează avertismente de securitate la instalare. Pe macOS, Gatekeeper verifică certificatul de dezvoltator, iar aplicațiile distribuite în afara Mac App Store trebuie trimise la Apple pentru verificare (notarizare)2. Fără ele, utilizatorii văd mesaje care îi sperie sau nu pot instala deloc.
  • Actualizări automate. Altfel, peste un an vei avea cinci versiuni diferite pe calculatoarele echipei, fiecare cu alte erori.
  • Testare pe fiecare sistem. Ce merge pe Windows nu merge automat pe macOS, iar o actualizare de sistem poate schimba lucruri.

Le includem pe toate în proiect: livrăm instalatoare semnate și actualizări automate, ca utilizatorii să nu reinstaleze nimic.

Desktop și web, împreună

Cele mai bune soluții combină adesea cele două lumi: o aplicație desktop pentru ce trebuie făcut local și o platformă web pentru tot restul, cu aceleași date. Echipa lucrează pe calculator, inclusiv offline; managerii văd rapoartele din browser, de oriunde; totul rămâne sincronizat.

Cum alegem

  1. Ce trebuie să facă aplicația? Calcule grele, fișiere mari, echipamente, add-on-uri sau lucru offline indică spre desktop. Altfel, o aplicație web e de obicei mai simplă.
  2. Pe ce sisteme de operare? Doar Windows sau Windows, macOS și Linux?
  3. Cine o folosește și de unde? O echipă într-un birou sau oameni care lucrează de oriunde?
  4. Cine o întreține? Tehnologia aleasă trebuie să poată fi întreținută ani de zile, nu doar livrată.

Dacă ai o aplicație desktop veche, scrisă într-o tehnologie care nu mai e întreținută, o putem muta pe una actuală, păstrând datele și funcțiile de care ai nevoie.

Vezi cum facem aplicațiile desktop

Imaginea de copertă: Lee Campbell, Wikimedia Commons (CC0)