watchOS: Apple Watch üçün SwiftUI ilə tərtibatın əsasları

Müəllif: IT Sectr Dərc olunub: 2026-02-07 Oxuma vaxtı: 12 dəq

watchOS — 2015-ci ildə ilk saatlarla birlikdə buraxılmış Apple Watch üçün Apple əməliyyat sistemidir. watchOS üçün tətbiq tərtibatı Swift dilində SwiftUI və WatchKit istifadə edilərək aparılır. Xüsusiyyətlər: kiçik düzbucaqlı ekran, 0,3 Vt·s batareyadan məhdud enerji istehlakı və Bluetooth vasitəsilə iPhone ilə sıx inteqrasiya. Counterpoint Research məlumatlarına görə, Apple Watch dünya ağıllı saat bazarının 30%-dən çoxunu tutur.

Əsas məqamlar

  • watchOS — aşağı enerji istehlakına yönəlmiş XNU nüvəli Apple Watch ƏS
  • SwiftUI — watchOS tətbiqlərinin interfeyslərinin hazırlanması üçün əsas freymvork
  • Watch Connectivity — Apple Watch və iPhone arasında məlumat mübadiləsi mexanizmi
  • Smart Stack — watchOS 10-da təqdim edilmiş intellektual vidjet yığını
  • HealthKit — sensorlara giriş üçün freymvork: nəbz, SpO2, temperatur, akselerometr

watchOS nədir?

watchOS — XNU Darwin nüvəsinə əsaslanan Apple ağıllı saatları üçün əməliyyat sistemidir. İlk dəfə 24 aprel 2015-ci ildə Apple Watch Series 0 ilə birlikdə buraxılmışdır. Sistem iOS ilə eyni arxitekturada qurulmuşdur, lakin kiçik displey (1,5-1,9 düym), məhdud yaddaş (Series 9-da 1 GB RAM-a qədər) və minimal enerji istehlakı üçün optimallaşdırılmışdır.

StatCounter məlumatlarına görə (2026), watchOS ağıllı saatlar üçün əməliyyat sistemləri bazarının təxminən 55%-ni tutur, Wear OS və Çin istehsalçılarının mülkiyyət sistemlərini qabaqlayır. Apple hər il watchOS-un əsas yeniləmələrini buraxır, saatları buraxılış anından 5 ilə qədər dəstəkləyir.

watchOS-un əsas xüsusiyyəti — iPhone-dan asılılıqdır. Əksər tətbiqlər məlumat sinxronizasiyası üçün Watch Connectivity-dən istifadə edir. watchOS 6-dan başlayaraq saatlar App Store-dan birbaşa tətbiq quraşdıra bilər, lakin iPhone olmadan tam muxtariyyət yalnız watchOS 9-dan etibarən dəstəklənir.

watchOS versiya tarixçəsi

İlk versiya Watch OS 1.0 üçüncü tərəf tətbiqlərini dəstəkləmirdi — yalnız Apple-ın əvvəlcədən quraşdırılmış tətbiqləri. watchOS 2 (2015) tərtibatçılar üçün SDK-nı açdı. watchOS 3 (2016) tətbiqlərin işə salınmasını 7 dəfə sürətləndirdi. watchOS 6 (2019) saatda App Store-u təqdim etdi. watchOS 9 (2022) dərmanlar və təkmilləşdirilmiş yuxu izləməni əlavə etdi. watchOS 10 (2023) buraxılışdan bəri ən böyük interfeys yeniləməsi oldu.

watchOS versiyasıİlƏsas yenilik
Watch OS 12015İlk versiya, yalnız Apple-ın yerli tətbiqləri
watchOS 22015Açıq SDK, üçüncü tərəf tətbiqləri, Watch Connectivity
watchOS 32016Dərhal tətbiq işə salma, Dock, Scribble
watchOS 62019Saatda App Store, Cycle Tracking, Noise tətbiqi
watchOS 92022Dərmanlar, yuxu fazaları, təkmilləşdirilmiş qaçış yoldaşı
watchOS 102023Smart Stack, Double Tap, yeni saat üzləri

watchOS arxitekturası

watchOS arxitekturası aparat təminatını istifadəçi tətbiqlərindən təcrid edən üç səviyyədən ibarətdir. iOS-dan fərqli olaraq, watchOS komponent yanaşmasından istifadə edir: tətbiq iki hədəfdən — genişlənmə (extension) və iPhone-da hostdan ibarətdir.

Nüvə və sistem xidmətləri

Aşağı səviyyə — S4/S5/S6/S7/S8/S9 Apple çipləri üçün drayverlərlə dəyişdirilmiş XNU nüvəsi. Apple Watch Series 9-da 5,6 milyard tranzistorlu və 4 nüvəli Neural Engine ilə S9 SiP istifadə olunur. Sistem xidmətlərinə Core Bluetooth, Watch Connectivity, HealthKit və Core Motion daxildir. Bütün fon tapşırıqları BGTaskScheduler — enerji istehlakını optimallaşdıran sistem planlayıcısı tərəfindən idarə olunur.

WatchKit — tətbiq səviyyəsi

WatchKit — watchOS tətbiq interfeyslərinin yaradılması üçün freymvorkdur. WKInterfaceController, WKInterfaceGroup, WKInterfaceLabel və WKInterfaceButton daxildir. watchOS 6-dan etibarən Apple WatchKit əvəzinə SwiftUI-i tövsiyə edir. SwiftUI eyni imkanları təmin edir, lakin deklarativ sintaksis və ekran ölçüsünə avtomatik uyğunlaşma ilə: 38 mm (272×340), 42 mm (312×390), 40 mm (324×394), 44 mm (368×448), 45 mm (396×484), 49 mm (410×502 Apple Watch Ultra-da).

Fon rejimləri və enerji istehlakı

watchOS batareyaya qənaət etmək üçün tətbiqlərin fon işini məhdudlaşdırır. Mövcud fon rejimləri: Workout (məşqlər), HealthKit (sağlamlıq monitorinqi), Location (geolokasiya), Audio (audio pleyer) və Complication (saat üzündə məlumatlar). Hər rejim entitlements-da ayrıca capability tələb edir. Tipik enerji istehlakı: aktiv tətbiq — 50-80 mA, fon rejimi — 5-15 mA, Standby — 1-3 mA.

swift
import BackgroundTasks
import WatchKit

/// watchOS-da fon məlumat yeniləməsinin planlaşdırılması
class BackgroundTaskManager: NSObject {

    func scheduleBackgroundRefresh() {
        let request = BGAppRefreshTaskRequest(identifier: "com.example.refresh")
        request.earliestBeginDate = Date(timeIntervalSinceNow: 30 * 60)

        try? BGTaskScheduler.shared.submit(request)
    }

    func handleAppRefresh(task: BGAppRefreshTask) {
        task.expirationHandler = { task.setTaskCompleted(success: false) }

        DataService.shared.fetchData { result in
            switch result {
            case .success:
                ComplicationController.reloadComplications()
                task.setTaskCompleted(success: true)
            case .failure:
                task.setTaskCompleted(success: false)
            }
        }
    }
}

/// WKExtensionDelegate-də fon tapşırığının qeydiyyatı
class ExtensionDelegate: NSObject, WKExtensionDelegate {
    let manager = BackgroundTaskManager()

    func handle(_ backgroundTasks: Set<WKBackgroundTask>) {
        for task in backgroundTasks {
            switch task {
            case let refreshTask as BGAppRefreshTask:
                manager.handleAppRefresh(task: refreshTask)
            default:
                task.setTaskCompleted(success: false)
            }
        }
    }
}

BGTaskScheduler fon tapşırıqlarının optimal anlarda — saat şarjda və iPhone-a qoşulduqda yerinə yetirilməsini təmin edir. WKExtensionDelegate daxil olan fon tapşırıqlarını emal edir və saat üzündə məlumatları yeniləyir. ComplicationController.reloadComplications seçilmiş saat üzündə vidjetləri yeniləyir.

watchOS 10: Smart Stack və Double Tap

watchOS 10 — 2023-cü ilin sentyabrında buraxılmış platforma tarixində ən böyük interfeys yeniləməsidir. Sistem iyerarxik naviqasiyadan məzmun yönümlü naviqasiyaya keçdi: əsas ekran Smart Stack — tətbiq dokunu əvəz edən intellektual vidjet yığını oldu.

Smart Stack

Smart Stack — saat üzü altında göstərilən vidjetlərin şaquli siyahısıdır. Vidjetlər kontekstə görə sıralanır: səhər hava və təqvim, gün ərzində aktivlik və xatırlatmalar, axşam meditasiya və yuxuya hazırlıq göstərilir. Tərtibatçı iOS 17 üçün eyni API-lərdən istifadə edərək WidgetKit vasitəsilə watchOS üçün xüsusi vidjetlər əlavə edə bilər.

Double Tap

Double Tap — ekrana toxunmadan akselerometr və giroskop tərəfindən tanınan göstərici və baş barmaq barmaqlarının birləşdirilmə jestidir. Apple Watch Series 9 və Ultra 2-də jest Neural Engine vasitəsilə aparat səviyyəsində yerinə yetirilir. Tərtibatçı hadisəni UIDoubleTapGestureRecognizer və ya SwiftUI modifikatoru .onTapGesture(count: 2) vasitəsilə alır. Jest kalibrləmə tələb etmir və istənilən əl oriyentasiyasında işləyir.

Tərtibatçılar üçün yeni API-lər

watchOS 10 təqdim etdi: SwiftUI Animation Spring və Keyframe animasiya dəstəyi ilə, MapKit saatda xəritələrin göstərilməsi üçün, VideoPlayer qısa videoların (30 saniyəyə qədər) oxudulması üçün, təkmilləşdirilmiş VoiceOver jestlərlə və NavigationStack əvəzinə NavigationView ilə yeni naviqasiya paradiqması.

APITəyinatMövcuddur
WidgetKit for watchOSSmart Stack üçün vidjetlərwatchOS 10
UIDoubleTapGestureDouble Tap jestiwatchOS 10 (S9+)
MapKitSaatda xəritələrin göstərilməsiwatchOS 10
NavigationStackYeni naviqasiya paradiqmasıwatchOS 10
SwiftUI KeyframeKadr animasiyasıwatchOS 10

Apple Watch üçün SwiftUI

SwiftUI — watchOS üçün interfeys tərtibatı üçün əsas freymvorkdur. Apple watchOS 7-dən etibarən bütün yeni layihələr üçün SwiftUI tövsiyə edir. Saatlar üçün SwiftUI iOS ilə eyni prinsiplərdən istifadə edir, lakin watchOS-a xas modifikatorlar və komponentlərlə.

WatchOS-a xas SwiftUI komponentləri

watchOS üçün SwiftUI daxildir: ekranlar arasında sürüşdürmə üçün page-stilli TabView, çarxın fırlanmasını emal etmək üçün DigitalCrownRotation, işə salmalar arasında vəziyyəti saxlamaq üçün SceneStorage, xüsusi bildirişlər üçün WKNotificationScene və saat üzündə məlumatlar üçün ComplicationDescriptor.

swift
import SwiftUI
import HealthKit

/// Nəbz monitorinqi üçün watchOS tətbiqi
@main
struct HeartMonitorApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
        WKNotificationScene(
            controller: NotificationController.self,
            category: "heartAlert"
        )
    }
}

struct ContentView: View {
    @State private var heartRate: Double = 0
    private let healthStore = HKHealthStore()

    var body: some View {
        TabView {
            HeartRateView(rate: heartRate)
                .tabItem { Label("Nəbz", systemImage: "heart.fill") }

            StepsView()
                .tabItem { Label("Addımlar", systemImage: "figure.walk") }

            SettingsView()
                .tabItem { Label("Parametrlər", systemImage: "gear") }
        }
        .tabViewStyle(.page)
        .onAppear(perform: setupHealthKit)
    }

    private func setupHealthKit() {
        guard HKHealthStore.isHealthDataAvailable() else { return }
        let heartType = HKQuantityType(.heartRate)

        healthStore.requestAuthorization(toShare: nil, read: [heartType]) { success, error in
            guard success else { return }
            startHeartRateQuery()
        }
    }

    private func startHeartRateQuery() {
        let heartType = HKQuantityType(.heartRate)
        let query = HKObserverQuery(sampleType: heartType, predicate: nil) { _, _, error in
            guard error == nil else { return }
            fetchLatestHeartRate()
        }
        healthStore.execute(query)
    }

    private func fetchLatestHeartRate() {
        let heartType = HKQuantityType(.heartRate)
        let sort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
        let query = HKSampleQuery(sampleType: heartType, predicate: nil,
                                    limit: 1, sortDescriptors: [sort]) { _, samples, _ in
            guard let sample = samples?.first as? HKQuantitySample else { return }
            let rate = sample.quantity.doubleValue(for: HKUnit(from: "count/min"))
            DispatchQueue.main.async { heartRate = rate }
        }
        healthStore.execute(query)
    }
}

struct HeartRateView: View {
    let rate: Double

    var body: some View {
        VStack(spacing: 12) {
            Image(systemName: "heart.fill")
                .foregroundStyle(.red)
                .font(.system(size: 48))
                .symbolEffect(.pulse)

            Text("\(Int(rate))")
                .font(.system(.title, design: .rounded))
                .contentTransition(.numericText())
                .bold()

            Text("dəq/dəfə")
                .font(.caption)
                .foregroundStyle(.secondary)
        }
    }
}

HeartMonitorApp tətbiqi SwiftUI-də watchOS tətbiqinin tipik strukturunu nümayiş etdirir: ekranlar arasında sürüşdürmə üçün page-stilli TabView, real vaxtda nəbzi oxumaq üçün HealthKit ilə inteqrasiya, bildirişləri emal etmək üçün WKNotificationScene. Pulse animasiyalı SymbolEffect CPU yükü olmadan hamar animasiya üçün Neural Engine aparat sürətləndirməsindən istifadə edir.

Digital Crown və jestlər

Digital Crown — Apple Watch-un yan panelindəki çarxdır. SwiftUI çarxın fırlanmasına dəyər bağlamaq üçün DigitalCrownRotation təqdim edir. Modifikator binding, diapazon və addım qəbul edir. Jestlər: tap (toxunma), longPress (uzun basma), swipe (sürüşdürmə) və pan (sürükləmə) — hamısı SwiftUI üçün standartdır və saat ekranının ölçüsünə uyğunlaşdırılmışdır.

WatchKit və watchOS tətbiq komponentləri

WatchKit — UIKit yanaşmasından istifadə edən orijinal watchOS freymvorkudur. Apple SwiftUI tövsiyə etsə də, WatchKit köhnə layihələr və spesifik tapşırıqlar üçün aktual olaraq qalır: WKInterfaceGroup-da mürəkkəb animasiyalar və SiriKit ilə inteqrasiya.

watchOS tətbiqinin strukturu

watchOS tətbiqi iki hədəfdən ibarətdir: WatchKit Extension (məntiq və interfeys) və iOS Companion App (parametrlər və sinxronizasiya). Xcode 15-dən etibarən iOS yoldaşı olmadan standalone tətbiq yaratmaq mümkündür. Interfeys Interface.storyboard (WatchKit) və ya SwiftUI vasitəsilə proqramlı şəkildə təsvir olunur.

KomponentWatchKitSwiftUI
EkranWKInterfaceControllerView
DüyməWKInterfaceButtonButton
CədvəlWKInterfaceTableList
QrupWKInterfaceGroupVStack / HStack
ŞəkilWKInterfaceImageImage / AsyncImage
EtiketWKInterfaceLabelText
XəritəWKInterfaceMapMap (watchOS 10+)
Saat üzüCLKComplicationDataSourceComplicationDescriptor

Complications — saat üzündə məlumatlar

Complication — Apple Watch-un saat üzündə məlumatları göstərən vidjetdir. Tərtibatçı müxtəlif saat üzü tipləri (circular, rectangular, modular, extraLarge) üçün şablonlar təqdim edən CLKComplicationDataSource protokolunu həyata keçirir. watchOS 10 SwiftUI üçün sadələşdirilmiş API olan ComplicationDescriptor-ı dəstəkləyir. Məlumatlar 30 dəqiqəyə qədər dövrlə Background Tasks vasitəsilə yenilənir.

Watch Connectivity vasitəsilə iPhone ilə inteqrasiya

Watch Connectivity — Bluetooth və ya Wi-Fi vasitəsilə Apple Watch və iPhone arasında məlumat mübadiləsi üçün freymvorkdur. Qoşalaşmış cihazlar arasında yeganə əlaqə üsulu. WCSession — sessiyanı idarə edən mərkəzi sinif. iOS tətbiqi və watchOS genişlənməsi WCSessionDelegate-i həyata keçirməlidir.

Məlumat ötürmə üsulları

Watch Connectivity dörd məlumat ötürmə üsulu təqdim edir: sendMessage — təsdiqlə dərhal göndərmə (yalnız hər iki tətbiq aktiv olduqda işləyir), transferUserInfo — məlumat lüğətinin fon çatdırılması, transferFile — metadata ilə faylların ötürülməsi, updateApplicationContext — ümumi vəziyyətin sinxronizasiyası. Bütün üsullar əlaqə bərpa edildikdə çatdırılmanı təmin edir.

swift
import WatchConnectivity

/// iPhone və Apple Watch arasında sinxronizasiya meneceri
final class ConnectivityManager: NSObject, WCSessionDelegate {

    static let shared = ConnectivityManager()
    private let session = WCSession.default

    override private init() {
        super.init()
        session.delegate = self
        session.activate()
    }

    // MARK: — iPhone-dan saata məlumat göndərilməsi
    func sendWorkoutData(_ data: [String: Any]) {
        guard session.isReachable else {
            // Saat əlçatan deyilsə — kontekstdə saxlayırıq
            try? session.updateApplicationContext(data)
            return
        }
        session.sendMessage(data, replyHandler: nil) { error in
            print("Send error: \(error.localizedDescription)")
        }
    }

    // MARK: — Saatda məlumatların qəbulu
    func session(_ session: WCSession,
                 didReceiveMessage message: [String: Any]) {
        DispatchQueue.main.async {
            NotificationCenter.default.post(
                name: NSNotification.Name("dataReceived"),
                object: message
            )
        }
    }

    func session(_ session: WCSession,
                 activationDidCompleteWith activationState: WCSessionActivationState,
                 error: Error?) {
        print("WCSession activated: \(activationState.rawValue)")
    }

    // watchOS-da tələb olunmur, lakin protokol üçün məcburidir
    func sessionDidBecomeInactive(_ session: WCSession) {}
    func sessionDidDeactivate(_ session: WCSession) {
        session.activate()
    }
}

ConnectivityManager WCSession ilə işləmək üçün sinqltonu həyata keçirir. sendWorkoutData isReachable-ı yoxlayır: əgər saat aktivdirsə, məlumatlar sendMessage vasitəsilə dərhal göndərilir; əgər yoxsa — gecikmiş çatdırılma üçün applicationContext-də saxlanılır. Qəbul edən tərəfdə onReceiveMessage daxil olan mesajları emal edir və NotificationCenter vasitəsilə tətbiqə xəbər verir.

Fayl mübadiləsi və sinxronizasiya

transferFile böyük həcmli məlumatların ötürülməsinə imkan verir: şəkillər, audio fayllar, arxivlər. Maksimum fayl ölçüsü — 100 MB. Fayllar qəbul edən cihazda Inbox qovluğunda saxlanılır. transferUserInfo 100 KB-a qədər JSON məlumatları üçün uyğundur. Bütün üsullar fonda işləyir: cihaz əlçatan deyilsə, ötürmə növbəyə qoyulur və əlaqə bərpa edildikdə avtomatik olaraq davam etdirilir.

watchOS tətbiqlərinin nəşri

watchOS tətbiqinin nəşri iOS ilə eyni qaydalara tabedir: Apple Developer Program abunəsi (99 USD/il) və App Review moderasiyasından keçmək tələb olunur. Tətbiq App Store Connect-ə iOS tətbiqinin bir hissəsi və ya standalone tətbiq kimi yüklənir.

Qurma və paylama

watchOS tətbiqi iki şəkildə çatdırıla bilər: iOS tətbiqinin daxili genişlənməsi kimi (iOS app bundle watchOS .app ehtiva edir) və ya standalone tətbiq kimi (iPhone olmadan yüklənir və işləyir). Standalone rejim üçün Info.plist-də WKRunsIndependently = YES tələb olunur. watchOS tətbiqinin ölçüsü mobil şəbəkə ilə yükləmə üçün 50 MB ilə məhdudlaşdırılmışdır.

App Review tələbləri

watchOS üçün xüsusi tələblər: tətbiq aktiv iPhone olmadan düzgün işləməlidir (standalone kimi bəyan edilmişsə), interfeys böyütmədən oxunaqlı olmalıdır, bütün interaktiv elementlər — ölçüdə ən azı 44 nöqtə olmalıdır. Daxili funksionallığı təkrarlayan tətbiqlər qadağandır (məsələn, əlavə dəyəri olmayan nəbzölçən).

TələbTəsvir
Tətbiq ölçüsüMobil yükləmə üçün 50 MB-a qədər, Wi-Fi vasitəsilə 4 GB-a qədər
Standalone rejimInfo.plist-də WKRunsIndependently = YES
Touch hədəfləriBütün interaktiv elementlər üçün minimum 44 pt
TəhlükəsizlikHealthKit məlumatları razılıq olmadan serverə ötürülə bilməz
PerformansTətbiqin işə salınması 5 saniyədən çox olmamalıdır

Tez-tez verilən suallar

watchOS üçün hansı dillərdən istifadə olunur?

Əsası dil Swift freymvork SwiftUI ilə. UIKit üzərində WatchKit də dəstəklənir, lakin Apple watchOS üçün bütün yeni layihələrdə SwiftUI tövsiyə edir. Objective-C yalnız 2019-cu ilə qədər buraxılmış köhnə tətbiqlərdə istifadə olunur. watchOS 7-dən etibarən Apple-ın bütün nümunələri yalnız SwiftUI istifadə edir.

watchOS tətbiqinin işləməsi üçün iPhone lazımdırmı?

watchOS 6-dan başlayaraq Apple Watch App Store-dan iPhone olmadan birbaşa tətbiq quraşdıra bilər. Lakin bir çox funksiyalar — məlumat sinxronizasiyası, push bildirişləri, geolokasiya — iPhone ilə cütləşmə tələb edir. Tam muxtar tətbiqlər watchOS 9 və qurma parametrlərində WKRunsIndependently ilə mümkündür.

Aktiv tətbiq ilə Apple Watch-un batareya ömrü nə qədərdir?

Apple Watch Series 9-un tipik batareya ömrü — qarışıq rejimdə 18 saata qədər. GPS və nəbzölçən ilə tətbiqin aktiv istifadəsi zamanı — 5-7 saat. watchOS 10 Smart Stack və BGTaskScheduler vasitəsilə enerji istehlakını optimallaşdırır, tətbiqlərin fon aktivliyini watchOS 9 ilə müqayisədə 4 dəfəyə qədər azaldır.

iPhone və Apple Watch arasında məlumatları necə ötürmək olar?

Watch Connectivity freymvorku dörd üsul təqdim edir: sendMessage (dərhal ötürmə), transferUserInfo (fon), transferFile (100 MB-a qədər fayllar) və updateApplicationContext (vəziyyət sinxronizasiyası). Bütün üsullar Bluetooth və ya Wi-Fi vasitəsilə işləyir, əlaqə itkisi zamanı avtomatik növbəyə qoyulur.

Apple Watch-da hansı sensorlar mövcuddur?

Apple Watch Series 9 və Ultra 2 daxildir: akselerometr, giroskop, optik və elektrik nəbzölçən, SpO2 (saturasiya), bilək temperatur sensoru, barometr, kompas, GPS L1+L5 və mikrofon. Sensorlara giriş — HealthKit və Core Motion vasitəsilə. Nəbz və SpO2 məlumatları istifadəçinin açıq icazəsini tələb edir.

Xülasə

  • watchOS — enerji səmərəliliyi və iPhone ilə inteqrasiyaya fokuslanmış XNU nüvəsində Apple-ın ağıllı saatlar üçün əməliyyat sistemi
  • SwiftUI — watchOS üçün əsas freymvork, deklarativ düzüm və ekran ölçüsünə avtomatik uyğunlaşma təmin edir
  • watchOS 10 Smart Stack, Double Tap (S9+), NavigationStack və vidjetlər üçün WidgetKit təqdim etdi
  • Watch Connectivity — dörd ötürmə rejimi ilə Bluetooth/Wi-Fi vasitəsilə iPhone ilə yeganə əlaqə kanalı
  • HealthKit Apple Watch sensorlarına giriş təmin edir: nəbz, SpO2, temperatur, akselerometr, GPS
  • Complications — CLKComplicationDataSource və ya SwiftUI vasitəsilə həyata keçirilən saat üzündə vidjetlər
  • Nəşr Apple Developer Program tələb edir, ölçü 50 MB-a qədər (mobil) və ciddi performans nəzarəti

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.

Layihəni müzakirə et

Həm də oxuyun