Tizen: جوهر التطوير لـ Samsung Watch و Smart TV

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

Tizen هو نظام تشغيل مفتوح المصدر يعتمد على Linux، تم تطويره بواسطة Samsung و Linux Foundation. يُستخدم في ساعات Galaxy Watch الذكية وتلفزيونات Samsung Smart TV والأجهزة المنزلية وأجهزة IoT. يتم التطوير بلغة C/C++ للتطبيقات الأصلية و HTML5/JavaScript للتطبيقات الويب. يوفر Tizen SDK محاكيًا وبيئة تطوير متكاملة تعتمد على Visual Studio Code. وفقًا لـ Tizen Association، يضم النظام البيئي أكثر من 200 مليون جهاز.

الخلاصة

  • Tizen — نظام تشغيل مفتوح المصدر من Samsung على نواة Linux للساعات والتلفزيونات والأجهزة المنزلية و IoT
  • C/C++ — اللغة الأساسية للتطبيقات الأصلية عالية الأداء مع وصول كامل للعتاد
  • HTML5/JS — مجموعة تقنيات للتطبيقات الويب مع Tizen Device API وإمكانية النمذجة السريعة
  • Tizen Studio — SDK مع محاكي للساعة والتلفزيون وملف تعريف ومصحح أخطاء يعتمد على VS Code
  • Galaxy Store — متجر تطبيقات Samsung مع مراجعة وتوقيع وعمولة 30/25%

ما هو Tizen؟

Tizen هو نظام تشغيل مفتوح المصدر تشرف عليه Samsung و Linux Foundation. تم إطلاق أول إصدار تجاري Tizen 1.0 في عام 2012. يعتمد النظام على نواة Linux ويستخدم بنيته الخاصة من الأطر البرمجية لأنواع مختلفة من الأجهزة: Tizen Mobile (الهواتف الذكية — تم إغلاق المشروع في 2017)، Tizen Watch (الساعات)، Tizen TV (التلفزيونات)، و Tizen IoT (المنزل الذكي).

منذ عام 2021، تستخدم Samsung Tizen بشكل أساسي في الأجهزة القابلة للارتداء والتلفزيونات. كانت جميع ساعات Galaxy Watch الذكية قبل 2021 تعمل على Tizen (Galaxy Watch، Watch Active، Watch 3). بدءًا من Galaxy Watch 4، انتقلت Samsung إلى Wear OS مع One UI Watch، لكن Tizen لا يزال مدعومًا للأجهزة الحالية والتلفزيونات. وفقًا لـ Samsung (تقرير نظام Tizen البيئي، 2025)، تم تثبيت Tizen TV على أكثر من 180 مليون تلفزيون حول العالم.

الميزة الرئيسية لـ Tizen هي دعم نموذجين للتطوير: التطبيقات الأصلية (C/C++) بأقصى أداء والتطبيقات الويب (HTML5، CSS، JavaScript) للتطوير السريع. كلا النوعين لديهما وصول إلى Tizen Device API — واجهات للعمل مع Bluetooth و NFC و Wi-Fi وأجهزة الاستشعار والكاميرا والوسائط المتعددة.

تاريخ إصدارات Tizen

Tizen 2.3 (2014) — أول إصدار مستقر للهواتف الذكية Samsung Z. Tizen 3.0 (2017) — تحسين تعدد المهام، دعم Vulkan، بنية 64 بت. Tizen 4.0 (2018) — أطر برمجية معاد تصميمها، دعم تسريع الذكاء الاصطناعي على NPU. Tizen 5.5 (2020) — Tizen TV مع AVPlay 2.0، WebAssembly، تحسين العرض. Tizen 6.0 (2022) — دعم استنتاج التعلم الآلي على الجهاز، بروتوكول Matter لـ IoT.

إصدار Tizenالسنةالأجهزةالابتكار الرئيسي
2.32014الهواتف الذكيةأول إصدار تجاري على Samsung Z
3.02017الهواتف الذكية، الساعاتVulkan، 64 بت، Galaxy Watch
4.02018الساعات، التلفزيون، IoTأطر الذكاء الاصطناعي، Tizen TV 2019
5.52020التلفزيون، IoTAVPlay 2.0، WebAssembly، تحسين WebGL
6.02022التلفزيون، IoTاستنتاج التعلم الآلي، بروتوكول Matter

بنية Tizen: نواة Linux والأطر البرمجية

بنية Tizen مبنية على مبدأ نمطي بهيكل متعدد الطبقات. الطبقة السفلية هي نواة Linux مع تصحيحات لكفاءة الطاقة والمهام في الوقت الفعلي (RT_PREEMPT للتلفزيون والصوت). فوق النواة توجد طبقة تجريد العتاد (HAL)، التي توفر وصولًا موحدًا لمشغلات الكاميرا وأجهزة الاستشعار و Bluetooth و Wi-Fi و NFC والشاشة (عبر DirectFB أو Wayland).

طبقة الإطار الأساسي

تشمل طبقة الإطار الأساسي إطار التطبيق (إدارة دورة حياة التطبيقات)، إطار واجهة المستخدم (EFL — مكتبات Enlightenment Foundation لواجهة المستخدم، DALi — محرك ثلاثي الأبعاد للألعاب والرسوم المتحركة)، إطار الوسائط المتعددة (الكاميرا، الصوت، الفيديو عبر GStreamer و MediaCodec)، إطار الشبكة (Bluetooth، Wi-Fi، NFC، HTTP، WebSocket)، و إطار الأمان (SELinux، Smack، نظام صلاحيات Tizen).

طبقة الخدمات

توفر طبقة الخدمات خدمات النظام: مدير التطبيقات (تشغيل، إيقاف، تعدد مهام)، مدير الحزم (تثبيت/إزالة التطبيقات، صيغ .tpk و .wgt)، مدير المواقع (GPS، تحديد المواقع عبر Wi-Fi، السياج الجغرافي)، مدير أجهزة الاستشعار (مقياس التسارع، الجيروسكوب، البارومتر، مراقب معدل ضربات القلب)، مدير السياق (التعرف على نشاط المستخدم: المشي، الجري، النوم).

Device API للتطبيقات الويب

يوفر Tizen Device API — واجهات JavaScript للتطبيقات الويب التي تتيح الوصول إلى نفس الوظائف التي توفرها واجهات API الأصلية. تنقسم واجهات API إلى وحدات: Application API، Bluetooth API، Calendar API، Call History API، Contact API، Content API، Data Control API، Download API، Gallery API، Media Controller API، Message API، NFC API، Notification API، Power API، Push API، System Info API، Time API، Web Setting API.

التطبيقات الأصلية لـ Tizen بلغة C/C++

التطبيقات الأصلية لـ Tizen تُترجم إلى ملف تنفيذي بصيغة .tpk (Tizen Package Kit). اللغة الأساسية هي C++11/14 مع مترجم GCC أو Clang. يتم التطوير في Tizen Studio أو Visual Studio Code مع إضافة Tizen. التطبيقات الأصلية لديها وصول مباشر إلى EFL و DALi و GStreamer وجميع واجهات برمجة التطبيقات النظامية بدون وسطاء، مما يضمن أقصى أداء.

هيكل التطبيق الأصلي

يتضمن التطبيق الأصلي ملف tizen-manifest.xml (مشابه لـ AndroidManifest.xml)، ومكتبة مشتركة واحدة أو أكثر (.so)، وموارد (صور، خطوط، ترجمات). تتم إدارة دورة الحياة عبر app_event_cb: APP_EVENT_CREATE، APP_EVENT_RESUME، APP_EVENT_PAUSE، APP_EVENT_DESTROY. تُبنى واجهة المستخدم عبر EFL (Edje + Elementary) للتطبيقات ذات النوافذ أو DALi للرسومات ثلاثية الأبعاد.

cpp
// تطبيق Tizen أصلي بلغة C++ مع واجهة EFL
#include <app.h>
#include <efl_extension.h>
#include <dlog.h>

typedef struct appdata {
    Evas_Object *win;
    Evas_Object *conform;
    Evas_Object *label;
} appdata_s;

static void
win_delete_cb(void *data, Evas_Object *obj, void *event_info) {
    ui_app_exit();
}

static void
create_base_gui(appdata_s *ad) {
    // إنشاء نافذة Tizen
    ad->win = efl_add(EFL_UI_WIN_CLASS, nullptr,
                      efl_ui_win_typename_set(efl_add(EFL_UI_WIN_CLASS, nullptr), "tizen-hello"));

    // عنوان النافذة
    efl_text_set(ad->win, "Hello Tizen");
    efl_event_callback_add(ad->win, EFL_UI_WIN_EVENT_DELETE_REQUEST, win_delete_cb, ad);

    // Conformant — حاوية Tizen القياسية للأجهزة القابلة للارتداء
    ad->conform = efl_add(EFL_UI_CONFORMANT_CLASS, ad->win);
    efl_content_set(ad->win, ad->conform);
    efl_gfx_size_hint_weight_set(ad->conform, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

    // تسمية نصية
    ad->label = efl_add(EFL_UI_LABEL_CLASS, ad->conform);
    efl_text_set(ad->label, "مرحبًا بك في Tizen!");
    efl_content_set(ad->conform, ad->label);

    // عرض النافذة
    efl_gfx_size_hint_weight_set(ad->label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
    efl_gfx_size_hint_align_set(ad->label, EVAS_HINT_FILL, EVAS_HINT_FILL);
}

static void
app_get_resource_cb(void *data) {
    // معالج الحصول على موارد التطبيق
    appdata_s *ad = (appdata_s *)data;
    create_base_gui(ad);
}

static bool
app_create_cb(void *data) {
    // يُستدعى عند إنشاء التطبيق
    appdata_s *ad = (appdata_s *)data;
    create_base_gui(ad);
    return true;
}

int
main(int argc, char *argv[]) {
    appdata_s ad = {0,};
    ui_app_lifecycle_callback_s event_callback = {0,};

    event_callback.create = app_create_cb;
    return ui_app_main(argc, argv, &event_callback, &ad);
}

يستخدم التطبيق الأصلي Tizen Hello World مكتبات EFL (Enlightenment Foundation Libraries) لواجهة المستخدم. ui_app_main هي نقطة الدخول لـ Tizen التي تستقبل استدعاءات دورة الحياة. يقوم efl_add بإنشاء كائنات واجهة المستخدم عبر التسلسل الهرمي Win ← Conformant ← Label. تعتمد واجهة EFL على نموذج Edje المركب — توصيفات السمات تُكتب في ملفات .edc وتُترجم إلى .edj.

بيان Tizen (tizen-manifest.xml)

ملف tizen-manifest.xml هو إعداد التطبيق الأصلي. يحدد id (معرف فريد بتنسيق النطاق العكسي)، package (اسم الحزمة)، version، label (الاسم المعروض)، author، description. تعلن الصلاحيات عن الوصول إلى واجهات API: http://tizen.org/privilege/bluetooth، http://tizen.org/privilege/location، http://tizen.org/privilege/camera. بدون تحديد صلاحية، سينتهي استدعاء واجهة API المقابلة بخطأ SECURITY_ERR.

تطبيقات الويب لـ Tizen بلغة HTML5 و JavaScript

تطبيقات الويب لـ Tizen هي تطبيقات HTML5 مُعبأة بصيغة .wgt (أداة W3C). التطوير مطابق لإنشاء موقع ويب عادي، ولكن مع وصول إضافي إلى Tizen Device API عبر الكائن العام tizen. تعمل تطبيقات الويب في عملية Web Runtime (WRT) الخاصة بها، المستندة إلى محرك WebKit (Tizen 2.x-4.x) أو Chromium (Tizen 5.5+).

هيكل تطبيق الويب

يحتوي تطبيق الويب على index.html (نقطة الدخول)، config.xml (إعداد أداة W3C)، CSS، JavaScript، صور. ملف config.xml مشابه لـ manifest.webapp في KaiOS: الحقول الإلزامية تشمل widget (id، version، height/width للساعات)، name، description، author. تُحدد أذونات Device API عبر عنصر tizen:privilege. قسم CSP (سياسة أمان المحتوى) يحد من مصادر البرامج النصية.

javascript
// config.xml لتطبيق ويب لـ Tizen Watch
<?xml version="1.0" encoding="UTF-8"?>
<widget xmlns="http://www.w3.org/ns/widgets"
        xmlns:tizen="http://tizen.org/ns/widgets"
        id="com.example.heartrate"
        version="1.0.0"
        height="360" width="360">
    <tizen:application id="com.example.heartrate"
                       package="com.example.heartrate"
                       required_version="4.0"/>
    <name>مقياس النبض</name>
    <description>قياس النبض على Galaxy Watch</description>
    <author>Developer</author>
    <tizen:privilege name="http://tizen.org/privilege/healthinfo"/>
    <tizen:privilege name="http://tizen.org/privilege/sensor"/>
    <tizen:profile name="wearable"/>
    <tizen:content-security-policy>
        default-src 'self'; script-src 'self'; style-src 'self'
    </tizen:content-security-policy>
</widget>

يوضح المقتطف الأساسي لـ config.xml العناصر الرئيسية: widget مع id وإصدار، tizen:application مع ملف wearable للشاشات الدائرية للساعات، tizen:privilege لـ healthinfo و sensor API، وسياسة أمان محتوى تحد من تحميل المحتوى إلى حزمة التطبيق فقط.

javascript
// تطبيق ويب لـ Tizen Watch: مراقبة معدل ضربات القلب
const HeartRateMonitor = {
    hrSensor: null,
    isMonitoring: false,

    async init() {
        try {
            // التحقق من دعم مستشعر HRM
            const sensors = tizen.sensorservice.getAvailableSensors();
            if (!sensors.includes('HRM')) {
                throw new Error('مستشعر HRM غير موجود');
            }

            // الحصول على الوصول لمستشعر معدل ضربات القلب
            this.hrSensor = tizen.sensorservice.getDefaultSensor('HRM');
            console.log('تمت تهيئة مستشعر HRM');
        } catch (err) {
            console.error('خطأ في التهيئة:', err.message);
        }
    },

    startMonitoring() {
        if (!this.hrSensor) return;

        this.isMonitoring = true;
        this.hrSensor.startSensor({
            interval: 1000,  // القياس كل ثانية
            callback: {
                onsuccess: (data) => {
                    const heartRate = data.heartRate;
                    document.getElementById('hr-value').textContent = heartRate;
                    this.updateDisplay(heartRate);
                },
                onerror: (err) => {
                    console.error('خطأ في المستشعر:', err.message);
                }
            }
        });
    },

    stopMonitoring() {
        if (this.hrSensor && this.isMonitoring) {
            this.hrSensor.stopSensor();
            this.isMonitoring = false;
        }
    },

    updateDisplay(heartRate) {
        // عرض معدل ضربات القلب على شاشة دائرية 360x360
        const canvas = document.getElementById('hr-canvas');
        const ctx = canvas.getContext('2d');
        ctx.clearRect(0, 0, 360, 360);

        // مؤشر دائري لمعدل ضربات القلب
        ctx.beginPath();
        ctx.arc(180, 180, 120, 0, 2 * Math.PI);
        ctx.strokeStyle = '#ff4444';
        ctx.lineWidth = 8;
        ctx.stroke();
    }
};

document.addEventListener('DOMContentLoaded', () => {
    HeartRateMonitor.init().then(() => {
        HeartRateMonitor.startMonitoring();
    });
});

يستخدم تطبيق HeartRateMonitor Tizen Sensor API للوصول إلى مستشعر HRM لـ Galaxy Watch. tizen.sensorservice.getDefaultSensor('HRM') يحصل على مستشعر معدل ضربات القلب، startSensor يبدأ القياسات بفاصل زمني قدره ثانية واحدة. ترسم لوحة رسم 360×360 مؤشرًا دائريًا — نموذج واجهة مستخدم نموذجي للشاشات الدائرية لساعة Tizen.

التطوير لـ Tizen Watch: Circle UI و Rotary

Tizen Watch يتميز بميزات فريدة لواجهة المستخدم: شاشة دائرية (360×360 بكسل في Galaxy Watch)، إطار مادي دوار (rotary bezel) للتنقل، وثلاثة أزرار فعلية: Home و Back و Custom. يجب على المطور تكييف الواجهة مع المنطقة الدائرية — قد تُقطع العناصر الزاوية. Circle UI هي مكتبة Samsung بمكونات جاهزة للشاشات الدائرية.

Rotary Bezel

Rotary Bezel — حلقة مادية حول شاشة Galaxy Watch تدور للتنقل عبر القوائم وضبط مستوى الصوت والتكبير. في Tizen، يُعالج حدث الدوران عبر rotarydetector أو إشارة edje لـ EFL. كل درجة من الإطار تولد حدثًا بزاوية دوران (0-360 درجة). تُعالج تطبيقات الويب الإطار عبر واجهة rotarydetector: tizen.rotarydetector.

javascript
// معالجة Rotary Bezel في Tizen Watch
class RotaryNavigation {
    constructor() {
        this.currentAngle = 0;
        this.sections = document.querySelectorAll('.rotary-section');
        this.currentSection = 0;
        this.init();
    }

    init() {
        // الاشتراك في أحداث دوران الإطار
        const detector = tizen.rotarydetector;

        detector.addEventListener('rotarydetector', (event) => {
            // event.angle — الزاوية الحالية (0-360)
            // event.direction — 'cw' (باتجاه عقارب الساعة) أو 'ccw' (عكس عقارب الساعة)
            this.handleRotation(event);
        });

        // تفعيل rotarydetector
        detector.start();
    }

    handleRotation(event) {
        const delta = event.delta;  // تغير الزاوية
        this.currentAngle += delta;

        // تحديد الاتجاه والحركة
        if (delta > 0) {
            // دوران باتجاه عقارب الساعة — العنصر التالي
            this.currentSection = Math.min(this.currentSection + 1, this.sections.length - 1);
        } else {
            // دوران عكس عقارب الساعة — العنصر السابق
            this.currentSection = Math.max(this.currentSection - 1, 0);
        }

        this.updateUI();
    }

    updateUI() {
        this.sections.forEach((el, i) => {
            el.classList.toggle('active', i === this.currentSection);
            el.scrollIntoView({ block: 'nearest', behavior: 'smooth' });
        });
    }

    destroy() {
        tizen.rotarydetector.removeEventListener('rotarydetector');
        tizen.rotarydetector.stop();
    }
}

// التهيئة عند تحميل التطبيق
document.addEventListener('tizen-rotary-ready', () => {
    const nav = new RotaryNavigation();
});

الصنف RotaryNavigation يشترك في أحداث rotarydetector عبر tizen.rotarydetector.addEventListener. عند تدوير الإطار، يُحسب الاتجاه (cw/ccw) وفرق الزاوية. يتم تمييز القسم الحالي بالصنف active. rotarydetector.start() إلزامي — بدونه لا تتولد الأحداث. destroy() يلغي الاشتراك ويوقف المكتشف لمنع تسرب الذاكرة.

ميزات واجهة المستخدم للساعات

تستخدم واجهة Tizen Watch المكونات: RotarySelector (قائمة دائرية يتحكم بها الإطار)، CircularList (قائمة بتمرير دائري)، RadialMenu (قائمة شعاعية بأيقونات مرتبة في دائرة)، EdgePanel (لوحة تنزلق من حافة الشاشة)، CircleProgressBar (مؤشر تقدم دائري). جميع المكونات محسنة لدقة 360×360 وتراعي عدم وجود زوايا للشاشة. الحد الأدنى لحجم أهداف اللمس هو 48 بكسل.

التطوير لـ Tizen TV: تطبيقات Smart TV

Tizen TV — منصة لـ Samsung Smart TV مع SDK ومحاكي خاصين بها. تنقسم تطبيقات التلفزيون إلى نوعين: تطبيقات ويب (HTML5/JS) وتطبيقات أصلية (C/C++). تُطور تطبيقات الويب للتلفزيون بشكل أسرع وأسهل، لكن التطبيقات الأصلية توفر أداءً أفضل للفيديو والألعاب. يستخدم Tizen TV جهاز تحكم عن بعد مع D-pad للتنقل.

AVPlay API للفيديو

AVPlay API — واجهة برمجة التطبيقات الرئيسية لـ Tizen TV لتشغيل الفيديو. يدعم الصيغ H.264 و H.265 (HEVC) و VP9 و AV1. دقة تصل إلى 8K على تلفزيونات 2024+. يوفر AVPlay API فك تشفير عتادي و HDR10+ و Dolby Atmos وترجمات ومسارات صوت متعددة. التحكم عبر play() و pause() و stop() و seekTo(position) و setDisplayRect(). يمكن أن يكون التدفق ملفًا محليًا أو رابط HLS/DASH.

javascript
// مشغل فيديو لـ Tizen TV مع AVPlay API
class TizenVideoPlayer {
    constructor(videoElementId) {
        this.videoElement = document.getElementById(videoElementId);
        this.avplay = null;
        this.isReady = false;
    }

    async init(url) {
        try {
            // التحقق من توفر AVPlay
            if (typeof webapis === 'undefined' ||
                !webapis.avplay) {
                throw new Error('AVPlay API غير متاح');
            }

            this.avplay = webapis.avplay;
            this.avplay.open(url);

            // إعداد العرض لملء شاشة التلفزيون
            this.avplay.setDisplayRect(0, 0, 3840, 2160);
            this.avplay.setDisplayMethod(webapis.avplay.AVPLAY_DISPLAY_METHOD_PLAYER);

            // إعداد الصوت (Dolby Atmos، إذا كان مدعومًا)
            this.avplay.setStreamingProperty('ADAPTIVE_INFO', JSON.stringify({
                width: 3840,
                height: 2160,
                bitrate: 25000000
            }));

            this.avplay.prepareAsync(
                () => {
                    this.isReady = true;
                    console.log('الفيديو جاهز للتشغيل');
                },
                (error) => {
                    console.error('خطأ في التحضير:', error);
                }
            );
        } catch (err) {
            console.error('خطأ في التهيئة:', err);
        }
    }

    play() {
        if (this.isReady) this.avplay.play();
    }

    pause() {
        this.avplay.pause();
    }

    seekTo(positionMs) {
        this.avplay.seekTo(positionMs);
    }

    setSubtitle(url, encoding) {
        this.avplay.setStreamingProperty('SUBTITLE', JSON.stringify({
            url: url,
            encoding: encoding || 'UTF-8'
        }));
    }
}

// الاستخدام
const player = new TizenVideoPlayer('video-area');
player.init('https://example.com/stream.m3u8');
player.setSubtitle('https://example.com/subs.vtt', 'UTF-8');

الصنف TizenVideoPlayer يوضح العمل مع AVPlay API. webapis.avplay.open() يفتح تدفق وسائط (محلي أو HLS/DASH). setDisplayRect يحدد منطقة العرض — على التلفزيون عادةً ما يكون ملء الشاشة بدقة 3840×2160. prepareAsync هو تحضير غير متزامن مع استدعاءات. يدعم AVPlay معدل البت المتكيف عبر ADAPTIVE_INFO والترجمات عبر خاصية SUBTITLE.

Galaxy Store ونشر التطبيقات

Samsung Galaxy Store — متجر التطبيقات الرسمي لـ Tizen (الساعات والتلفزيونات و IoT). تسجيل المطور مجاني عبر برنامج Samsung Developers. يرفع المطورون التطبيقات بصيغة .tpk (أصلي) أو .wgt (ويب)، موقعة بشهادة Samsung. تستغرق المراجعة من 2 إلى 5 أيام عمل. يتوفر Galaxy Store في 190 دولة.

توقيع التطبيق

يتطلب Tizen توقيعًا رقميًا للتطبيق بشهادة Samsung. العملية: إنشاء شهادة المؤلف عبر Samsung Certificate Manager، إنشاء شهادة الموزع للمتجر، توقيع الحزمة عبر Tizen Studio (Build Signed Package). ترتبط الشهادة بحساب المطور. بدون توقيع، لا يمكن تثبيت التطبيق إلا على أجهزة التطوير مع تمكين وضع المطور.

نموذج تحقيق الدخل

يدعم Galaxy Store التطبيقات المدفوعة (عمولة 30% على أول 10,000 دولار، ثم 25%)، والاشتراكات (25%)، والإعلانات عبر Samsung Ads والمشتريات داخل التطبيق عبر Samsung IAP. لتطبيقات التلفزيون، يتوفر نموذج Smart TV Premium Channels. الحد الأدنى للسعر هو 0.99 دولار. تتم المدفوعات شهريًا عند الوصول إلى حد 100 دولار.

المتطلبأصلي (.tpk)ويب (.wgt)
اللغةC/C++HTML5, CSS, JS
إطار واجهة المستخدمEFL, DALi, Tizen Circle UICircle UI (JS)
الوصول لواجهات APIالنظام بالكاملDevice API
الأداءأقصىأقل (Web Runtime)
حجم الحزمةحتى 100 ميجابايتحتى 10 ميجابايت
القالب الابتدائيTizen Native AppTizen Web App

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

ما اللغات المستخدمة في التطوير لـ Tizen؟

التطبيقات الأصلية تُكتب بلغة C/C++ باستخدام EFL أو DALi لواجهة المستخدم. تستخدم تطبيقات الويب HTML5 و CSS و JavaScript مع Tizen Device API. لتلفزيونات Tizen TV، يتوفر التطوير بلغة .NET (C#) عبر Tizen .NET. توصي Samsung باستخدام C++ للتطبيقات عالية الأداء و JavaScript للواجهات البسيطة.

كيف يختلف Tizen عن Wear OS؟

Tizen يستخدم إطاره الخاص بلغة C/C++ مع تحسين لعتاد Samsung. يعتمد Wear OS على Android مع Kotlin/Java. يستهلك Tizen طاقة أقل بنسبة 30% على نفس العتاد، لكن لديه تطبيقات أقل في المتجر. منذ 2021، انتقلت Samsung إلى Wear OS في الساعات الجديدة، لكن Tizen لا يزال مدعومًا.

كيف يمكن إنشاء تطبيق ويب لـ Tizen TV؟

تطبيق ويب لـ Tizen TV يُنشأ بلغة HTML5/JavaScript مع Tizen Device API. يتم التطوير في Tizen Studio مع محاكي تلفزيون. يُعبأ التطبيق في حزمة .wgt. واجهات API الرئيسية: AVPlay (فيديو)، TVInfoDevice (مواصفات التلفزيون)، TVInputDevice (التحكم عن بعد)، WebAudio (صوت). التنقل عبر D-pad لجهاز التحكم.

ما هو Rotary Bezel في Tizen؟

Rotary Bezel — حلقة مادية دوارة حول شاشة Galaxy Watch للتنقل. تُعالج الأحداث عبر واجهة tizen.rotarydetector. كل درجة تولد حدثًا بزاوية دوران واتجاه (cw/ccw). يُستخدم Rotary Bezel لتمرير القوائم وضبط مستوى الصوت والتكبير والتنقل بين القوائم.

كيف تنشر تطبيقات Tizen؟

النشر عبر Samsung Galaxy Store. تسجيل المطور مجاني. يُوقع التطبيق (صيغة .tpk أو .wgt) بشهادة Samsung. المراجعة من 2 إلى 5 أيام. العمولة 30% على أول 10,000 دولار من الإيرادات، ثم 25%. الحد الأدنى للسعر 0.99 دولار. مدفوعات شهرية من 100 دولار.

الملخص

  • Tizen — نظام تشغيل مفتوح المصدر من Samsung على نواة Linux للساعات والتلفزيونات و IoT والأجهزة المنزلية مع دعم التطبيقات الأصلية والويب
  • التطبيقات الأصلية (C/C++، EFL/DALi، صيغة .tpk) توفر أقصى أداء ووصولًا كاملًا للعتاد
  • تطبيقات الويب (HTML5/JS، صيغة .wgt، Web Runtime على Chromium) — تطوير سريع مع Device API
  • Tizen Watch يستخدم شاشة دائرية 360×360 و Rotary Bezel و Circle UI ومكونات RotarySelector/CircularList
  • Tizen TV يستخدم AVPlay API لفك تشفير عتادي لـ H.264/H.265/VP9 حتى 8K و HDR10+ و Dolby Atmos
  • Galaxy Store — تسجيل مجاني، صيغة .tpk/.wgt، توقيع بشهادة Samsung، مراجعة 2-5 أيام
  • Tizen Studio — SDK يعتمد على VS Code مع محاكي للساعة والتلفزيون وملف تعريف ومصحح أخطاء

سنقوم بتطوير تطبيق جوال جاهز

تقدم IT Sectr تطبيقات iOS وAndroid للشركات الناشئة والشركات منذ عام 2017. سوف نقدم لك النصح ونقترح أفضل حل.

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

اقرأ أيضًا