iPadOS: konsep kunci, pengembangan untuk iPad dan Apple Pencil

Penulis: IT Sectr Diterbitkan: 2026-02-07 Waktu membaca: 12 mnt

iPadOS — sistem operasi Apple untuk iPad, dipisahkan dari iOS pada tahun 2019. Pengembangan untuk iPad mempertimbangkan kemampuan unik: multitasking Split View dan Stage Manager, input Apple Pencil dengan latensi rendah dan Safari desktop.

Poin Utama

  • iPadOS — fork iOS dengan multitasking yang diperluas dan dukungan Apple Pencil
  • Multitasking mencakup Split View, Slide Over, Stage Manager dan monitor eksternal
  • Apple Pencil — stylus dengan latensi 9–20 ms, dukungan PencilKit dan hover API
  • Adaptasi antarmuka menggunakan Size Classes (regular/compact) dan UISplitViewController
  • Safari di iPadOS berfungsi dalam mode desktop dengan pengelola unduhan

Apa itu iPadOS?

iPadOS — sistem operasi Apple untuk iPad, pertama kali dirilis pada tahun 2019 sebagai cabang dari iOS (versi 13). Sebelumnya, iPad menggunakan iOS yang sama dengan iPhone. Pemisahan iPadOS memungkinkan Apple untuk menerapkan fitur-fitur khusus layar besar: multitasking, Safari desktop, Drag & Drop dan dukungan monitor eksternal.

iPadOS mempertahankan kompatibilitas penuh dengan aplikasi iOS: aplikasi iPhone apa pun berjalan di iPad dalam mode penskalaan. Namun, untuk pengalaman pengguna yang berkualitas, diperlukan adaptasi: penggunaan Size Classes, UISplitViewController dan dukungan pintasan keyboard. Menurut Apple (WWDC 2025), 80% waktu di iPad dihabiskan pengguna dalam versi tablet, bukan versi yang diskalakan.

Sejarah versi iPadOS

iPadOS 13 (2019) menghadirkan Slide Over dan Split View. iPadOS 14 (2020) menambahkan Apple Pencil Scribble dan UI kompak. iPadOS 15 (2021) memperkenalkan Quick Note dan peningkatan multitasking. iPadOS 16 (2022) memperkenalkan Stage Manager dan dukungan monitor eksternal. iPadOS 17 (2023) menambahkan widget interaktif dan kustomisasi Lock Screen.

Versi iPadOSTahunInovasi Kunci
iPadOS 132019Slide Over, Split View, Safari desktop
iPadOS 142020Scribble untuk Apple Pencil, panggilan kompak
iPadOS 152021Quick Note, pengelola multitasking yang ditingkatkan
iPadOS 162022Stage Manager, monitor eksternal 6K
iPadOS 172023Widget interaktif, Lock Screen
iPadOS 182024Kalkulator Math Notes, Smart Script

Arsitektur iPadOS dan perbedaan dari iOS

iPadOS didasarkan pada kernel XNU dan Darwin yang sama dengan iOS, tetapi menggunakan shell UIKit yang dimodifikasi, disesuaikan untuk bekerja dengan banyak jendela dan ukuran layar arbitrer. Perbedaan arsitektur kunci — dukungan untuk UIScene, diperkenalkan di iOS 13.

UIScene dan siklus hidup jendela

Di iPadOS, setiap jendela (termasuk di Split View) adalah UISceneSession terpisah dengan siklus hidupnya sendiri. Tidak seperti iPhone, di mana satu aplikasi memiliki satu UIWindowScene, di iPad satu aplikasi dapat memiliki beberapa UIScene (beberapa jendela, Slide Over, Stage Manager). SceneDelegate mengelola status setiap jendela secara independen.

swift
import UIKit
import SwiftUI

/// SceneDelegate untuk dukungan banyak jendela di iPadOS
class SceneDelegate: UIResponder, UIWindowSceneDelegate {

    var window: UIWindow?
    var splitVC: UISplitViewController?

    func scene(_ scene: UIScene,
                 willConnectTo session: UISceneSession,
                 options connectionOptions: UIScene.ConnectionOptions) {
        guard let windowScene = (scene as? UIWindowScene) else { return }

        // Membuat UISplitViewController untuk navigasi tablet
        let splitVC = UISplitViewController(style: .tripleColumn)
        splitVC.primaryBackgroundStyle = .sidebar

        let sidebar = SidebarViewController()
        let primary = PrimaryViewController()
        let detail = DetailViewController()

        splitVC.viewControllers = [sidebar, primary, detail]

        let window = UIWindow(windowScene: windowScene)
        window.rootViewController = splitVC
        window.makeKeyAndVisible()
        self.window = window
    }

