Section 1/141 menit

1. Apa Itu WidgetKit?

1. Apa Itu WidgetKit?

WidgetKit adalah framework Apple untuk membuat widget — tampilan kecil yang muncul di Home Screen, Lock Screen, Today View, macOS Notification Center, dan StandBy mode. Widget menampilkan informasi relevan dari aplikasi Anda tanpa pengguna perlu membuka app.

swift
import WidgetKit
import SwiftUI

struct WeatherWidget: Widget {
    var body: some WidgetConfiguration {
        StaticConfiguration(kind: "WeatherWidget", provider: WeatherProvider()) { entry in
            WeatherWidgetView(entry: entry)
        }
        .configurationDisplayName("Cuaca")
        .description("Tampilkan cuaca terkini di Home Screen.")
        .supportedFamilies([.systemSmall, .systemMedium])
    }
}

Evolusi WidgetKit

iOS Fitur yang Ditambahkan
iOS 14 WidgetKit pertama kali — menggantikan Today View extensions lama
iOS 16 Lock Screen widgets (.accessoryCircular, .accessoryRectangular, .accessoryInline)
iOS 16.1 Live Activities — widget yang terupdate secara real-time di Lock Screen
iOS 17 StandBy mode (.standByMedium), Interactive widgets (Button & Toggle dalam widget)
iOS 18 Control Center widgets, Smart Stacks yang lebih cerdas

Filosofi Desain Widget

Widget bukan mini-app. Apple merancangnya dengan tiga prinsip yang ketat:

  1. Glanceable: Konten harus bisa dipahami dalam 1-2 detik tanpa interaksi.
  2. Snapshotted, bukan live: Sistem merender widget dari snapshot yang disimpan, bukan proses aktif. Widget dirender di proses terpisah oleh sistem.
  3. Timeline-driven: Data widget didorong oleh timeline yang Anda definisikan, bukan push dari server secara langsung.