Desktop yoxsa veb tətbiq? Düzgün seçim bələdçisi
Xülasə
İstifadəçilər müxtəlif yerlərdən və cihazlardan daxil olacaqsa, internet sabitdirsə və yeniləmələr tez-tez olacaqsa, veb tətbiq seçin. Proqram internetsiz işləməli, printer və tərəzi kimi avadanlıqla birbaşa əlaqə qurmalı və ya yerli fayllarla çox işləməlidirsə, desktop proqram daha uyğundur. PWA isə ikisi arasında yüngül orta yoldur.
Desktop yoxsa veb tətbiq? Bu sual adətən biznes öz daxili proqramını, məsələn, anbar uçotu, hesabat və ya kassa proqramını sifariş etmək istəyəndə yaranır. Doğru cavabı texnologiya yox, proqramın harada, kim tərəfindən və hansı şəraitdə istifadə olunacağı müəyyən edir. Mən İbrahim Əliyevəm, codeyev adı ilə həm veb tətbiqlər, həm də Electron ilə desktop proqramlar hazırlayıram. Bu yazıda seçimi asanlaşdıran meyarları izah edirəm.
Desktop proqram ilə veb tətbiq arasında fərq nədir?
Veb tətbiq brauzerdə işləyir və quraşdırma tələb etmir; desktop proqram isə kompüterə quraşdırılır və əməliyyat sisteminin resurslarına birbaşa çıxış əldə edir. Seçimi müəyyən edən əsas fərq budur.
Veb tətbiqdə kod və məlumatlar serverdə olur: istifadəçi linki açır, daxil olur və işləyir. Desktop proqram isə kompüterin özündə işləyir; internetə qoşulmadan da işləyə, yerli faylları oxuyub yaza, kompüterə qoşulmuş cihazlarla əlaqə qura bilir. Bu gün ikisi arasındakı sərhəd əvvəlki qədər kəskin deyil: eyni veb texnologiyaları ilə yazılmış tətbiq həm brauzerdə açıla, həm də installer faylı kimi paylana bilər.
PWA nədir və nə vaxt kifayət edir?
PWA (Progressive Web App) brauzerdən kompüterə və ya telefona “quraşdırıla” bilən veb tətbiqdir. Öz pəncərəsində açılır, ikonu iş masasında və ya ana ekranda durur və service worker sayəsində müəyyən qədər oflayn işləyə bilir. iPhone və iPad-də isə brauzerin “Paylaş” menyusundakı “Ana ekrana əlavə et” əmri ilə quraşdırılır.
PWA adətən bu hallarda kifayətdir:
- istifadəçilər tətbiqi həm kompüterdən, həm də telefondan açacaqsa;
- internet çox vaxt var və qısa kəsintilərdə əsas ekranların açılması kifayət edirsə;
- mağaza və installer faylları ilə məşğul olmaq istəmirsinizsə.
Məhdudiyyətləri də var: PWA brauzerin yaddaş və icazə qaydalarından asılıdır, avadanlığa çıxış brauzerdən-brauzerə dəyişir və arxa fonda uzun müddət işləyən proseslər üçün uyğun deyil.
Desktop yoxsa veb tətbiq: hansı halda hansı daha yaxşıdır?
Qısa cavab: hər yerdən giriş və asan yeniləmə vacibdirsə veb, oflayn iş və avadanlıq vacibdirsə desktop. Aşağıdakı cədvəl fərqləri ümumiləşdirir.
| Meyar | Veb tətbiq | PWA | Desktop (Electron) |
|---|---|---|---|
| Quraşdırma | Lazım deyil, brauzerdə açılır | Brauzerdən bir kliklə | Installer faylı lazımdır |
| İnternetsiz iş | Adətən yoxdur | Məhdud, keşlənmiş hissələr | Tam oflayn, sonra sinxronizasiya |
| Avadanlıq və fayllara çıxış | Məhdud | Brauzerdən asılıdır | Birbaşa |
| Yeniləmə | Dərhal, serverdə | Avtomatik, növbəti açılışda | Avtomatik yeniləmə mexanizmi ilə |
| Çox istifadəçi, çox cihaz | Çox asan | Asan | Ortaq data üçün backend lazımdır |
| Əlavə paylanma xərcləri | Hostinq | Hostinq | Kod imzalama, yeniləmə serveri |
Bəzi layihələrdə ən yaxşı cavab ikisinin birləşməsidir: idarəetmə və hesabat ekranları vebdə, kassadakı və ya anbardakı ekran isə oflayn işləyən desktop proqramda. Hər iki tərəf eyni backend-dən və çox vaxt eyni interfeys kodundan istifadə edir, ona görə xərc adətən iki ayrı məhsul qədər artmır.
Proqram internetsiz işləməlidirsə, nə seçmək lazımdır?
İnternet kəsiləndə iş dayanmamalıdırsa, desktop proqram seçin. Məsələn, anbarda, tikinti obyektində və ya bağlantının zəif olduğu satış nöqtəsində proqram tam oflayn işləməli və bağlantı bərpa olunanda məlumatları serverlə sinxronlaşdırmalıdır.
Bu “oflayn və sinxronizasiya” modeli diqqətli dizayn tələb edir: iki nəfər eyni qeydi fərqli yerlərdə dəyişsə, hansının qüvvədə qalacağı və ziddiyyətlərin necə həll olunacağı əvvəlcədən müəyyən edilməlidir. Ona görə paketlərimdə “oflayn + sinxronizasiya” rejimi Mürəkkəb paketə daxildir. Bağlantı əksər vaxt varsa və kəsintilər qısadırsa, yaxşı qurulmuş PWA daha az xərclə kifayət edə bilər.
Printer, barkod skaneri kimi avadanlıqla hansı daha asan işləyir?
Avadanlıq işin mərkəzindədirsə, desktop proqram daha asan və etibarlıdır. Desktop proqram çek printerlərinə, serial port ilə qoşulan tərəzi kimi cihazlara və yerli fayl sisteminə birbaşa çıxış əldə edir.
Brauzer tərəfində WebUSB, Web Serial və WebHID kimi interfeyslər var, lakin onlar hazırda əsasən Chrome və Edge kimi Chromium əsaslı brauzerlərdə işləyir. Yəni veb tətbiq və ya PWA ilə avadanlıq dəstəyi istifadəçinin hansı brauzerdən istifadə etməsindən asılı qalır. Bir istisna var: USB barkod skanerlərinin çoxu kompüterə klaviatura kimi qoşulur və oxuduğu kodu klaviaturadan yazılmış kimi daxil edir. Belə skanerlər veb tətbiqlərdə də problemsiz işləyir.
Yeniləmə və paylanma necə fərqlənir?
Veb tətbiqdə yeniləmə bir dəfə serverə yüklənir və hamı növbəti açılışda yeni versiyanı görür. Desktop proqramda isə yeni versiya hər kompüterə çatmalıdır, bunun üçün avtomatik yeniləmə mexanizmi qurulur.
Desktop paylanmanın iki praktik detalı da var:
- Windows: imzasız installer faylları SmartScreen xəbərdarlığı göstərə bilər; kod imzalama sertifikatı bu etibar problemini azaldır.
- macOS: App Store-dan kənar paylanan proqramlar Developer ID ilə imzalanmalı və Apple-ın notarizasiyasından keçməlidir, əks halda Gatekeeper proqramın adi qaydada açılmasına imkan vermir.
Sertifikat və üzvlük haqları hazırlıq haqqından ayrı xərclərdir və birbaşa müvafiq provayderlərə ödənilir. Korporativ mühitdə proqramı quraşdırmaq üçün administrator hüququ da tələb oluna bilər, veb tətbiqdə isə belə maneə yoxdur.
Xərc baxımından hansı daha sərfəlidir?
Oflayn iş və avadanlığa çıxış lazım deyilsə, veb tətbiq adətən daha qənaətcildir: paylanma, imzalama və quraşdırma dəstəyi kimi xərclər aradan qalxır. Desktop proqram isə bu ehtiyaclar həqiqətən varsa, əlavə xərcinə dəyir.
Electron burada yaxşı orta yoldur: Chromium və Node.js üzərində qurulduğu üçün veb texnologiyaları ilə yazılan proqram Windows, macOS və Linux-da bir kod bazası ilə işləyir. VS Code, Slack və Discord kimi geniş yayılmış proqramlar da Electron ilə hazırlanıb. Dürüst olmaq lazımdır: Electron proqramlarının quraşdırma həcmi və yaddaş istifadəsi platformaya xas (native) proqramlardan yüksəkdir, amma əksər biznes proqramlarında bu fərq problem yaratmır.
Qiymətlərə gəlincə, desktop proqram hazırlanması paketlərimdə MVP 2000 AZN-dən, backend, hesablar və avtomatik yeniləmə olan Standart paket isə 3500 AZN-dən başlayır. Oflayn sinxronizasiyalı və xüsusi inteqrasiyalı layihələr fərdi təkliflə qiymətləndirilir. Veb tərəfdəki paketlər saytların hazırlanması səhifəsindədir: landing 500 AZN-dən başlayır, istifadəçi hesabları olan veb tətbiqlər isə eyni texnologiyalarla fərdi layihə kimi qiymətləndirilir. Brauzerdə işləyən daxili idarəetmə sisteminə real nümunə iron-group.kz layihəsidir: Astanadakı metal prokat təchizatçısı üçün Next.js ilə qurduğum saytın xüsusi admin paneli.
Qərar verməzdən əvvəl hansı sualları vermək lazımdır?
Bu beş suala cavab qərarın böyük hissəsini verir:
- Proqram internetsiz də işləməlidirmi?
- Printer, tərəzi, serial port cihazı kimi avadanlığa qoşulacaqmı?
- Neçə nəfər, neçə fərqli yerdən və hansı cihazlardan istifadə edəcək?
- Yeniləmələr nə qədər tez-tez olacaq?
- Məlumatlar mərkəzi serverdə, yoxsa kompüterin özündə saxlanmalıdır?
İlk iki suala cavabınız “bəli”dirsə, desktop proqram önə çıxır. İstifadəçilər çox və müxtəlif yerlərdədirsə, yeniləmələr də tez-tez olacaqsa, veb tətbiq daha uyğundur. Beşinci sualın cavabı isə arxitekturanı müəyyən edir: mərkəzi server, yerli saxlama və ya ikisinin sinxronizasiyası. Mobil variantı da nəzərdən keçirirsinizsə, mobil tətbiq qiyməti yazısına baxın. Əmin deyilsinizsə, ehtiyacınızı qısa brif formasında yazın, 24 saat ərzində sizə uyğun variant və iş həcmi ilə təklif göndərim.
Tez-tez verilən suallar
Eyni kodla həm veb, həm desktop tətbiq hazırlamaq olarmı?
Bəli. Electron veb texnologiyaları ilə yazılmış tətbiqi Windows, macOS və Linux üçün installer faylına çevirir. İnterfeys və iş məntiqinin böyük hissəsi ortaq qalır; yalnız fayllar, avadanlıq və yeniləmə kimi desktopa xas hissələr ayrıca yazılır.
Hansı daha təhlükəsizdir: desktop, yoxsa veb?
Düzgün qurularsa, hər ikisi təhlükəsizdir, sadəcə risklər fərqlidir. Veb tətbiqdə məlumatlar serverdə mərkəzləşdirilmiş şəkildə qorunur və yeniləmələr dərhal hamıya çatır. Desktop proqramda məlumatlar kompüterdə qala bilər, ona görə şifrələmə, ehtiyat nüsxə və yeniləmələrin vaxtında paylanması önəm qazanır.
Mövcud saytımı desktop proqrama çevirmək olarmı?
Çox vaxt bəli, amma saytı sadəcə ayrıca pəncərəyə yerləşdirmək kifayət deyil. Desktop proqramın real dəyəri oflayn iş, yerli fayllara və avadanlığa çıxış kimi imkanlardan gəlir, bu hissələr isə ayrıca planlaşdırılmalıdır.
Desktop proqram hazırlamaq neçəyə başa gəlir?
MVP paketi 2000 AZN-dən, backend, hesablar və avtomatik yeniləmə olan Standart paket isə 3500 AZN-dən başlayır. Oflayn sinxronizasiya və xüsusi inteqrasiya tələb edən layihələr fərdi təkliflə qiymətləndirilir.