    // Adaptasi saat perubahan ukuran jendela (Split View)
    func windowScene(_ windowScene: UIWindowScene,
                     didUpdate previousCoordinateSpace: UICoordinateSpace,
                     interfaceOrientation previousOrientation: UIInterfaceOrientation) {
        let isMultitasking = windowScene.traitCollection.horizontalSizeClass == .compact
        print("iPadOS multitasking mode: \(isMultitasking ? "compact" : "regular")")
    }
}

UISplitViewController dengan gaya .tripleColumn menampilkan tiga kolom secara bersamaan: sidebar (navigasi), primary (daftar) dan detail (konten). Saat beralih ke mode kompak (Split View dengan aplikasi lain) UIKit secara otomatis melipat kolom ke dalam tumpukan navigasi. Pengembang tidak mengelola perilaku ini secara manual — UIKit menyesuaikan tata letak melalui traitCollection.

Perbedaan tambahan dari iOS

Di iPadOS tersedia: dukungan untuk drive eksternal melalui Files (USB-C/Thunderbolt), mode terminal Safari dengan inspeksi elemen, pintasan keyboard melalui UIKeyCommand, pengelola unduhan sistem, Drag & Drop antar aplikasi dan Picture in Picture dengan ukuran jendela yang dapat diubah.

Multitasking di iPad: Split View, Slide Over, Stage Manager

Multitasking — fitur kunci iPadOS yang membedakannya secara fundamental dari iOS. Pengguna dapat bekerja dengan beberapa aplikasi secara bersamaan pada satu layar. Pengembang harus menjamin bahwa aplikasi berfungsi dengan benar dalam mode multitasking apa pun.

Split View

Split View membagi layar iPad antara dua aplikasi dalam rasio 50/50 atau 33/67. Setiap aplikasi mendapatkan UISceneSession sendiri dengan memori dan siklus hidup sendiri. Pada lebar layar kurang dari 600 titik, UIKit secara paksa mengalihkan aplikasi ke size class horizontal kompak. Aplikasi harus menangani perubahan ini dengan benar.

Slide Over

Slide Over — jendela mengambang di atas aplikasi aktif (lebar 320 titik). Aplikasi di Slide Over beralih ke size class horizontal kompak (.compact). Penting untuk mengoptimalkan UI untuk layar sempit. Di Slide Over, aplikasi dapat dipanggil dengan menggeser dari tepi kanan atau melalui dock. Pengguna dapat menyeret Slide Over ke Split View atau menutupnya dengan menggeser ke kanan.

Stage Manager

Stage Manager (iPadOS 16+, M1 dan lebih baru) — manajer jendela yang memungkinkan pembuatan jendela tumpang tindih dengan ukuran arbitrer. Mendukung hingga 4 jendela di layar iPad dan hingga 4 di monitor eksternal (total 8). Aplikasi menerima acara UISceneWillConnectNotification untuk setiap jendela baru. Stage Manager mengubah aturan siklus hidup: jendela di latar belakang tidak dibekukan, tetapi terus bekerja dengan sumber daya terbatas.

ModeJumlah jendelaUkuran jendelaSize Class
Layar penuh1100% layarRegular
Split View 50/50250% layarRegular (iPad Pro 12.9) atau Compact
Split View 33/67233% / 67%Compact untuk 33%
Slide Over1 + mengambang320 ptCompact
Stage Manager1–4ArbitrerTergantung ukuran

Apple Pencil dan input tulisan tangan

Apple Pencil — stylus aktif Apple dengan dukungan kemiringan, tekanan dan deteksi hover (iPad Pro M2+). Latensi antara gerakan pena dan tampilan tinta adalah 9–20 ms tergantung model. PencilKit — framework utama untuk integrasi menggambar dalam aplikasi.

PencilKit: integrasi menggambar

PKCanvasView menyediakan permukaan menggambar siap pakai dengan dukungan tinta, pensil, spidol dan penghapus. PKToolPicker — panel pemilihan alat. Pengembang tidak perlu mengimplementasikan rendering goresan — PencilKit melakukannya secara hardware dengan shader Metal. Penyesuaian warna, ketebalan dan transparansi pena tersedia.

swift
import PencilKit
import UIKit

class DrawingViewController: UIViewController {

    private lazy var canvasView: PKCanvasView = {
        let canvas = PKCanvasView()
        canvas.tool = PKInkingTool(.pen, color: .black, width: 5)
        canvas.delegate = self
        canvas.drawingPolicy = .anyInput
        canvas.backgroundColor = .white
        return canvas
    }()

    private lazy var toolPicker: PKToolPicker = {
        let picker = PKToolPicker()
        picker.addObserver(canvasView)
        picker.setVisible(true, forFirstResponder: canvasView)
        return picker
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        view.addSubview(canvasView)
        canvasView.frame = view.bounds
        canvasView.becomeFirstResponder()
        toolPicker.addObserver(canvasView)
    }

    // Menyimpan gambar di PKDrawing (format biner)
    func saveDrawing() {
        let drawingData = canvasView.drawing.dataRepresentation()
        let url = FileManager.default.urls(
            for: .documentDirectory, in: .userDomainMask
        )[0].appendingPathComponent("drawing.drawing")
        try? drawingData.write(to: url)
    }
}

extension DrawingViewController: PKCanvasViewDelegate {
    func canvasViewDrawingDidChange(_ canvasView: PKCanvasView) {
        print("Canvas changed: \(canvasView.drawing.strokes.count) strokes")
    }
}

PKCanvasView dengan drawingPolicy .anyInput menerima baik Apple Pencil maupun jari. PKToolPicker memberikan pengguna pilihan alat tanpa perlu menulis UI sendiri. PKDrawing disimpan dalam format biner dengan tingkat kompresi tinggi — satu jam menggambar memakan sekitar 5–10 MB.

Scribble dan pengenalan teks

Scribble (iPadOS 14+) memungkinkan menulis tangan di UITextField dan UITextView mana pun. Sistem mengenali tulisan tangan pada perangkat menggunakan Neural Engine. Model ML bekerja dengan aksara Latin dan Sirilik. Di iOS 17+, Scribble mendukung koreksi otomatis dan prediksi kata berikutnya. Pengembang tidak perlu menambahkan kode — Scribble bekerja secara otomatis saat ada bidang input.

Hover API untuk Apple Pencil Pro

Mulai iPadOS 17.4 dan Apple Pencil Pro, pengembang menerima acara hover saat pena mendekati layar (hingga 12 mm). Acara berisi posisi, kekuatan tekanan dan azimuth. Penerapan: pratinjau titik sentuh kuas di aplikasi menggambar, pratinjau alat, umpan balik visual sebelum sentuhan.

Adaptasi antarmuka untuk iPad

Antarmuka adaptif — persyaratan wajib untuk aplikasi iPad. iPad beroperasi dalam berbagai ukuran layar (8.3″–13″) dan mode multitasking. UIKit menyediakan Size Classes (horizontal: .regular/.compact, vertical: .regular/.compact) dan UISplitViewController untuk adaptasi otomatis.

Size Classes dan traitCollection

Size Classes — abstraksi yang menentukan ruang yang tersedia. Di iPad dalam mode layar penuh, kedua sumbu adalah .regular. Di Split View (50%), kelas horizontal bisa menjadi .compact di iPad mini atau iPad Air. Semua tata letak populer yang dibangun di atas Auto Layout dan UICollectionViewCompositionalLayout beradaptasi secara otomatis. Adaptasi kustom dilakukan dengan menimpa traitCollectionDidChange.

swift
import SwiftUI

/// Tata letak adaptif untuk iPad menggunakan Size Classes
struct AdaptiveContentView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass
    @Environment(\.verticalSizeClass) private var verticalSizeClass

    var body: some View {
        if horizontalSizeClass == .regular && verticalSizeClass == .regular {
            // Mode tablet: sidebar + content
            NavigationSplitView {
                SidebarView()
            } detail: {
                ContentGridView()
            }
        } else {
            // Mode kompak: navigasi tumpukan
            NavigationStack {
                ContentGridView()
            }
        }
    }
}

/// Contoh grid adaptif: 3 kolom di iPad, 2 di iPhone
struct ContentGridView: View {
    @Environment(\.horizontalSizeClass) private var horizontalSizeClass

    private var columns: [GridItem] {
        let count = horizontalSizeClass == .regular ? 3 : 2
        return Array(repeating: GridItem(.flexible(), spacing: 16), count: count)
    }

    var body: some View {
        ScrollView {
            LazyVGrid(columns: columns, spacing: 16) {
                ForEach(items) { item in
                    ItemCard(item: item)
                }
            }
            .padding()
        }
    }
}

Dalam contoh, NavigationSplitView hanya digunakan ketika horizontalSizeClass == .regular (iPad layar penuh). NavigationStack diterapkan dalam mode kompak. Jumlah kolom grid (3 vs 2) juga berubah tergantung Size Classes. Semua diperbarui secara otomatis saat mode multitasking berubah.

UISplitViewController: navigasi tiga kolom

UIKit menyediakan UISplitViewController dengan tiga gaya: .doubleColumn (sidebar + detail), .tripleColumn (sidebar + primary + detail) dan .single. Di iPadOS 16+, splitViewController secara otomatis beralih antar gaya saat size class berubah. Pengembang mengatur viewControllers untuk setiap kolom, UIKit mengelola visibilitas.

Framework dan API untuk iPadOS

iPadOS SDK mencakup semua framework iOS, serta API yang hanya tersedia di iPad. Di bawah ini adalah kemampuan khusus iPad utama.

Drag & Drop

iPadOS mendukung Drag & Drop antar aplikasi dan di dalam aplikasi. UIDragInteraction dan UIDropInteraction memungkinkan menyeret teks, gambar, file dan objek kustom. Drag & Drop bekerja bersamaan dengan Multi-Touch: pengguna dapat menyeret beberapa elemen dengan jari yang berbeda. Di SwiftUI, modifier .onDrag dan .onDrop digunakan.

Pintasan keyboard

Saat menghubungkan keyboard (Magic Keyboard, Smart Keyboard) UIKeyCommand memungkinkan menambahkan pintasan. Di iPadOS 17+, pintasan keyboard ditampilkan saat menekan lama Cmd. Apple merekomendasikan mendukung kombinasi standar: ⌘C (salin), ⌘V (tempel), ⌘F (cari), ⌘N (dokumen baru).

Monitor eksternal

iPadOS 17+ mendukung monitor eksternal dengan resolusi asli hingga 6K (Pro Display XDR). Aplikasi dapat menampilkan konten di layar eksternal melalui UIWindowScene dengan ID sesi terpisah. Stage Manager memungkinkan menempatkan hingga 4 jendela dengan ukuran yang dapat diubah di monitor eksternal.

APITujuanTersedia di iOS
UISplitViewControllerNavigasi multi-kolomYa
PencilKitMenggambar Apple PencilTidak
UIDragInteractionDrag & DropYa (hanya dalam aplikasi)
UIKeyCommandPintasan keyboardYa (hanya dengan keyboard eksternal)
UISceneMode multi-jendelaYa (hanya iPad)
UIPencilInteractionKetuk dua kali Apple PencilTidak
PDFKitLihat dan anotasi PDFYa

Optimasi aplikasi untuk iPad

Pengembangan untuk iPadOS memerlukan pendekatan khusus terhadap UI/UX, kinerja dan pengujian. Kesalahan yang bisa dimaafkan di iPhone menjadi kritis di iPad karena layar yang lebih besar dan multitasking.

Kinerja dan memori

iPad menggunakan chip seri M (M1, M2, M4) dengan memori terpadu hingga 16 GB. Meskipun perangkat kerasnya kuat, aplikasi di Split View atau Slide Over berbagi sumber daya dengan aplikasi lain. Tekanan memori lebih tinggi daripada di iPhone. Gunakan kompresi gambar, lazy loading koleksi dan profiling melalui Instruments Allocations. iPad Pro M4 dengan 16 GB memungkinkan menjalankan aplikasi tingkat desktop (Final Cut Pro, Logic Pro).

Desain Keyboard First

Sebagian besar pengguna iPad menggunakan keyboard eksternal. Antarmuka harus sepenuhnya dapat dikontrol dari keyboard: Tab untuk navigasi antar bidang, Space untuk mengaktifkan elemen yang dipilih, Enter untuk konfirmasi. Tambahkan dukungan untuk Full Keyboard Access — pengaturan sistem yang memungkinkan mengontrol elemen UI apa pun dari keyboard.

Pengujian pada perangkat nyata

Simulator iPad tidak sepenuhnya mereproduksi perilaku multitasking. Uji pada perangkat nyata dalam berbagai mode: Split View dengan aplikasi berat (Safari dengan 20 tab), Stage Manager dengan 4 jendela, Slide Over dengan pergantian aplikasi cepat. Periksa skenario: pengguna membuka aplikasi dari Slide Over, menyeretnya ke Split View, mengubah ukuran, menutup — aplikasi tidak boleh crash.

objective-c
// Memeriksa mode multitasking saat ini di iPadOS
- (void)checkMultitaskingMode:(UIWindowScene *)scene {
    if (scene.traitCollection.userInterfaceIdiom != UIUserInterfaceIdiomPad) {
        return;
    }

    BOOL isFullScreen = (scene.traitCollection.horizontalSizeClass == UIUserInterfaceSizeClassRegular &&
                              scene.traitCollection.verticalSizeClass == UIUserInterfaceSizeClassRegular);

    BOOL isSlideOver = (CGRectGetWidth(scene.coordinateSpace.bounds) == 320.0);

    if (scene.windows.first?.windowScene?.activationConditions.canBecomeFocused == YES) {
        NSLog(@"Stage Manager aktif");
    }

    if (isSlideOver) {
        NSLog(@"Mode Slide Over");
    } else if (isFullScreen) {
        NSLog(@"Mode layar penuh");
    } else {
        NSLog(@"Mode Split View");
    }
}

Pertanyaan yang Sering Diajukan

Apa perbedaan iPadOS dengan iOS?

iPadOS memiliki multitasking yang diperluas (Split View, Slide Over, Stage Manager), dukungan Apple Pencil dengan deteksi hover, Safari desktop dengan pengelola unduhan, monitor eksternal dengan resolusi asli dan sistem file Files dengan akses ke drive eksternal melalui USB-C.

Bagaimana cara menambahkan dukungan Split View ke aplikasi?

Split View didukung secara otomatis jika aplikasi menggunakan UISplitViewController. Aplikasi harus menangani perubahan size class dengan benar: saat beralih ke mode kompak, gunakan UINavigationController untuk tumpukan layar. Untuk menolak Split View secara eksplisit, atur UIRequiresFullScreen = YES di Info.plist.

Bagaimana cara mengintegrasikan Apple Pencil ke dalam aplikasi?

Gunakan PencilKit: PKCanvasView untuk permukaan menggambar dan PKToolPicker untuk pemilihan alat. Untuk penanganan sentuhan pena kustom — UIEvent dengan tipe .hover dan UIPencilInteraction untuk ketuk dua kali. Latensi Apple Pencil Pro — 9 ms, generasi sebelumnya — 20 ms.

Apa saja ukuran layar iPad?

iPad mini 8,3″ (2266×1488), iPad Air 10,9″ (2360×1640), iPad Pro 11″ (2388×1668), iPad Pro 13″ M4 (2752×2064). Gunakan Size Classes dan Auto Layout untuk adaptasi. Monitor eksternal hingga 6K melalui Thunderbolt. Stage Manager mendukung hingga 8 jendela (4 di iPad + 4 di monitor eksternal).

Apakah iPadOS mendukung monitor eksternal?

iPadOS 17+ mendukung monitor eksternal melalui USB-C/Thunderbolt dengan resolusi asli hingga 6K. Aplikasi dapat menampilkan konten di monitor eksternal melalui UIWindowScene terpisah dengan siklus hidupnya sendiri. Stage Manager mendukung hingga 4 jendela di monitor eksternal.

Ringkasan

  • iPadOS — OS khusus Apple untuk iPad dengan multitasking, Apple Pencil dan Safari desktop
  • Multitasking mencakup Split View, Slide Over (320 pt) dan Stage Manager (hingga 8 jendela)
  • Apple Pencil didukung melalui PencilKit dengan latensi 9–20 ms dan hover API
  • UI adaptif menggunakan Size Classes dan UISplitViewController untuk semua mode
  • iPadOS SDK mencakup Drag & Drop, UIKeyCommand, monitor eksternal 6K dan UIScene
  • Stage Manager (M1+) memungkinkan jendela tumpang tindih dengan ukuran arbitrer
  • Pengujian wajib pada perangkat nyata di semua mode multitasking

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga