Mobil tətbiqin qurulması və nəşri — mənbə kodun quraşdırıla bilən fayla (APK, AAB, IPA) çevrilməsi və tətbiq mağazalarına yüklənməsi prosesidir. Google Play Console (2025)-ə görə, Android App Bundle (AAB) 2021-ci ilin avqustundan Google Play-də nəşr üçün məcburi formatdır. Bu məqalədə qurma formatlarını, kompilyasiyanı, kod imzalamanı, nəşr prosesini və beta testini nəzərdən keçirəcəyik.
Əsas məqamlar
APK (Android Package Kit) — Android-də mobil tətbiqlərin qurulması və nəşri üçün ənənəvi format. APK tətbiqin bütün kodunu, resurslarını və manifestini ehtiva edir. AAB (Android App Bundle) — Google tərəfindən 2018-ci ildə təqdim edilmiş və 2021-ci ilin avqustundan yeni tətbiqlər üçün məcburi olan format. AAB birbaşa quraşdırılmır — Google Play hər cihaz üçün AAB-dan optimallaşdırılmış APK-nı dinamik olaraq yaradır.
AAB-ın üstünlükləri: yükləmə ölçüsü orta hesabla 15% daha kiçikdir (yalnız lazımi resursları çatdırmaqla: düzgün ekran sıxlığı, dillər, CPU arxitekturaları). AAB həmçinin modul çatdırılmanı dəstəkləyir — modulları tələb üzrə (Play Feature Delivery) və ya gecikməli (Play On-Demand) yükləyə bilərsiniz. Tərtibatçılar üçün AAB məcburidir; Google Play xaricində yayılma (sideloading, bazar yerləri) üçün — yalnız APK.
IPA (iOS App Store Package) — iOS quraşdırma faylı, imzalanmış tətbiqi olan ZIP arxividir. IPA-da Payload/ qovluğunda .app paketi, Provisioning Profile və imza olur. IPA yalnız macOS-da Xcode vasitəsilə qurulur, arxiv (.xcarchive) yaradır və IPA-nı ixrac edir. App Store vasitəsilə yayılma üçün IPA Apple Distribution Certificate ilə imzalanır; Ad Hoc və ya Enterprise üçün — müvafiq sertifikatlarla.
| Parametr | APK | AAB | IPA |
|---|---|---|---|
| Platforma | Android | Android (Google Play) | iOS |
| Format | ZIP arxivi | ZIP arxivi | ZIP arxivi |
| Birbaşa quraşdırma | Bəli | Xeyr (Google Play ilə) | App Store / MDM ilə |
| İmza | Keystore (JKS) | Keystore (JKS/PEPK) | Apple Certificate |
| App Thinning | Xeyr | Bəli (avtomatik) | Bəli (Slicing, Bitcode) |
JIT (Just-In-Time) — tətbiqin icrası zamanı kodun kompilyasiyası, qurma və nəşr sürətinə təsir edir. Android 5.0 (Lollipop) versiyasına qədər JIT kompilyasiyası ilə Dalvik VM istifadə olunurdu. Hər tətbiq işə salındıqda DEX bayt kodu «ani olaraq» maşın koduna çevrilirdi. Çatışmazlıq: ilk işə salınmada yavaşlama və əlavə enerji sərfiyyatı. AOT (Ahead-Of-Time) — tətbiq işə salınmazdan əvvəl, quraşdırma zamanı kodun kompilyasiyası. Android 7.0 (Nougat)-dan etibarən ART (Android Runtime) tətbiqi quraşdırma zamanı tamamilə kompilyasiya edir.
ART (Android Runtime) — Android 5.0-da Dalvik-i əvəz edən işləmə mühiti. ART hibrid yanaşmadan istifadə edir: quraşdırma zamanı AOT kompilyasiyası + tez-tez icra olunan metodlar üçün JIT. Bu, AOT sürətini (sürətli başlanğıc) JIT çevikliyi ilə (adaptiv optimallaşdırma) birləşdirir. Nəticə: Dalvik ilə müqayisədə Android tətbiqlərinin performansı 20-30% artdı. Tərtibatçılar üçün ART-yə keçid şəffafdır — kod dəyişiklik tələb etmir.
Bitcode — Apple-ın müxtəlif prosessor arxitekturaları üçün IPA-nı yenidən kompilyasiya etmək üçün istifadə etdiyi aralıq kod təsviri (IR). Bitcode isteğe bağlıdır: iOS tətbiqləri üçün standart olaraq aktivdir, watchOS və tvOS üçün məcburidir. Apple yeni prosessorlar çıxdıqda tərtibatçının iştirakı olmadan Bitcode-u yenidən kompilyasiya edə bilər. App Thinning — Apple-ın Slicing (cihaz üçün yalnız lazımi resursları çatdırma) və On-Demand Resources (tələb üzrə resurs yükləmə) daxil olan texnologiyası. App Thinning App Store-dan yükləmə ölçüsünü 30-50% azaldır.
DEX — Android üçün bayt kodu formatı, ART/Dalvik tərəfindən icra olunur. Kotlin/Java mənbə kodu class fayllarına kompilyasiya olunur, sonra dx və ya d8 (müasir və daha sürətli alət) vasitəsilə DEX-ə çevrilir. Multidex — tək DEX faylında 65,536 metod limitini aşan tətbiqlər üçün mexanizm. Müasir layihələrdə targetSdkVersion >= 21 olduqda multidex avtomatik aktivləşir.
Keystore — qurma zamanı Android tətbiqini imzalamaq üçün şəxsi açar və sertifikatı ehtiva edən fayl. Keystore keytool (-genkey əmri) və ya Android Studio vasitəsilə yaradılır. Vacib: Keystore itirilə bilməz — onsuz Google Play-də tətbiqi yeniləyə bilməzsiniz. İmza parametrləri: keyAlias, keyPassword, storePassword və storeFile. Format: JKS (Java KeyStore) və ya AAB üçün PEPK (Play Encrypted Private Key).
App Bundle ID (Android) — paket notasiyasında (com.example.app) tətbiqin unikal identifikatoru. Version Code — daxili versiya nömrələməsi üçün tam ədəd (hər yeni qurma onu artırır). Version Name — istifadəçiyə göstərilən sətir (1.2.3). Bu parametrlər build.gradle-da tətbiq səviyyəsində təyin edilir.
Apple Certificate — tərtibatçının şəxsiyyətini təsdiq edən rəqəmsal sertifikat. Növləri: Development (debug üçün), Distribution (App Store üçün), Ad Hoc (məhdud yayılma üçün). Sertifikatlar Apple Developer Account-da yaradılır və Keychain-ə yüklənir. Provisioning Profile — sertifikatı, App ID-ni (Bundle Identifier) və icazə verilən cihazların siyahısını birləşdirən fayl. Provisioning Profile olmadan tətbiq cihazda işləməyəcək.
Bundle ID (iOS) — tətbiqin unikal identifikatoru (com.example.app). Build Number — hər qurmada artan qurma nömrəsi. Marketing Version — istifadəçiyə göstərilən versiya. Versiya idarəetməsi: iOS üçün parametrlər Info.plist və Project Settings-də təyin edilir; Android üçün — build.gradle-da. IT Sectr-də, versiya yeniləmələrini Fastlane vasitəsilə avtomatlaşdırırıq — bu, buraxılış zamanı insan səhvlərini aradan qaldırır.
Google Play Console — Android tətbiqlərini nəşr etmək üçün alət. Proses: tərtibatçı hesabı qeydiyyatı ($25 birdəfəlik), tətbiq yaratma, metadata doldurma (ad, təsvir, ekran görüntüləri, kateqoriya), AAB yükləmə, qiymət və yayılma konfiqurasiyası, baxış. Google tətbiqi avtomatik (viruslar, siyasətə uyğunluq) və bəzi kateqoriyalar üçün əl ilə yoxlayır. Baxış bir neçə saatdan 2-3 günə qədər çəkir.
App Store Connect — iOS tətbiqlərini nəşr etmək üçün Apple platforması. Proses: Apple tərtibatçı hesabı ($99/il), App Store Connect-də tətbiq yaratma, Xcode-da IPA hazırlama (Archive → Distribute App → App Store Connect), Transporter və ya Xcode vasitəsilə yükləmə, metadata doldurma, baxışa göndərmə. App Review — Apple-ın əl ilə baxışı 24 saatdan 7 günə qədər çəkə bilər. İmtinanın tipik səbəbləri: işləməyən düymələr, natamam məzmun, izahatsız icazə sorğusu.
TestFlight — iOS tətbiqlərinin beta testi üçün Apple-ın rəsmi aləti. TestFlight Internal Testing (e-poçtla 100 testçiyə qədər, baxış olmadan) və External Testing (10,000 testçiyə qədər, Apple baxışı ilə) dəstəkləyir. Qurmalar 90 gün ərzində mövcuddur, bundan sonra yeni qurma yüklənməlidir. TestFlight yeni qurma yükləndikdə testçilərin tətbiqini avtomatik yeniləyir.
Internal Testing (Android) — 100 testçiyə qədər, Google baxışı olmadan, qurma dərhal mövcuddur. Closed Beta — e-poçt və ya Google Groups ilə 1000 testçiyə qədər, baxış olmadan. Open Beta — açıq link vasitəsilə limitsiz testçi, Google baxışı ilə. Staged Rollout — yeniləməni alan istifadəçilərin faizinin tədricən artırılması (5% → 20% → 50% → 100%). Bu, ən təhlükəsiz buraxılış üsuludur.
App Thinning (iOS) — yüklənən IPA ölçüsünün avtomatik azaldılması: Slicing (cihaz üçün yalnız lazımi resurslar), Bitcode (prosessor optimallaşdırması), On-Demand Resources (tələb üzrə yükləmə). IT Sectr-də, iOS beta testi üçün TestFlight, Android üçün Internal Testing istifadə edirik — bu, kütləvi buraxılışdan əvvəl problemləri aşkarlamağa imkan verir.
Tez-tez verilən suallar
APK — universal quraşdırma faylı, istənilən cihazda işləyir. AAB — hər cihaz üçün optimal APK yaradan Google Play formatı. AAB ilə yükləmə ölçüsü 15% daha kiçikdir. Google Play üçün AAB məcburidir, sideloading üçün — APK.
Google Play-də tətbiqi yeniləyə bilməyəcəksiniz — yeni package name ilə yeni tətbiq yaratmalı olacaqsınız. Keystore-u təhlükəsiz yerdə saxlayın (parol meneceri, şifrələnmiş Git). Google Play App Signing (Google açarlarından istifadə) bu riski azaldır.
Google Play — tərtibatçı hesabı üçün $25 birdəfəlik. App Store — $99/il. Hər iki məbləğ limitsiz tətbiqləri əhatə edir. iOS üçün həmçinin Mac (bundan $999) və ya bulud Mac icarəsi lazımdır.
Staged Rollout — tədricən yeniləmə yayımı: əvvəlcə 5% istifadəçi, sonra 20%, 50% və 100%. Hər hansı mərhələdə çökmələr aşkar olunarsa — yayım dayandırılır. Google Play Console-da mövcuddur.
Android üçün — xeyr, hesab olmadan USB və ya emulyator vasitəsilə cihaza APK quraşdıra bilərsiniz. iOS üçün — bəli, $99/il hesab olmadan tətbiq yalnız simulyatorda işləyəcək, real cihazda yox.
Xülasə
Açar təslim mobil tətbiq hazırlayacağıq
IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.