Watch App پہننے کے قابل آلات کے لیے ایک ایپلیکیشن ہے: Apple Watch جو watchOS پر چلتی ہے اور Google کے Wear OS پر سمارٹ واچز۔ موبائل ایپلیکیشنز کے برعکس، Watch App چھوٹی اسکرین (1.5–2 انچ ترچھا)، مختصر تعامل کے سیشن (5–15 سیکنڈ) اور مخصوص منظرناموں — فٹنس، اطلاعیں، فوری جوابات، صوتی ان پٹ کے لیے بہتر بنائی گئی ہے۔ ترقی Apple Watch کے لیے SwiftUI اور Android کے لیے Kotlin کے ساتھ Jetpack Compose for Wear OS پر کی جاتی ہے۔ آئیے دونوں پلیٹ فارمز کے لیے کلیدی تصورات، فن تعمیر، نیویگیشن اور کوڈ کی مثالیں دیکھتے ہیں۔
اہم نکات
Watch App ایک ایپلیکیشن ہے جو پہننے کے قابل آلات پر کام کرنے کے لیے ڈیزائن کی گئی ہے: Apple Watch (watchOS) اور Wear OS پر سمارٹ واچز۔ موبائل ایپلیکیشن سے بنیادی فرق فارم فیکٹر ہے۔ گھڑی کی اسکرین کا ترچھا 1.5–2 انچ ہے (اسمارٹ فون کے 6–7 انچ کے مقابلے)، جو ایک ساتھ ظاہر کردہ معلومات کی مقدار کو محدود کرتا ہے۔ ایپلیکیشن کے ساتھ تعامل مختصر ہے — صارف 5–15 سیکنڈ میں وقت، اطلاع، نبض یا قدم چیک کرتا ہے، پھر ہاتھ نیچے کر لیتا ہے۔
اہم Watch App منظرنامے: فٹنس ٹریکر (قدم، نبض، کیلوریز، نیند)، اطلاعیں (پیغامات، کالز، کیلنڈر)، فوری کارروائیاں (ٹائمر شروع کرنا، آواز کے ساتھ پیغام کا جواب دینا، موسیقی کنٹرول کرنا)، ساتھی (کیمرہ ریموٹ، کار کی چابیاں، NFC ادائیگی)۔ Counterpoint Research (2026) کے مطابق، عالمی سمارٹ واچ مارکیٹ سالانہ 150 ملین آلات سے تجاوز کرتی ہے، جس میں Apple Watch کا 35%، Wear OS کا 20%، باقی Fitbit، Garmin اور دیگر ہیں۔
Watch App حدود: چھوٹی اسکرین (2 انچ تک)، محدود بیٹری زندگی (18–24 گھنٹے تک)، کوئی مکمل کی بورڈ نہیں (صرف صوتی ان پٹ یا ڈکٹیشن)، پس منظر کے کاموں کی حد (watchOS — 10 منٹ تک، Wear OS — 5 منٹ تک)، زیادہ تر افعال کے لیے فون کے ساتھ ہم آہنگی کی ضرورت۔ watchOS 6 (2019) اور Wear OS 3 (2022) سے شروع ہو کر، ایپلیکیشنز فون کے ساتھ جوڑے بغیر LTE ماڈیول کے ذریعے آزادانہ طور پر کام کر سکتی ہیں۔
watchOS سمارٹ واچز کے لیے Apple کا آپریٹنگ سسٹم ہے، جو iOS پر مبنی ہے اور ایک ہی فریم ورک (Foundation، UIKit موافق ورژن میں، SwiftUI) استعمال کرتا ہے۔ ترقی Xcode میں Swift کا استعمال کرتے ہوئے کی جاتی ہے۔ اہم UI فریم ورک SwiftUI ہے، جو watchOS کے مخصوص اجزاء فراہم کرتا ہے: کیروسل کے ساتھ TabView، NavigationStack، DigitalCrownModifier کے ذریعے ڈیجیٹل کراؤن، لمبا دبانے والا مینو۔
watchOS پر نیویگیشن درجہ بندی والے نمونے پر بنائی گئی ہے۔ اہم عناصر: درجہ بندی والا اسٹیک (خودکار واپسی کے ساتھ NavigationStack)، موڈل پریزنٹیشنز (sheet)، صفحہ پر مبنی نیویگیشن (.tabViewStyle(.page) کے ساتھ TabView کے ذریعے)، لمبا دبانے پر سیاق و سباق کے مینوز۔ ڈیجیٹل کراؤن مواد کو اسکرول کرنے اور اقدار کو تبدیل کرنے کی اجازت دیتا ہے۔ اشارے: ٹیپ، لمبا دبانا، سوائپ، Force Touch (watchOS 7 تک)، ڈیجیٹل کراؤن گھومنا۔
اہم watchOS فریم ورک: HealthKit (صحت کے ڈیٹا تک رسائی — نبض، قدم، نیند، ECG)، CoreMotion (ایکسلیرومیٹر، جائروسکوپ)، WatchConnectivity (iPhone کے ساتھ ڈیٹا کا تبادلہ)، ClockKit (گھڑی کے چہرے پر کمپلیکیشنز)، BackgroundTasks (10 منٹ تک پس منظر کی تازہ کاریاں)، ARKit (Series 9+ پر FaceTime اثرات)۔ Watch App مکمل خصوصیات والی (ڈاک میں علیحدہ ایپلیکیشن) یا ایک توسیع (iOS ورژن کے ساتھ بیک وقت) ہو سکتی ہے۔
Wear OS Android پر مبنی Google کا سمارٹ واچز کے لیے پلیٹ فارم ہے۔ جدید ترقی Jetpack Compose for Wear OS کے ساتھ Kotlin میں کی جاتی ہے — گول اسکرینوں کے لیے بہتر کردہ اجزاء کا ایک سیٹ: Scaffold، ScalingLazyColumn، Chip، Button، Card، Stepper۔ موبائل Compose کے برعکس، Wear OS اپنے ترمیم کار استعمال کرتا ہے: عمودی اسکرول کے لیے scrollable، سوائپ کرنے کے لیے swipable، کراؤن کنٹرول کے لیے RotaryInput۔
Wear OS پر نیویگیشن ایک سائیڈ پینل (SwipeToDismiss) اور کارڈ اسکرینز استعمال کرتا ہے۔ اہم عناصر: SwipeDismissableNavHost (سوائپ بیک کے ساتھ نیویگیشن)، اسکرین پوزیشننگ (فہرستوں کے لیے ScalingLazyColumn)، افقی کیروسل (Carousel)، گھڑی کا چہرہ (WatchFaceService کے ذریعے WatchFace)۔ Google واپس جانے کے لیے سائیڈ سوائپ اور فہرستوں کے لیے عمودی اسکرول استعمال کرنے کی تجویز کرتا ہے۔ گھڑی کا پاور بٹن حالیہ ایپلیکیشنز کی فہرست کھولتا ہے۔
Wear OS پر صحت اور سینسرز: Health Services API (ڈیٹا فراہم کرنے والوں کے ذریعے قدم، نبض، کیلوریز، نیند، SpO2)، SensorManager (ایکسلیرومیٹر، جائروسکوپ، بیرومیٹر، میگنیٹومیٹر)، Location Services (FusedLocationProvider کے ذریعے GPS)۔ Wear OS 5+ خودکار سرگرمی کی قسم کا پتہ لگانے کے ساتھ دوڑنا، چلنا، سائیکل چلانا اور تیراکی کی ٹریکنگ کو سپورٹ کرتا ہے۔ ڈیٹا Health Connect کے ذریعے Google Fit کے ساتھ ہم آہنگ ہوتا ہے۔
SwiftUI اور HealthKit استعمال کرتے ہوئے Apple Watch کے لیے دل کی دھڑکن ٹریکنگ ایپلیکیشن دیکھیں۔
import SwiftUI
import HealthKit
// دل کی دھڑکن کا ڈیٹا ماڈل
struct HeartRateData: Identifiable {
let id = UUID()
let bpm: Double
let date: Date
}
// HealthKit کے لیے ViewModel
@Observable
final class HealthViewModel {
private let healthStore = HKHealthStore()
var currentHeartRate: Double = 0
var isAuthorized: Bool = false
func requestAuthorization() {
guard let heartRateType = HKQuantityType.quantityType(forIdentifier: .heartRate)
else { return }
let types = Set([heartRateType])
healthStore.requestAuthorization(toShare: nil, read: types) { success, _ in
Task { @MainActor in
self.isAuthorized = success
if success { self.startHeartRateQuery() }
}
}
}
func startHeartRateQuery() {
guard let heartRateType = HKQuantityType.quantityType(forIdentifier: .heartRate)
else { return }
let query = HKObserverQuery(
sampleType: heartRateType, predicate: nil
) { [weak self] _, _, _ in
self?.fetchLatestHeartRate()
}
healthStore.execute(query)
}
private func fetchLatestHeartRate() {
guard let heartRateType = HKQuantityType.quantityType(forIdentifier: .heartRate)
else { return }
let sort = NSSortDescriptor(key: HKSampleSortIdentifierStartDate, ascending: false)
let query = HKSampleQuery(
sampleType: heartRateType, predicate: nil,
limit: 1, sortDescriptors: [sort]
) { _, samples, _ in
guard let sample = samples?.first as? HKQuantitySample else { return }
let bpm = sample.quantity.doubleValue(for: HKUnit.count().unitDivided(by: .minute()))
Task { @MainActor in
self.currentHeartRate = bpm
}
}
healthStore.execute(query)
}
}
// مرکزی اسکرین
struct HeartRateView: View {
@State private var viewModel = HealthViewModel()
var body: some View {
VStack {
Image(systemName: "heart.fill")
.foregroundColor(.red)
.font(.largeTitle)
Text("\(Int(viewModel.currentHeartRate))")
.font(.system(size: 60, weight: .bold, design: .rounded))
.foregroundColor(.red)
Text("BPM")
.font(.caption)
.foregroundColor(.secondary)
}
.padding()
.onAppear(perform: viewModel.requestAuthorization)
}
}
اہم نکات: HKHealthStore HealthKit ڈیٹا تک رسائی کی درخواست کرتا ہے؛ HKObserverQuery حقیقی وقت میں نبض کی تبدیلیوں کے بارے میں مطلع کرتا ہے؛ HKSampleQuery تازہ ترین قیمت حاصل کرتا ہے۔ @Observable کی بدولت currentHeartRate تبدیل ہونے پر Watch App خود بخود UI کو اپ ڈیٹ کرتا ہے۔ HealthKit ڈیوائس پر مقامی طور پر ڈیٹا پراسیس کرتا ہے — سرور کی درخواستوں کی ضرورت نہیں۔
Jetpack Compose اور Health Services API کے ساتھ Kotlin میں Wear OS کے لیے ایک جیسی ایپلیکیشن۔
// MainActivity.kt
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.*
import androidx.wear.compose.material.*
import androidx.wear.compose.foundation.arc.BasicArcParams
import com.google.android.horologist.health.HealthService
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
WearAppTheme {
HeartRateScreen()
}
}
}
}
@Composable
fun HeartRateScreen() {
var heartRate by remember { mutableIntStateOf(0) }
var isConnected by remember { mutableStateOf(false) }
LaunchedEffect(Unit) {
// HealthService — سینسر تک رسائی کے لیے API
val healthService = HealthService()
healthService.connect().onSuccess {
isConnected = true
}
}
Scaffold(
timeText = { TimeText() },
vignette = { Vignette(vignettePosition = VignettePosition.TopAndBottom) }
) {
Column(
modifier = Modifier
.fillMaxSize()
.scrollable(state = ScrollState),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Icon(
imageVector = Icons.Filled.Favorite,
contentDescription = "دل کی دھڑکن",
modifier = Modifier.size(40.dp),
tint = MaterialTheme.colors.error
)
Text(
text = heartRate.toString(),
style = MaterialTheme.typography.display1
)
Text(
text = "BPM",
style = MaterialTheme.typography.caption2
)
}
}
}
Wear OS کے اہم اجزاء: معیاری لے آؤٹ کے لیے TimeText اور Vignette کے ساتھ Scaffold؛ گول اسکرین مطابقت کے لیے .scrollable() ترمیم کار؛ دل کی دھڑکن سینسر تک رسائی کے لیے HealthService (Horologist)۔ Jetpack Compose for Wear OS خود بخود گول اور مربع اسکرینوں کے لیے انٹرفیس کو ڈھال لیتا ہے — ڈویلپر کو مختلف فارم فیکٹرز کو دستی طور پر سنبھالنے کی ضرورت نہیں۔
اکثر پوچھے گئے سوالات
Watch App کی محدود اسکرین (1.5–2 انچ ترچھا) ہے، چھوٹی صلاحیت کی بیٹری پر چلتی ہے اور اشاروں کا کنٹرول استعمال کرتی ہے۔ تعامل مختصر ہے — 5–15 سیکنڈ، ایپلیکیشن کو زیادہ سے زیادہ جامع ہونا چاہیے اور 1–2 اہم میٹرکس ظاہر کرنے چاہئیں۔
Apple Watch کے لیے — SwiftUI اور WatchKit فریم ورک کے ساتھ Swift۔ Wear OS کے لیے — Jetpack Compose for Wear OS کے ساتھ Kotlin۔ دونوں پلیٹ فارم انٹرفیس بنانے کے لیے اعلانیہ نقطہ نظر کی حمایت کرتے ہیں۔
ہاں، LTE والے Apple Watch Series 3 اور watchOS 6+ سے شروع ہو کر، ایپلیکیشن گھڑی پر App Store کے ذریعے آزادانہ طور پر کام کر سکتی ہے۔ Wear OS بھی گھڑی پر Google Play کے ذریعے خود مختار آپریشن کے ساتھ LTE ورژن کو سپورٹ کرتا ہے۔
بنیادی حدود: اسکرین کا سائز (2 انچ تک)، محدود بیٹری زندگی (18 گھنٹے تک)، کوئی مکمل براؤزر یا کی بورڈ نہیں، پس منظر کے کاموں کی حد (watchOS — 10 منٹ تک، Wear OS — 5 منٹ تک)۔
Apple Watch پر نبض، قدم، نیند کے لیے HealthKit (HKHealthStore، HKSampleQuery) اور ایکسلیرومیٹر کے لیے CoreMotion استعمال ہوتا ہے۔ Wear OS پر — صحت کے میٹرکس کے لیے Health Services API (Horologist کے ذریعے) اور سینسرز کے خام ڈیٹا کے لیے SensorManager استعمال ہوتا ہے۔
خلاصہ
ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے
IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں