Tizen คือระบบปฏิบัติการโอเพนซอร์สที่ใช้ Linux เป็นพื้นฐาน พัฒนาโดย Samsung และ Linux Foundation ใช้ในสมาร์ตวอทช์ Galaxy Watch, ทีวี Samsung Smart TV, เครื่องใช้ในบ้าน และอุปกรณ์ IoT การพัฒนาทำด้วยภาษา C/C++ สำหรับแอปพลิเคชันเนทีฟ และ HTML5/JavaScript สำหรับแอปพลิเคชันเว็บ Tizen SDK มีอีมูเลเตอร์และ IDE ที่ใช้ Visual Studio Code ตามข้อมูลของ Tizen Association ระบบนิเวศประกอบด้วยอุปกรณ์มากกว่า 200 ล้านเครื่อง
ประเด็นสำคัญ
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 Ecosystem Report, 2025) มีทีวีมากกว่า 180 ล้านเครื่องทั่วโลกที่ติดตั้ง Tizen TV
คุณสมบัติหลักของ Tizen คือการสนับสนุนกระบวนทัศน์การพัฒนาสองแบบ: แอปพลิเคชันเนทีฟ (C/C++) ที่มีประสิทธิภาพสูงสุดและแอปพลิเคชันเว็บ (HTML5, CSS, JavaScript) สำหรับการพัฒนาอย่างรวดเร็ว ทั้งสองประเภทสามารถเข้าถึง Tizen Device API — ตัวห่อสำหรับทำงานกับ Bluetooth, NFC, Wi-Fi, เซ็นเซอร์, กล้อง และมัลติมีเดีย
Tizen 2.3 (2014) — เวอร์ชันเสถียรแรกสำหรับสมาร์ทโฟน Samsung Z Tizen 3.0 (2017) — การทำงานหลายอย่างพร้อมกันที่ดีขึ้น, รองรับ Vulkan, สถาปัตยกรรม 64 บิต Tizen 4.0 (2018) — เฟรมเวิร์กที่ออกแบบใหม่, รองรับการเร่งความเร็ว AI บน NPU Tizen 5.5 (2020) — Tizen TV กับ AVPlay 2.0, WebAssembly, การเรนเดอร์ที่ดีขึ้น Tizen 6.0 (2022) — รองรับการอนุมาน ML บนอุปกรณ์, Matter Protocol สำหรับ IoT
| เวอร์ชัน Tizen | ปี | อุปกรณ์ | นวัตกรรมหลัก |
|---|---|---|---|
| 2.3 | 2014 | สมาร์ทโฟน | เปิดตัวเชิงพาณิชย์ครั้งแรกบน Samsung Z |
| 3.0 | 2017 | สมาร์ทโฟน, นาฬิกา | Vulkan, 64 บิต, Galaxy Watch |
| 4.0 | 2018 | นาฬิกา, ทีวี, IoT | เฟรมเวิร์ก AI, Tizen TV 2019 |
| 5.5 | 2020 | ทีวี, IoT | AVPlay 2.0, WebAssembly, WebGL ที่ดีขึ้น |
| 6.0 | 2022 | ทีวี, IoT | การอนุมาน ML, Matter Protocol |
สถาปัตยกรรม Tizen สร้างขึ้นบนหลักการโมดูลาร์ด้วยโครงสร้างหลายชั้น ชั้นล่างสุดคือเคอร์เนล Linux ที่มีแพตช์สำหรับประสิทธิภาพพลังงานและงานเรียลไทม์ (RT_PREEMPT สำหรับทีวีและเสียง) เหนือเคอร์เนลคือชั้นนามธรรมฮาร์ดแวร์ (HAL) ซึ่งให้การเข้าถึงไดรเวอร์กล้อง, เซ็นเซอร์, Bluetooth, Wi-Fi, NFC และจอแสดงผล (ผ่าน DirectFB หรือ Wayland) อย่างเป็นหนึ่งเดียว
Core Framework Layer ประกอบด้วย Application Framework (การจัดการวงจรชีวิตแอปพลิเคชัน), UI Framework (EFL — Enlightenment Foundation Libraries สำหรับ UI, DALi — เอนจิน 3D สำหรับเกมและแอนิเมชัน), Multimedia Framework (กล้อง, เสียง, วิดีโอผ่าน GStreamer และ MediaCodec), Network Framework (Bluetooth, Wi-Fi, NFC, HTTP, WebSocket) และ Security Framework (SELinux, Smack, ระบบสิทธิ์ Tizen)
Service Layer ให้บริการระบบ: Application Manager (เริ่ม, หยุด, การทำงานหลายอย่าง), Package Manager (ติดตั้ง/ถอนการติดตั้งแอป, รูปแบบ .tpk และ .wgt), Location Manager (GPS, การระบุตำแหน่ง Wi-Fi, Geofence), Sensor Manager (มาตรความเร่ง, ไจโรสโคป, บารอมิเตอร์, เครื่องวัดอัตราการเต้นของหัวใจ), Context Manager (การจดจำกิจกรรมผู้ใช้: เดิน, วิ่ง, นอน)
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 จะถูกคอมไพล์เป็นไฟล์ปฏิบัติการในรูปแบบ .tpk (Tizen Package Kit) ภาษาหลักคือ C++11/14 พร้อมคอมไพเลอร์ GCC หรือ Clang การพัฒนาทำใน Tizen Studio หรือ Visual Studio Code ที่มีส่วนขยาย Tizen แอปพลิเคชันเนทีฟสามารถเข้าถึง EFL, DALi, GStreamer และ API ระบบทั้งหมดได้โดยตรงโดยไม่มีตัวกลาง ซึ่งรับประกันประสิทธิภาพสูงสุด
แอปพลิเคชันเนทีฟประกอบด้วยไฟล์ tizen-manifest.xml (คล้าย AndroidManifest.xml), ไลบรารีที่ใช้ร่วมกันหนึ่งรายการขึ้นไป (.so) และทรัพยากร (รูปภาพ, แบบอักษร, การแปลภาษา) วงจรชีวิตถูกจัดการผ่าน app_event_cb: APP_EVENT_CREATE, APP_EVENT_RESUME, APP_EVENT_PAUSE, APP_EVENT_DESTROY UI สร้างผ่าน EFL (Edje + Elementary) สำหรับแอปพลิเคชันแบบหน้าต่างหรือ DALi สำหรับกราฟิก 3D
// แอปพลิเคชันเนทีฟ Tizen ใน C++ พร้อม UI 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 ui_app_main คือจุดเริ่มต้นของ Tizen ที่รับ callback วงจรชีวิต efl_add สร้างอ็อบเจกต์ UI ผ่านลำดับชั้น Win → Conformant → Label UI ของ EFL ขึ้นอยู่กับโมเดลคอมโพสิท Edje — คำอธิบายธีมถูกเขียนในไฟล์ .edc และคอมไพล์เป็น .edj
ไฟล์ 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 ที่บรรจุในรูปแบบ .wgt (W3C Widget) การพัฒนาเหมือนกับการสร้างเว็บไซต์ปกติ แต่มีการเข้าถึง Tizen Device API เพิ่มเติมผ่านอ็อบเจกต์ tizen ทั่วโลก แอปพลิเคชันเว็บทำงานในกระบวนการ Web Runtime (WRT) ของตัวเอง ซึ่งใช้เอนจิน WebKit (Tizen 2.x-4.x) หรือ Chromium (Tizen 5.5+)
แอปพลิเคชันเว็บประกอบด้วย index.html (จุดเริ่มต้น), config.xml (การกำหนดค่า Widget W3C), CSS, JavaScript และรูปภาพ ไฟล์ config.xml คล้ายกับ manifest.webapp ใน KaiOS: ฟิลด์บังคับประกอบด้วย widget (id, version, height/width สำหรับนาฬิกา), name, description, author การอนุญาตสำหรับ Device API ระบุผ่านองค์ประกอบ tizen:privilege ส่วน CSP (Content Security Policy) จำกัดแหล่งที่มาของสคริปต์
// 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 และนโยบายความปลอดภัยของเนื้อหาที่จำกัดการโหลดเนื้อหาจากแพ็กเกจแอปพลิเคชันเท่านั้น
// แอปพลิเคชันเว็บ 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 เริ่มการวัดด้วยช่วงเวลา 1 วินาที Canvas 360×360 วาดตัวบ่งชี้แบบวงกลม — กระบวนทัศน์ UI ทั่วไปสำหรับหน้าจอนาฬิกา Tizen ทรงกลม
Tizen Watch มีคุณสมบัติ UI ที่เป็นเอกลักษณ์: หน้าจอทรงกลม (360×360 พิกเซลบน Galaxy Watch), ขอบจอจริง (rotary bezel) สำหรับการนำทาง และปุ่มฮาร์ดแวร์สามปุ่ม: Home, Back และ Custom นักพัฒนาต้องปรับอินเทอร์เฟซให้เข้ากับพื้นที่ทรงกลม — องค์ประกอบมุมอาจถูกตัดออก Circle UI คือไลบรารีของ Samsung ที่มีส่วนประกอบพร้อมใช้สำหรับหน้าจอทรงกลม
Rotary Bezel — วงแหวนจริงรอบหน้าจอ Galaxy Watch ที่หมุนเพื่อนำทางรายการ, ปรับระดับเสียง และซูม ใน Tizen เหตุการณ์การหมุนจะถูกจัดการผ่าน rotarydetector หรือสัญญาณ edje ของ EFL แต่ละรอยบากของขอบจอสร้างเหตุการณ์ด้วยมุมการหมุน (0-360 องศา) แอปพลิเคชันเว็บจัดการขอบจอผ่าน rotarydetector API: tizen.rotarydetector
// การจัดการ 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 — แพลตฟอร์มสำหรับ Samsung Smart TV พร้อม SDK และอีมูเลเตอร์ของตัวเอง แอปพลิเคชันทีวีแบ่งออกเป็นสองประเภท: แอปพลิเคชันเว็บ (HTML5/JS) และแอปพลิเคชันเนทีฟ (C/C++) แอปพลิเคชันเว็บสำหรับทีวีพัฒนาได้เร็วกว่าและง่ายกว่า แต่แอปพลิเคชันเนทีฟให้ประสิทธิภาพที่ดีกว่าสำหรับวิดีโอและเกม Tizen TV ใช้รีโมทคอนโทรลพร้อม D-pad สำหรับการนำทาง
AVPlay API — API หลักของ Tizen TV สำหรับการเล่นวิดีโอ รองรับรูปแบบ H.264, H.265 (HEVC), VP9, AV1 ความละเอียดสูงถึง 8K บนทีวี 2024+ AVPlay API มีการถอดรหัสฮาร์ดแวร์, HDR10+, Dolby Atmos, คำบรรยาย และแทร็กเสียงหลายแทร็ก ควบคุมผ่าน play(), pause(), stop(), seekTo(position), setDisplayRect() สตรีมสามารถเป็นไฟล์ในเครื่องหรือ URL HLS/DASH
// เครื่องเล่นวิดีโอสำหรับ 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 คือการเตรียมแบบอะซิงโครนัสพร้อม callback AVPlay รองรับอัตราบิตแบบปรับได้ผ่าน ADAPTIVE_INFO และคำบรรยายผ่านคุณสมบัติ SUBTITLE
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 |
| เฟรมเวิร์ก UI | EFL, DALi, Tizen Circle UI | Circle UI (JS) |
| การเข้าถึง API | เต็มระบบ | Device API |
| ประสิทธิภาพ | สูงสุด | ต่ำกว่า (Web Runtime) |
| ขนาดแพ็กเกจ | สูงสุด 100 MB | สูงสุด 10 MB |
| เทมเพลตเริ่มต้น | Tizen Native App | Tizen Web App |
คำถามที่พบบ่อย
แอปพลิเคชันเนทีฟ เขียนด้วย C/C++ โดยใช้ EFL หรือ DALi สำหรับ UI แอปพลิเคชันเว็บใช้ HTML5, CSS และ JavaScript กับ Tizen Device API สำหรับ Tizen TV สามารถพัฒนาใน .NET (C#) ผ่าน Tizen .NET Samsung แนะนำ C++ สำหรับแอปพลิเคชันประสิทธิภาพสูงและ JavaScript สำหรับอินเทอร์เฟซที่เรียบง่าย
Tizen ใช้เฟรมเวิร์ก C/C++ ของตัวเองที่ปรับให้เหมาะสมกับฮาร์ดแวร์ Samsung Wear OS ใช้ Android เป็นพื้นฐานกับ Kotlin/Java Tizen ใช้พลังงานน้อยกว่า 30% บนฮาร์ดแวร์เดียวกัน แต่มีแอปในร้านน้อยกว่า ตั้งแต่ปี 2021 Samsung เปลี่ยนไปใช้ Wear OS ในนาฬิการุ่นใหม่ แต่ Tizen ยังคงได้รับการสนับสนุน
แอปพลิเคชันเว็บสำหรับ Tizen TV สร้างด้วย HTML5/JavaScript กับ Tizen Device API การพัฒนาทำใน Tizen Studio พร้อมอีมูเลเตอร์ทีวี แอปพลิเคชันบรรจุในแพ็กเกจ .wgt API หลัก: AVPlay (วิดีโอ), TVInfoDevice (ข้อมูลจำเพาะทีวี), TVInputDevice (รีโมทคอนโทรล), WebAudio (เสียง) การนำทางผ่าน D-pad ของรีโมท
Rotary Bezel — วงแหวนหมุนจริงรอบหน้าจอ Galaxy Watch สำหรับการนำทาง เหตุการณ์ถูกจัดการผ่าน API tizen.rotarydetector แต่ละรอยบากสร้างเหตุการณ์ด้วยมุมการหมุนและทิศทาง (cw/ccw) Rotary Bezel ใช้สำหรับเลื่อนรายการ, ปรับระดับเสียง, ซูม และนำทางเมนู
เผยแพร่ผ่าน Samsung Galaxy Store การลงทะเบียนนักพัฒนาฟรี แอปพลิเคชัน (รูปแบบ .tpk หรือ .wgt) ลงนามด้วยใบรับรอง Samsung การตรวจสอบ 2-5 วัน ค่าคอมมิชชัน 30% สำหรับรายได้ 10,000$ แรก จากนั้น 25% ราคาขั้นต่ำ 0.99$ จ่ายรายเดือนจาก 100$
สรุป
เราจะพัฒนาแอปพลิเคชันบนมือถือแบบครบวงจร
IT Sectr สร้างแอปพลิเคชัน iOS และ Android สำหรับสตาร์ทอัพและธุรกิจตั้งแต่ปี 2017 เราจะให้คำแนะนำและเสนอวิธีแก้ปัญหาที่ดีที่สุดแก่คุณ