HarmonyOS: ما هو، هندسة النظام والتطوير على ArkUI

المؤلف: IT Sectr نُشر: 2026-02-07 وقت القراءة: 11 دق

HarmonyOS هو نظام تشغيل مملوك لشركة Huawei مبني على نواة دقيقة موزعة مع دعم الهندسة المعمارية عبر المنصات. يتم تطوير التطبيقات باستخدام ArkTS و C++ في بيئة DevEco Studio مع إطار عمل ArkUI. النظام مصمم للتكامل السلس بين الهواتف الذكية والأجهزة اللوحية والساعات وأجهزة إنترنت الأشياء. وفقًا لـ Huawei، تم تثبيت HarmonyOS على أكثر من 700 مليون جهاز حول العالم.

الخلاصة

  • HarmonyOS — نظام تشغيل موزع من Huawei بنواة دقيقة خاصة وهندسة متعددة الأجهزة
  • ArkTS — لغة التطوير الرئيسية المستندة إلى TypeScript للنظام البيئي HarmonyOS
  • ArkUI — إطار عمل UI تصريحي مشابه لـ SwiftUI و Jetpack Compose
  • DevEco Studio — بيئة التطوير المتكاملة الرسمية المستندة إلى IntelliJ مع محاكي ومعاينة
  • الهندسة الموزعة تسمح للتطبيق بالعمل على أجهزة متعددة في وقت واحد

ما هو HarmonyOS؟

HarmonyOS هو نظام تشغيل موزع طورته Huawei وأُعلن عنه لأول مرة في عام 2019 كرد على تقييد الوصول إلى خدمات Google على أجهزة الشركة الجديدة. تم بناء HarmonyOS على نواته الدقيقة الخاصة، المختلفة عن Linux، وهو مصمم للعمل السلس بين الأجهزة: الهواتف الذكية والأجهزة اللوحية والساعات الذكية وأجهزة التلفزيون وأنظمة السيارات وأجهزة إنترنت الأشياء.

وفقًا لـ Huawei (تقرير النظام البيئي HarmonyOS، 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 بيئة التنفيذ الموثوقة (TEE) على مستوى الأجهزة للقياسات الحيوية والمدفوعات ومفاتيح التشفير. يتم التواصل بين العمليات عبر IPC، وهو أسرع 5 مرات من Binder في Android.

أربع طبقات من الهندسة

تتكون هندسة HarmonyOS من أربع طبقات: Kernel Subsystem (النواة الدقيقة + برامج التشغيل)، System Service Layer (خدمات النظام: البيانات الموزعة، نظام الملفات، الأمان)، Framework Layer (ArkUI، الوسائط المتعددة، الاتصالات، خدمات الذكاء الاصطناعي)، Application Layer (تطبيقات المستخدم). كل طبقة معزولة عن الطبقة التي تحتها عبر IPC.

نظام الملفات الموزع

يوفر HarmonyOS نظام ملفات موزع (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 يدعم التصميم المتجاوب من خلال نظام Breakpoints (xs، sm، md، lg، xl) المقابلة لعرض الشاشة. يتم إعادة ترتيب المكونات تلقائيًا عند الانتقال من الهاتف إلى الجهاز اللوحي أو الساعة. GridRow و GridCol هما حاويتان تكيفيتان تغيران عدد الأعمدة حسب نقطة الفصل. وحدات الحجم: vp (بكسل افتراضي)، fp (بكسل خط — يتدرج مع إعدادات الخط)، lpx (بكسل منطقي للساعات).

نوع الجهازنقطة الفصلالقطرالوحدة
الساعة الذكيةxs1.2"–2.0"lpx
الهاتف الذكيsm4.7"–6.9"vp
الجهاز اللوحيmd7.0"–12.0"vp
الحاسوب المحمولlg13.0"–16.0"vp
الشاشة / التلفزيونxl24.0"–65.0"vp

DevEco Studio وأدوات التطوير

DevEco Studio هي بيئة التطوير المتكاملة الرسمية لـ HarmonyOS، المستندة إلى IntelliJ IDEA Community Edition. تتضمن محرر كود مع دعم ArkTS و C++، محرر ArkUI المرئي (سحب وإفلات)، محاكي أجهزة HarmonyOS، معاينة فورية للواجهة و Profiler لتحليل الأداء.

محاكي HarmonyOS

يتضمن DevEco Studio محاكيًا مستندًا إلى QEMU، يدعم الهواتف الذكية (أحجام شاشات مختلفة)، والأجهزة اللوحية، والساعات، وأجهزة التلفزيون. يحاكي المحاكي بيئة موزعة: يمكن تشغيل أجهزة افتراضية متعددة واختبار التفاعل عبر الأجهزة. يتطلب المحاكي المحاكاة الافتراضية (Hyper-V على Windows، KVM على Linux).

المعاينة والمعاينة المباشرة

ArkUI Preview هي ميزة معاينة فورية للواجهة دون بناء أو تشغيل المحاكي. تظهر تغييرات الكود في المعاينة خلال 1-2 ثانية. جميع المكونات والرسوم المتحركة القياسية مدعومة. تعمل المعاينة مع نقاط فصل مختلفة لاختبار التكيف. المعاينة المباشرة تتصل بجهاز حقيقي عبر 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 مع استنتاج على الجهاز على 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.

التطبيقات الموزعة وعبر الأجهزة

الهندسة الموزعة لـ HarmonyOS هي الفرق الرئيسي عن المنافسين. يمكن أن يتكون التطبيق من خدمات ذرية متعددة (Atomic Services)، كل منها يعمل على الجهاز الأمثل. يبدأ المستخدم مهمة على جهاز ويواصل على آخر دون فقدان السياق.

Atomic Services و Ability

Atomic Service هي وحدة النشر الدنيا على HarmonyOS. كل خدمة تنفذ واحدًا أو أكثر من Ability (مشابه لـ Activity في Android). Page Ability — شاشة مع واجهة مستخدم، Service Ability — مهمة خلفية، Data Ability — الوصول إلى البيانات. يمكن للتطبيق تفويض Ability إلى جهاز آخر: على سبيل المثال، تظهر واجهة المستخدم على الجهاز اللوحي بينما يتم تنفيذ معالجة الذكاء الاصطناعي على الهاتف مع NPU.

إدارة البيانات الموزعة

نظام إدارة البيانات الموزعة (DDM) يزامن حالة التطبيق بين الأجهزة. يستخدم DDM كائنات البيانات الموزعة — كائنات تفاعلية تنسخ تلقائيًا عبر جميع أجهزة المستخدم. تغيير البيانات على جهاز واحد ينعكس فورًا على جميع الأجهزة الأخرى. يدعم DDM التشفير ويراعي اتصال الشبكة (Bluetooth، Wi-Fi، البيانات الخلوية).

التقنيةالغرضالنظير
Distributed Data Objectsمزامنة تفاعلية للبيانات بين الأجهزةiCloud / Firebase
Distributed File Systemمساحة ملفات موحدة عبر الأجهزة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 مللي ثانية.

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)
API المستهدفAPI 9+ لـ HarmonyOS 3.x، API 11+ لـ HarmonyOS NEXT
الحجمحتى 4 جيجابايت لـ App Pack، حتى 200 ميجابايت لـ HAP الأساسي
اللغاتدعم إلزامي للصينية المبسطة للصين
السياسةالامتثال لقواعد المطورين من Huawei و GDPR للاتحاد الأوروبي

Huawei Mobile Services (HMS)

HMS Core هي مجموعة من الخدمات التي تحل محل Google Play Services على أجهزة Huawei بدون Google. تشمل: Push Kit (إشعارات الدفع)، Map Kit (خرائط مع ملاحة)، Location Kit (تحديد المواقع)، Ads Kit (إعلانات)، Analytics Kit (تحليلات)، Account Kit (ترخيص عبر Huawei ID). HMS Core متاح على أجهزة HarmonyOS وأجهزة Huawei التي تعمل بنظام Android (عبر AppGallery).

الأسئلة الشائعة

ما اللغات المستخدمة لتطوير HarmonyOS؟

اللغة الرئيسية هي ArkTS، امتداد TypeScript مع تكامل ArkUI. للوحدات عالية الأداء يُستخدم C++ عبر Native API (NAPI). Java مدعومة للتطبيقات القديمة على HarmonyOS 3-4. توصي Huawei باستخدام ArkTS و C++ لجميع المشاريع الجديدة بدءًا من HarmonyOS NEXT.

كيف يختلف HarmonyOS عن Android؟

HarmonyOS يستخدم نواته الدقيقة الخاصة (وليس Linux)، وهندسة موزعة عبر الأجهزة، ونظام ملفات DFS موحد، ومزامنة DDM تفاعلية. HarmonyOS NEXT تخلى تمامًا عن التوافق مع AOSP ولا يدعم تطبيقات APK. جميع التطبيقات تُكتب بلغة ArkTS أو C++.

ما هو ArkUI؟

ArkUI هو إطار عمل UI تصريحي لـ HarmonyOS بلغتي ArkTS و C++. يتم وصف الواجهة عبر @Component مع طريقة build() ومتغيرات تفاعلية (@State). يدعم ArkUI التخطيط التكيفي عبر نقاط الفصل (xs-xl)، و GridRow/GridCol، والرسم المخصص على Canvas لحسابات GPU.

كيف يتم توزيع تطبيقات HarmonyOS؟

المتجر الرسمي هو Huawei AppGallery. تسجيل المطور مجاني. يتم توزيع التطبيق بصيغة HAP (HarmonyOS Ability Package) أو App Pack. تستغرق المراجعة 1-3 أيام. عمولة المتجر 15-30% حسب نموذج تحقيق الدخل. دعم الصينية المبسطة إلزامي للصين.

ما هو DevEco Studio؟

DevEco Studio هو بيئة التطوير المتكاملة الرسمية لـ HarmonyOS المستندة إلى IntelliJ IDEA. يتضمن محرر ArkTS/C++، ومحرر ArkUI المرئي، ومحاكيًا على QEMU، ومعاينة فورية للواجهة، و Profiler لوحدة المعالجة المركزية/الذاكرة، وتكامل مع AppGallery Connect لـ CI/CD. يدعم Windows و macOS و Linux.

الملخص

  • HarmonyOS — نظام تشغيل موزع من Huawei بنواة دقيقة، تخلي عن AOSP في NEXT ودعم عبر الأجهزة
  • ArkTS — لغة التطوير الرئيسية المستندة إلى TypeScript مع أدوات الزينة @Component، @State، @Prop
  • ArkUI — إطار عمل تصريحي مع تخطيط تكيفي عبر نقاط الفصل و GridRow/GridCol
  • DevEco Studio — بيئة تطوير على IntelliJ مع محاكي ومعاينة وتكامل مع 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. سوف نقدم لك النصح ونقترح أفضل حل.

مناقشة المشروع

اقرأ أيضًا