HarmonyOS: шта је то, архитектура система и развој на ArkUI

Аутор: IT Sectr Објављено: 2026-02-07 Време читања: 11 мин

HarmonyOS је власнички оперативни систем компаније Huawei, изграђен на дистрибуираном микројезгру са подршком за вишеплатформску архитектуру. Развој апликација се врши у ArkTS-у и C++-у у окружењу DevEco Studio са фрејмворком ArkUI. Систем је оријентисан на беспрекорну интеграцију паметних телефона, таблета, сатова и IoT уређаја. Према подацима Huawei-ја, HarmonyOS је инсталиран на преко 700 милиона уређаја широм света.

Главне тачке

  • HarmonyOS — дистрибуирани ОС Huawei-ја са сопственим микројезгром и мулти-уређајском архитектуром
  • ArkTS — основни развојни језик базиран на TypeScript-у за екосистем HarmonyOS-а
  • ArkUI — декларативни UI фрејмворк аналоган SwiftUI-ју и Jetpack Compose-у
  • DevEco Studio — званично IDE базирано на IntelliJ-у са емулатором и Preview-ем
  • Дистрибуирана архитектура омогућава апликацији да ради на више уређаја истовремено

Шта је HarmonyOS?

HarmonyOS је дистрибуирани оперативни систем који је развио Huawei и први пут најављен 2019. године као одговор на ограничење приступа Google услугама на новим уређајима компаније. HarmonyOS је изграђен на сопственом микројезгру, различитом од Linux-а, и дизајниран је за беспрекорни рад између уређаја: паметних телефона, таблета, паметних сатова, телевизора, аутомобилских система и IoT уређаја.

Према подацима Huawei-ја (HarmonyOS Ecosystem Report, 2026), систем је инсталиран на преко 700 милиона уређаја, укључујући 300 милиона паметних телефона. Кинеско тржиште чини 95% инсталација. Почевши од HarmonyOS 5.0 (NEXT, 2024), систем се потпуно одрекао компатибилности са Android AOSP-ом — све апликације морају бити написане у ArkTS-у или C++-у коришћењем ArkUI-ја.

Кључна карактеристика HarmonyOS-а је његова дистрибуирана архитектура: апликација може да ради на више уређаја истовремено, померајући интерфејс између екрана. На пример, корисник покреће навигацију на телефону, а интерфејс се приказује на екрану аутомобила — без прекомпајлирања или додатног кода.

Историја верзија HarmonyOS-а

HarmonyOS 1.0 (2019) — прва верзија за Smart Screen, не за паметне телефоне. HarmonyOS 2.0 (2021) — отворена за паметне телефоне, таблете и сатове, подршка за AOSP апликације. HarmonyOS 3.0 (2022) — побољшана дистрибуирана архитектура, Super Device, Multiscreen Collaboration. HarmonyOS 4.0 (2023) — ArkUI 3.0, Live View, побољшане перформансе. HarmonyOS NEXT (5.0, 2024) — потпуно напуштање AOSP-а, само изворне HarmonyOS апликације.

Верзија HarmonyOS-аГодинаКључна иновација
1.02019Прва верзија за Smart Screen TV
2.02021Паметни телефони, таблети, AOSP компатибилност
3.02022Super Device, Multiscreen Collaboration
4.02023ArkUI 3.0, Live View, Celia Voice Assistant
NEXT (5.0)2024Потпуно напуштање AOSP-а, микројезгро, само ArkTS

Архитектура HarmonyOS-а: дистрибуирано микројезгро

Архитектура HarmonyOS-а се принципијелно разликује од Android-а и iOS-а. Уместо монолитног Linux језгра, HarmonyOS користи сопствено микројезгро које имплементира минимални скуп привилегованих функција: управљање меморијом, планирање процеса и међупрограмску комуникацију. Све остале услуге раде у корисничком простору.

Микројезгро и безбедност

Микројезгро HarmonyOS-а броји око 10.000 линија кода (Linux језгро има преко 20 милиона). Мања кодна база значи мању површину за напад. Систем користи формалну верификацију — математички доказ исправности кода језгра. HarmonyOS подржава Trusted Execution Environment (TEE) на хардверском нивоу за биометрију, плаћања и кључеве шифровања. Међупрограмска комуникација је реализована кроз IPC, 5 пута перформантнији од Binder-а у Android-у.

Четири слоја архитектуре

Архитектура HarmonyOS-а се састоји од четири слоја: Kernel Subsystem (микројезгро + драјвери), System Service Layer (системске услуге: дистрибуирани подаци, фајл систем, безбедност), Framework Layer (ArkUI, мултимедија, телефонија, AI услуге) и Application Layer (корисничке апликације). Сваки слој је изолован од нижележећег кроз IPC.

Дистрибуирани фајл систем

HarmonyOS пружа Distributed File System (DFS) који обједињује складишта свих корисничких уређаја у јединствени виртуелни простор. Апликација приступа фајловима преко URI-ја без навођења уређаја — систем усмерава захтев на уређај где се фајл физички налази. DFS подржава шифровање од краја до краја и аутоматску репликацију често коришћених података.

cpp
// Рад са дистрибуираним фајл системом HarmonyOS-а
#include <dfs/storage_manager.h>
#include <uri/uri_helper.h>

using namespace OHOS::Storage;

// Добијање URI фајла на дистрибуираном уређају
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;  // Фајл пронађен на једном од уређаја
        }
    }
    return Uri::Empty();
}

// Читање података са удаљеног уређаја
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);
}

У примеру, DistributedFileManager тражи фајл на свим онлајн уређајима корисника и враћа дистрибуирани URI. DistributedFile отвара фајл физички на удаљеном уређају кроз IPC, транспарентно за апликацију. Програмер не мора да зна где се подаци чувају — систем аутоматски усмерава захтев.

ArkUI и ArkTS: развој интерфејса

ArkUI је декларативни UI фрејмворк HarmonyOS-а који је развио Huawei. Интерфејс се описује у облику хијерархије компоненти са реактивним повезивањем података, аналогно SwiftUI-ју (iOS) или Jetpack Compose-у (Android). ArkTS је развојни језик базиран на TypeScript-у са додатном статичком типизацијом и интеграцијом са ArkUI-јем кроз декораторе @Component, @State, @Prop, @Link.

Основне концепције ArkTS-а

ArkTS проширује TypeScript хармонизацијом са UI фрејмворком: @Component — декоратор за декларисање UI компоненте, build() — обавезни метод који враћа стабло UI елемената, @State — реактивна променљива чија промена аутоматски прецртава компоненту, @Prop — улазно својство од родитеља, @Link — двосмерно повезивање. Све ArkUI компоненте користе ланчану синтаксу са модификаторима (.width, .height, .backgroundColor).

java
// ArkTS — екран профила корисника на ArkUI-ју
@Component
struct ProfileScreen {
    @State userName: string = "Ана Петрова";
    @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("Грешка учитавања", 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("Уреди", {
                            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%');
    }
}

// Тачка улаза апликације
@Entry
@Component
struct MainApp {
    build(): void {
        Column() {
            ProfileScreen({
                onEditClick: () => {
                    console.info("Отвори уређивач профила");
                }
            });
        }
        .width('100%')
        .height('100%');
    }
}

Компонента ProfileScreen на ArkTS-у демонстрира: @State за реактивне променљиве, @Prop за улазни колбек, Column/Stack/Text/Image/Button као основне UI компоненте, асинхроно учитавање података кроз async/await. LoadingProgress се приказује током учитавања. Све величине су задате у vp (виртуелним пикселима) — адаптивним јединицама аналогним pt-у у iOS-у или dp-у у Android-у.

Адаптација под различите уређаје

ArkUI подржава responsive design кроз систем Breakpoints (xs, sm, md, lg, xl) који одговарају ширини екрана. Компоненте се аутоматски престројавају при преласку са телефона на таблет или сат. GridRow и GridCol су адаптивни контејнери који мењају број колона у зависности од breakpoint-а. Јединице величине: vp (виртуелни пиксели), fp (фонт пиксели — скалирају се под подешавања фонта), lpx (логички пиксели за сатове).

Тип уређајаBreakpointДијагоналаЈединица
Smartwatchxs1.2"–2.0"lpx
Паметни телефонsm4.7"–6.9"vp
Таблетmd7.0"–12.0"vp
Лаптопlg13.0"–16.0"vp
Монитор / TVxl24.0"–65.0"vp

DevEco Studio и алати за развој

DevEco Studio је званично интегрисано развојно окружење (IDE) за HarmonyOS, засновано на IntelliJ IDEA Community Edition. Укључује уређивач кода са подршком за ArkTS и C++, визуелни уређивач ArkUI-ја (превуци и пусти), емулатор HarmonyOS уређаја, Preview за тренутни преглед UI-ја и Profiler за анализу перформанси.

Емулатор HarmonyOS-а

DevEco Studio укључује емулатор заснован на QEMU-у, који подржава паметне телефоне (различите величине екрана), таблете, сатове и телевизоре. Емулатор симулира дистрибуирано окружење: можете покренути више виртуелних уређаја и тестирати across-уређајску интеракцију. Емулатор захтева виртуелизацију (Hyper-V на Windows-у, KVM на Linux-у).

Preview и Live Preview

ArkUI Preview је функција тренутног прегледа UI-ја без изградње и покретања емулатора. Промене у коду се приказују у Preview-ју за 1-2 секунде. Подржани су сви стандардни компоненти и анимације. Preview ради са различитим breakpoint-има за проверу адаптивности. Live Preview се повезује са правим уређајем преко USB-а или Wi-Fi-ја за тестирање на хардверу.

HarmonyOS SDK и API

HarmonyOS SDK укључује: ArkUI (UI компоненте), Multimedia Kit (аудио/видео захват и репродукција), Connectivity Kit (Bluetooth, Wi-Fi, NFC), Location Kit (геолокација), Sensor Kit (сензори), AI Kit (ML Kit са on-device инференсом на NPU-у Huawei-ја). API верзије: API 9 (HarmonyOS 3.x), API 10 (4.x), API 11 (NEXT).

java
// Иницијализација камере на HarmonyOS-у кроз 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 {
            // Захтев дозволе за камеру
            const granted = await Permissions.request("ohos.permission.CAMERA");
            if (!granted) return;

            // Добијање камере (0 — задња, 1 — предња)
            const camera = await this.cameraManager.getCamera(0);

            // Креирање улаза камере
            this.cameraInput = await this.cameraManager.createCameraInput(camera);
            await this.cameraInput.open();

            // Покретање прегледа на 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;
    }
}

Компонента CameraView демонстрира рад са Multimedia Kit-ом: захтев дозволе кроз Permissions.request, добијање камере кроз CameraManager, креирање CameraInput и PreviewOutput. ArkUI Surface (кроз XComponent) приказује видео ток. Све операције су асинхроне са обрадом грешака кроз try/catch.

Дистрибуиране апликације и across-уређаји

Дистрибуирана архитектура HarmonyOS-а је главна разлика од конкурената. Апликација може да се састоји од више атомарних сервиса (Atomic Services), од којих се сваки покреће на оптималном уређају. Корисник започиње задатак на једном уређају и наставља на другом без губитка контекста.

Atomic Services и Ability

Atomic Service је минимална јединица развоја на HarmonyOS-у. Сваки сервис имплементира један или више Ability (аналог Activity у Android-у). Page Ability — екран са UI-јем, Service Ability — позадински задатак, Data Ability — приступ подацима. Апликација може да делегира Ability другом уређају: на пример, UI се приказује на таблету, а AI обрада се извршава на телефону са NPU-ом.

Distributed Data Management

Систем за управљање дистрибуираним подацима (DDM) синхронизује стање апликације између уређаја. DDM користи Distributed Data Objects — реактивне објекте који се аутоматски реплицирају на све уређаје корисника. Промена података на једном уређају се тренутно одражава на свим осталим. DDM подржава шифровање и узима у обзир мрежну везу (Bluetooth, Wi-Fi, мобилни подаци).

ТехнологијаНаменаАналог
Distributed Data ObjectsРеактивна синхронизација података између уређајаiCloud / Firebase
Distributed File SystemЈединствени фајл простор across-уређајаiCloud Drive
Ability DistributeДелегирање екрана на други уређај
Super DeviceОбједињавање уређаја у јединствени системApple Continuity
Multiscreen CollaborationРад са једном апликацијом на више екранаSidecar (iPad + Mac)

Super Device

Super Device — функција HarmonyOS-а која омогућава обједињавање до 7 Huawei уређаја у јединствено рачунарско окружење. Корисник превлачи иконе уређаја у интерфејсу Super Device-а: звучници постају аудио излаз, таблет постаје други екран, сат постаје пулсометар за фитнес апликацију на телефону. Сви уређаји се синхронизују кроз дистрибуирану магистралу (Distributed Bus) са кашњењем мањим од 5 ms.

AppGallery и објављивање апликација

Huawei AppGallery је званична продавница апликација HarmonyOS-а, трећа по величини у свету после Google Play-а и App Store-а. Према подацима Huawei-ја (2026), AppGallery броји преко 580 милиона активних корисника месечно. Регистрација програмера је бесплатна за физичка лица (за разлику од $99 Apple-а).

Процес објављивања

Програмер саставља апликацију у DevEco Studio-у (формат .hap — HarmonyOS Ability Package). Објављивање кроз AppGallery Connect: отпремање HAP датотеке, попуњавање описа (назив, икона, снимци екрана), подешавање ценовног модела. Просечно време модерирања је 1-3 радна дана. Huawei проверава безбедност (статичка анализа), компатибилност са API-јем и усклађеност са политикама.

Монетизација

AppGallery подржава: плаћене апликације (провизија Huawei 15-30%), претплате (15% провизија), рекламе кроз Huawei Ads Kit и куповине у апликацији кроз IAP Kit. Huawei Pay је платни шлуз за кинеско тржиште који подржава Alipay и WeChat Pay. Међународни програмери добијају исплате кроз PayPal или банковни трансфер.

ЗахтевОпис
ФорматHAP (HarmonyOS Ability Package) или App Pack (више HAP-ова)
ПотписДигитални потпис кроз DevEco Studio (Huawei сертификат)
Циљни APIAPI 9+ за HarmonyOS 3.x, API 11+ за HarmonyOS NEXT
ВеличинаДо 4 GB за App Pack, до 200 MB за основни HAP
ЈезициОбавезна подршка за кинески (поједностављени) за Кину
ПолитикаУсклађеност са Rules for Developers Huawei и GDPR-ом за ЕУ

Huawei Mobile Services (HMS)

HMS Core је скуп сервиса који замењују Google Play Services на Huawei уређајима без Google-а. Укључује: Push Kit (push-обавештења), Map Kit (мапе са навигацијом), Location Kit (геолокација), Ads Kit (рекламе), Analytics Kit (аналитика), Account Kit (ауторизација кроз Huawei ID). HMS Core је доступан на уређајима са HarmonyOS-ом и на Android уређајима Huawei-ја (кроз AppGallery).

Често постављана питања

Који језици се користе за развој под HarmonyOS?

Основни језик је ArkTS, проширење TypeScript-а са интеграцијом ArkUI-ја. За продуктивне модуле користи се C++ кроз Native API (NAPI). Java је подржана за легаси апликације на HarmonyOS 3-4. ArkTS и C++ су препоручени од стране Huawei-ја за све нове пројекте почевши од HarmonyOS NEXT-а.

Како се HarmonyOS разликује од Android-а?

HarmonyOS користи сопствено микројезгро (не Linux), дистрибуирану архитектуру across-уређаја, јединствени фајл систем DFS и реактивну синхронизацију DDM. HarmonyOS NEXT се у потпуности одрекао компатибилности са AOSP-ом и не подржава APK апликације. Све апликације се пишу у ArkTS-у или C++-у.

Шта је ArkUI?

ArkUI је декларативни UI фрејмворк HarmonyOS-а на језицима ArkTS и C++. Интерфејс се описује кроз @Component са build()-методом и реактивним променљивим (@State). ArkUI подржава адаптивно распоређивање кроз Breakpoints (xs-xl), GridRow/GridCol и прилагођено Canvas-исцртавање за GPU прорачуне.

Како се дистрибуирају HarmonyOS апликације?

Званична продавница је Huawei AppGallery. Регистрација програмера је бесплатна. Апликација се испоручује у формату HAP (HarmonyOS Ability Package) или App Pack. Модерирање траје 1-3 дана. Провизија продавнице је 15-30% у зависности од модела монетизације. За Кину је обавезна подршка за поједностављени кинески језик.

Шта је DevEco Studio?

DevEco Studio је званично IDE за HarmonyOS на бази IntelliJ IDEA-е. Укључује уређивач ArkTS/C++-а, визуелни уређивач ArkUI-ја, емулатор на QEMU-у, Preview за тренутни преглед UI-ја, Profiler за CPU/меморију и интеграцију са AppGallery Connect-ом за CI/CD. Подржава Windows, macOS и Linux.

Закључци

  • HarmonyOS — дистрибуирани ОС Huawei-ја са микројезгром, одрицањем од AOSP-а у NEXT-у и подршком across-уређаја
  • ArkTS — основни развојни језик базиран на TypeScript-у са декораторима @Component, @State, @Prop
  • ArkUI — декларативни фрејмворк са адаптивним распоређивањем кроз Breakpoints и GridRow/GridCol
  • DevEco Studio — IDE на IntelliJ-у са емулатором, Preview-ем и интеграцијом са AppGallery Connect-ом
  • Дистрибуирана архитектура укључује DFS, DDM, Ability Distribute и Super Device до 7 уређаја
  • AppGallery — званична продавница са бесплатном регистрацијом, форматом HAP и провизијом 15-30%
  • HMS Core пружа Push Kit, Map Kit, Location Kit, Ads Kit, Analytics Kit и Account Kit

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође