HarmonyOS adalah sistem operasi kepemilikan Huawei yang dibangun di atas mikrokernel terdistribusi dengan dukungan arsitektur lintas platform. Pengembangan aplikasi dilakukan dalam ArkTS dan C++ di lingkungan DevEco Studio dengan framework ArkUI. Sistem ini dirancang untuk integrasi mulus smartphone, tablet, jam tangan, dan perangkat IoT. Menurut Huawei, HarmonyOS terinstal di lebih dari 700 juta perangkat di seluruh dunia.
Poin penting
HarmonyOS adalah sistem operasi terdistribusi yang dikembangkan oleh Huawei dan pertama kali diumumkan pada tahun 2019 sebagai respons terhadap pembatasan akses ke layanan Google pada perangkat baru perusahaan. HarmonyOS dibangun di atas mikrokernel sendiri, berbeda dari Linux, dan dirancang untuk operasi mulus antar perangkat: smartphone, tablet, jam tangan pintar, televisi, sistem otomotif, dan perangkat IoT.
Menurut Huawei (Laporan Ekosistem HarmonyOS, 2026), sistem ini terinstal di lebih dari 700 juta perangkat, termasuk 300 juta smartphone. Pasar China mencakup 95% instalasi. Mulai dari HarmonyOS 5.0 (NEXT, 2024), sistem telah sepenuhnya meninggalkan kompatibilitas Android AOSP — semua aplikasi harus ditulis dalam ArkTS atau C++ menggunakan ArkUI.
Fitur utama HarmonyOS adalah arsitektur terdistribusinya: aplikasi dapat berjalan di beberapa perangkat secara bersamaan, memindahkan antarmuka antar layar. Misalnya, pengguna memulai navigasi di telepon sementara antarmuka ditampilkan di layar mobil — tanpa kompilasi ulang atau kode tambahan.
HarmonyOS 1.0 (2019) — versi pertama untuk Smart Screen, bukan untuk smartphone. HarmonyOS 2.0 (2021) — dibuka untuk smartphone, tablet, dan jam tangan, dukungan aplikasi AOSP. HarmonyOS 3.0 (2022) — arsitektur terdistribusi yang ditingkatkan, Super Device, Multiscreen Collaboration. HarmonyOS 4.0 (2023) — ArkUI 3.0, Live View, peningkatan kinerja. HarmonyOS NEXT (5.0, 2024) — pengabaian total AOSP, hanya aplikasi HarmonyOS asli.
| Versi HarmonyOS | Tahun | Inovasi utama |
|---|---|---|
| 1.0 | 2019 | Versi pertama untuk Smart Screen TV |
| 2.0 | 2021 | Smartphone, tablet, kompatibilitas AOSP |
| 3.0 | 2022 | Super Device, Multiscreen Collaboration |
| 4.0 | 2023 | ArkUI 3.0, Live View, Celia Voice Assistant |
| NEXT (5.0) | 2024 | Pengabaian total AOSP, mikrokernel, hanya ArkTS |
Arsitektur HarmonyOS secara fundamental berbeda dari Android dan iOS. Alih-alih kernel Linux monolitik, HarmonyOS menggunakan mikrokernel sendiri, mengimplementasikan serangkaian fungsi istimewa minimal: manajemen memori, penjadwalan proses, dan komunikasi antar-proses. Semua layanan lainnya berjalan di ruang pengguna.
Mikrokernel HarmonyOS terdiri dari sekitar 10.000 baris kode (kernel Linux memiliki lebih dari 20 juta). Basis kode yang lebih kecil berarti permukaan serangan yang lebih kecil. Sistem menggunakan verifikasi formal — bukti matematis kebenaran kode kernel. HarmonyOS mendukung Trusted Execution Environment (TEE) di tingkat perangkat keras untuk biometrik, pembayaran, dan kunci enkripsi. Komunikasi antar-proses diimplementasikan melalui IPC, 5 kali lebih berkinerja daripada Binder di Android.
Arsitektur HarmonyOS terdiri dari empat lapisan: Kernel Subsystem (mikrokernel + driver), System Service Layer (layanan sistem: data terdistribusi, sistem file, keamanan), Framework Layer (ArkUI, multimedia, teleponi, layanan AI), dan Application Layer (aplikasi pengguna). Setiap lapisan diisolasi dari lapisan di bawahnya melalui IPC.
HarmonyOS menyediakan Sistem File Terdistribusi (DFS) yang menyatukan penyimpanan semua perangkat pengguna menjadi satu ruang virtual. Aplikasi mengakses file melalui URI tanpa menentukan perangkat — sistem merutekan permintaan ke perangkat tempat file disimpan secara fisik. DFS mendukung enkripsi ujung-ke-ujung dan replikasi otomatis data yang sering digunakan.
// Bekerja dengan sistem file terdistribusi HarmonyOS
#include <dfs/storage_manager.h>
#include <uri/uri_helper.h>
using namespace OHOS::Storage;
// Mendapatkan URI file di perangkat terdistribusi
Uri GetDistributedFileUri(const std::string& localPath) {
DistributedFileManager manager;
auto deviceList = manager.GetOnlineDevices();
for (const auto& device : deviceList) {
Uri uri = manager.GetFileUri(device.deviceId, localPath);
if (uri.IsValid()) {
return uri; // File ditemukan di salah satu perangkat
}
}
return Uri::Empty();
}
// Membaca data dari perangkat jarak jauh
std::string ReadDistributedFile(const Uri& uri) {
DistributedFile file(uri);
if (!file.Open(OpenMode::READ_ONLY)) {
return "";
}
char buffer[4096];
size_t bytesRead = file.Read(buffer, sizeof(buffer));
file.Close();
return std::string(buffer, bytesRead);
}Dalam contoh, DistributedFileManager mencari file di semua perangkat online pengguna dan mengembalikan URI terdistribusi. DistributedFile membuka file secara fisik di perangkat jarak jauh melalui IPC, transparan bagi aplikasi. Pengembang tidak perlu tahu di mana data disimpan — sistem merutekan permintaan secara otomatis.
ArkUI adalah framework UI deklaratif HarmonyOS yang dikembangkan oleh Huawei. Antarmuka digambarkan sebagai hierarki komponen dengan pengikatan data reaktif, mirip dengan SwiftUI (iOS) atau Jetpack Compose (Android). ArkTS adalah bahasa pengembangan berbasis TypeScript dengan pengetikan statis tambahan dan integrasi dengan ArkUI melalui dekorator @Component, @State, @Prop, @Link.
ArkTS memperluas TypeScript dengan harmonisasi framework UI: @Component — dekorator untuk mendeklarasikan komponen UI, build() — metode wajib yang mengembalikan pohon elemen UI, @State — variabel reaktif yang perubahannya secara otomatis menggambar ulang komponen, @Prop — properti input dari induk, @Link — pengikatan dua arah. Semua komponen ArkUI menggunakan sintaks berantai dengan pengubah (.width, .height, .backgroundColor).
// ArkTS — layar profil pengguna di ArkUI
@Component
struct ProfileScreen {
@State userName: string = "Anna Petrova";
@State avatarUrl: Resource = $r("media.avatar_default");
@State isLoading: boolean = false;
@Prop onEditClick: () => void;
aboutToAppear(): void {
this.loadUserData();
}
async loadUserData(): Promise<void> {
this.isLoading = true;
try {
const data = await UserService.getProfile();
this.userName = data.name;
this.avatarUrl = data.avatarUrl;
} catch (error) {
console.error("Kesalahan pemuatan", error);
} finally {
this.isLoading = false;
}
}
build(): void {
Column() {
if (this.isLoading) {
LoadingProgress()
.width('50%')
.height('50%');
} else {
Stack({ alignContent: Alignment.Center }) {
Image(this.avatarUrl)
.width('100%')
.height('100%')
.objectFit(ImageFit.Cover);
Column() {
Text(this.userName)
.fontSize('24fp')
.fontWeight(FontWeight.Bold)
.fontColor(Color.White);
Button("Edit", {
type: ButtonType.Capsule,
stateEffect: true
})
.onClick(() => {
this.onEditClick();
})
.margin({ top: '12vp' });
}
.alignItems(HorizontalAlign.Center)
.width('100%');
}
.width('100%')
.height('300vp');
}
}
.padding('16vp')
.width('100%')
.height('100%');
}
}
// Titik masuk aplikasi
@Entry
@Component
struct MainApp {
build(): void {
Column() {
ProfileScreen({
onEditClick: () => {
console.info("Buka editor profil");
}
});
}
.width('100%')
.height('100%');
}
}Komponen ProfileScreen di ArkTS menunjukkan: @State untuk variabel reaktif, @Prop untuk callback input, Column/Stack/Text/Image/Button sebagai komponen UI dasar, pemuatan data asinkron melalui async/await. LoadingProgress ditampilkan selama pemuatan. Semua ukuran ditentukan dalam vp (piksel virtual) — unit adaptif mirip pt di iOS atau dp di Android.
ArkUI mendukung desain responsif melalui sistem Titik Henti (xs, sm, md, lg, xl) yang sesuai dengan lebar layar. Komponen secara otomatis ditata ulang saat beralih dari telepon ke tablet atau jam tangan. GridRow dan GridCol adalah wadah adaptif yang mengubah jumlah kolom tergantung pada titik henti. Unit ukuran: vp (piksel virtual), fp (piksel font — diskalakan dengan pengaturan font), lpx (piksel logis untuk jam tangan).
| Jenis perangkat | Titik henti | Diagonal | Unit |
|---|---|---|---|
| Jam tangan pintar | xs | 1.2"–2.0" | lpx |
| Smartphone | sm | 4.7"–6.9" | vp |
| Tablet | md | 7.0"–12.0" | vp |
| Laptop | lg | 13.0"–16.0" | vp |
| Monitor / TV | xl | 24.0"–65.0" | vp |
DevEco Studio adalah lingkungan pengembangan terintegrasi (IDE) resmi untuk HarmonyOS, berbasis IntelliJ IDEA Community Edition. Termasuk editor kode dengan dukungan ArkTS dan C++, editor visual ArkUI (seret dan lepas), emulator perangkat HarmonyOS, Preview untuk melihat UI instan, dan Profiler untuk analisis kinerja.
DevEco Studio menyertakan emulator berbasis QEMU, mendukung smartphone (berbagai ukuran layar), tablet, jam tangan, dan televisi. Emulator mensimulasikan lingkungan terdistribusi: Anda dapat menjalankan beberapa perangkat virtual dan menguji interaksi lintas perangkat. Emulator memerlukan virtualisasi (Hyper-V di Windows, KVM di Linux).
ArkUI Preview adalah fitur melihat UI instan tanpa membangun atau memulai emulator. Perubahan kode muncul di Preview dalam 1-2 detik. Semua komponen dan animasi standar didukung. Preview berfungsi dengan berbagai titik henti untuk menguji kemampuan adaptasi. Live Preview terhubung ke perangkat nyata melalui USB atau Wi-Fi untuk pengujian pada perangkat keras.
SDK HarmonyOS mencakup: ArkUI (komponen UI), Multimedia Kit (pengambilan dan pemutaran audio/video), Connectivity Kit (Bluetooth, Wi-Fi, NFC), Location Kit (geolokasi), Sensor Kit (sensor), AI Kit (ML Kit dengan inferensi pada perangkat di NPU Huawei). Versi API: API 9 (HarmonyOS 3.x), API 10 (4.x), API 11 (NEXT).
// Inisialisasi kamera di HarmonyOS melalui Multimedia Kit
import multimedia.CameraManager;
import multimedia.CameraInput;
import multimedia.PreviewOutput;
@Component
struct CameraView {
@State isPreviewActive: boolean = false;
cameraManager: CameraManager = CameraManager.getInstance();
cameraInput?: CameraInput;
previewOutput?: PreviewOutput;
async startPreview(): Promise<void> {
try {
// Meminta izin kamera
const granted = await Permissions.request("ohos.permission.CAMERA");
if (!granted) return;
// Mendapatkan kamera (0 — belakang, 1 — depan)
const camera = await this.cameraManager.getCamera(0);
// Membuat input kamera
this.cameraInput = await this.cameraManager.createCameraInput(camera);
await this.cameraInput.open();
// Memulai pratinjau di Surface (XComponent ArkUI)
this.previewOutput = await this.cameraManager.createPreviewOutput({
width: 1920,
height: 1080
});
await this.previewOutput.start();
this.isPreviewActive = true;
} catch (error) {
console.error("Camera error: " + error.message);
}
}
async stopPreview(): Promise<void> {
await this.previewOutput?.stop();
await this.cameraInput?.close();
this.isPreviewActive = false;
}
}Komponen CameraView mendemonstrasikan kerja dengan Multimedia Kit: meminta izin melalui Permissions.request, mendapatkan kamera melalui CameraManager, membuat CameraInput dan PreviewOutput. ArkUI Surface (melalui XComponent) menampilkan aliran video. Semua operasi asinkron dengan penanganan kesalahan melalui try/catch.
Arsitektur terdistribusi HarmonyOS adalah perbedaan utama dari pesaing. Sebuah aplikasi dapat terdiri dari beberapa layanan atom (Atomic Services), masing-masing berjalan di perangkat optimal. Pengguna memulai tugas di satu perangkat dan melanjutkan di perangkat lain tanpa kehilangan konteks.
Atomic Service adalah unit penerapan minimum di HarmonyOS. Setiap layanan mengimplementasikan satu atau lebih Ability (mirip dengan Activity di Android). Page Ability — layar dengan UI, Service Ability — tugas latar belakang, Data Ability — akses data. Aplikasi dapat mendelegasikan Ability ke perangkat lain: misalnya, UI ditampilkan di tablet sementara pemrosesan AI berjalan di telepon dengan NPU.
Sistem Manajemen Data Terdistribusi (DDM) menyinkronkan status aplikasi antar perangkat. DDM menggunakan Objek Data Terdistribusi — objek reaktif yang secara otomatis direplikasi ke semua perangkat pengguna. Perubahan data di satu perangkat langsung tercermin di semua perangkat lainnya. DDM mendukung enkripsi dan mempertimbangkan koneksi jaringan (Bluetooth, Wi-Fi, data seluler).
| Teknologi | Tujuan | Mirip |
|---|---|---|
| Distributed Data Objects | Sinkronisasi data reaktif antar perangkat | iCloud / Firebase |
| Distributed File System | Ruang file terpadu lintas perangkat | iCloud Drive |
| Ability Distribute | Delegasi layar ke perangkat lain | — |
| Super Device | Menyatukan perangkat menjadi satu sistem | Apple Continuity |
| Multiscreen Collaboration | Bekerja dengan satu aplikasi di beberapa layar | Sidecar (iPad + Mac) |
Super Device — fitur HarmonyOS yang memungkinkan menyatukan hingga 7 perangkat Huawei menjadi satu lingkungan komputasi. Pengguna menyeret ikon perangkat di antarmuka Super Device: speaker menjadi keluaran audio, tablet menjadi layar kedua, jam tangan menjadi pemantau detak jantung untuk aplikasi kebugaran di telepon. Semua perangkat sinkron melalui Distributed Bus dengan latensi kurang dari 5 ms.
Huawei AppGallery adalah toko aplikasi resmi HarmonyOS, terbesar ketiga di dunia setelah Google Play dan App Store. Menurut Huawei (2026), AppGallery memiliki lebih dari 580 juta pengguna aktif bulanan. Pendaftaran pengembang gratis untuk individu (berbeda dengan $99 Apple).
Pengembang membangun aplikasi di DevEco Studio (format .hap — HarmonyOS Ability Package). Publikasi melalui AppGallery Connect: unggah file HAP, isi deskripsi (nama, ikon, tangkapan layar), konfigurasi model harga. Waktu moderasi rata-rata adalah 1-3 hari kerja. Huawei memeriksa keamanan (analisis statis), kompatibilitas API, dan kepatuhan kebijakan.
AppGallery mendukung: aplikasi berbayar (komisi Huawei 15-30%), langganan (komisi 15%), iklan melalui Huawei Ads Kit, dan pembelian dalam aplikasi melalui IAP Kit. Huawei Pay adalah gateway pembayaran untuk pasar China yang mendukung Alipay dan WeChat Pay. Pengembang internasional menerima pembayaran melalui PayPal atau transfer bank.
| Persyaratan | Deskripsi |
|---|---|
| Format | HAP (HarmonyOS Ability Package) atau App Pack (beberapa HAP) |
| Tanda tangan | Tanda tangan digital melalui DevEco Studio (Sertifikat Huawei) |
| API target | API 9+ untuk HarmonyOS 3.x, API 11+ untuk HarmonyOS NEXT |
| Ukuran | Hingga 4 GB untuk App Pack, hingga 200 MB untuk HAP dasar |
| Bahasa | Dukungan wajib bahasa China sederhana untuk China |
| Kebijakan | Kepatuhan terhadap Aturan Pengembang Huawei dan GDPR untuk Uni Eropa |
HMS Core adalah kumpulan layanan yang menggantikan Google Play Services pada perangkat Huawei tanpa Google. Termasuk: Push Kit (notifikasi push), Map Kit (peta dengan navigasi), Location Kit (geolokasi), Ads Kit (iklan), Analytics Kit (analitik), Account Kit (otorisasi melalui Huawei ID). HMS Core tersedia di perangkat dengan HarmonyOS dan di perangkat Android Huawei (melalui AppGallery).
Pertanyaan yang sering diajukan
Bahasa utama adalah ArkTS, ekstensi TypeScript dengan integrasi ArkUI. Untuk modul penting kinerja, C++ digunakan melalui Native API (NAPI). Java didukung untuk aplikasi lama di HarmonyOS 3-4. Huawei merekomendasikan ArkTS dan C++ untuk semua proyek baru mulai dari HarmonyOS NEXT.
HarmonyOS menggunakan mikrokernel sendiri (bukan Linux), arsitektur terdistribusi lintas perangkat, sistem file DFS terpadu, dan sinkronisasi DDM reaktif. HarmonyOS NEXT telah sepenuhnya meninggalkan kompatibilitas AOSP dan tidak mendukung aplikasi APK. Semua aplikasi ditulis dalam ArkTS atau C++.
ArkUI adalah framework UI deklaratif untuk HarmonyOS dalam ArkTS dan C++. Antarmuka dijelaskan melalui @Component dengan metode build() dan variabel reaktif (@State). ArkUI mendukung tata letak adaptif melalui Titik Henti (xs-xl), GridRow/GridCol, dan rendering Canvas khusus untuk perhitungan GPU.
Toko resmi adalah Huawei AppGallery. Pendaftaran pengembang gratis. Aplikasi didistribusikan dalam format HAP (HarmonyOS Ability Package) atau App Pack. Moderasi memakan waktu 1-3 hari. Komisi toko adalah 15-30% tergantung model monetisasi. Dukungan bahasa China sederhana wajib untuk China.
DevEco Studio adalah IDE resmi untuk HarmonyOS berbasis IntelliJ IDEA. Termasuk editor ArkTS/C++, editor visual ArkUI, emulator berbasis QEMU, Preview untuk melihat UI instan, Profiler untuk CPU/memori, dan integrasi dengan AppGallery Connect untuk CI/CD. Mendukung Windows, macOS, dan Linux.
Ringkasan
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.
Baca juga