Tizen হল একটি ওপেন-সোর্স অপারেটিং সিস্টেম যা Linux-এর উপর ভিত্তি করে তৈরি, যা Samsung এবং Linux Foundation দ্বারা উন্নত। এটি Galaxy Watch স্মার্টওয়াচ, Samsung Smart TV, গৃহস্থালী যন্ত্রপাতি এবং IoT ডিভাইসে ব্যবহৃত হয়। ডেভেলপমেন্ট নেটিভ অ্যাপ্লিকেশনের জন্য C/C++ এবং ওয়েব অ্যাপ্লিকেশনের জন্য HTML5/JavaScript-এ করা হয়। Tizen SDK একটি এমুলেটর এবং Visual Studio Code-ভিত্তিক IDE প্রদান করে। Tizen Association-এর মতে, ইকোসিস্টেমে 200 মিলিয়নেরও বেশি ডিভাইস রয়েছে।
মূল পয়েন্ট
Tizen হল একটি ওপেন-সোর্স অপারেটিং সিস্টেম যা Samsung এবং Linux Foundation দ্বারা পরিচালিত। প্রথম বাণিজ্যিক রিলিজ Tizen 1.0 2012 সালে হয়েছিল। সিস্টেমটি Linux কার্নেলের উপর ভিত্তি করে তৈরি এবং বিভিন্ন ধরনের ডিভাইসের জন্য নিজস্ব ফ্রেমওয়ার্ক আর্কিটেকচার ব্যবহার করে: Tizen Mobile (স্মার্টফোন — প্রকল্প 2017 সালে বন্ধ), Tizen Watch (ঘড়ি), Tizen TV (টেলিভিশন), এবং Tizen IoT (স্মার্ট হোম)।
2021 সাল থেকে, Samsung প্রধানত পরিধেয় ডিভাইস এবং টেলিভিশনে Tizen ব্যবহার করছে। 2021-এর আগের সমস্ত Galaxy Watch স্মার্টওয়াচ Tizen-এ চলত (Galaxy Watch, Watch Active, Watch 3)। Galaxy Watch 4 থেকে শুরু করে, Samsung One UI Watch-সহ Wear OS-এ স্যুইচ করেছে, কিন্তু 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) — পুনঃডিজাইন করা ফ্রেমওয়ার্ক, NPU-তে AI ত্বরণ সমর্থন। Tizen 5.5 (2020) — AVPlay 2.0, WebAssembly, উন্নত রেন্ডারিং সহ Tizen TV। Tizen 6.0 (2022) — ডিভাইসে ML ইনফারেন্স সমর্থন, IoT-র জন্য Matter প্রোটোকল।
| 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 প্রোটোকল |
Tizen আর্কিটেকচার বহু-স্তরীয় কাঠামো সহ মডুলার নীতিতে নির্মিত। নীচের স্তরটি হল শক্তি দক্ষতা এবং রিয়েল-টাইম কাজের (টিভি এবং অডিওর জন্য RT_PREEMPT) জন্য প্যাচ সহ Linux কার্নেল। কার্নেলের উপরে রয়েছে হার্ডওয়্যার অ্যাবস্ট্রাকশন লেয়ার (HAL), যা ক্যামেরা, সেন্সর, Bluetooth, Wi-Fi, NFC এবং ডিসপ্লে ড্রাইভারগুলিতে (DirectFB বা Wayland-এর মাধ্যমে) একীভূত অ্যাক্সেস প্রদান করে।
Core Framework স্তরে অন্তর্ভুক্ত রয়েছে Application Framework (অ্যাপ্লিকেশন জীবনচক্র ব্যবস্থাপনা), UI Framework (EFL — UI-র জন্য Enlightenment Foundation Libraries, 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 পজিশনিং, জিওফেন্স), 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) একটি এক্সিকিউটেবল ফাইলে কম্পাইল করা হয়। প্রধান ভাষা হল GCC বা Clang কম্পাইলার সহ C++11/14। ডেভেলপমেন্ট Tizen Studio বা Tizen এক্সটেনশন সহ Visual Studio Code-এ করা হয়। নেটিভ অ্যাপ্লিকেশনগুলির 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) বা 3D গ্রাফিক্সের জন্য DALi-এর মাধ্যমে তৈরি করা হয়।
// EFL UI সহ C++-এ Tizen নেটিভ অ্যাপ্লিকেশন
#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 অ্যাপ্লিকেশন UI-র জন্য EFL (Enlightenment Foundation Libraries) ব্যবহার করে। ui_app_main হল Tizen-এর এন্ট্রি পয়েন্ট যা জীবনচক্র কলব্যাক গ্রহণ করে। efl_add Win → Conformant → Label শ্রেণিবিন্যাসের মাধ্যমে UI অবজেক্ট তৈরি করে। EFL UI 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 ওয়েব অ্যাপ্লিকেশন হল .wgt ফরম্যাটে (W3C Widget) প্যাক করা HTML5 অ্যাপ্লিকেশন। ডেভেলপমেন্ট একটি সাধারণ ওয়েবসাইট তৈরির মতো, তবে গ্লোবাল tizen অবজেক্টের মাধ্যমে Tizen Device API-তে অতিরিক্ত অ্যাক্সেস সহ। ওয়েব অ্যাপ্লিকেশনগুলি তাদের নিজস্ব Web Runtime (WRT) প্রক্রিয়ায় চলে, যা WebKit ইঞ্জিন (Tizen 2.x-4.x) বা Chromium (Tizen 5.5+) ভিত্তিক।
একটি ওয়েব অ্যাপ্লিকেশনে index.html (এন্ট্রি পয়েন্ট), config.xml (W3C Widget Configuration), CSS, JavaScript এবং ছবি থাকে। config.xml ফাইলটি KaiOS-এর manifest.webapp-এর অনুরূপ: বাধ্যতামূলক ফিল্ডের মধ্যে রয়েছে widget (id, version, ঘড়ির জন্য height/width), name, description এবং author। Device API-র জন্য অনুমতি tizen:privilege এলিমেন্টের মাধ্যমে নির্দিষ্ট করা হয়। CSP (Content Security Policy) বিভাগ স্ক্রিপ্ট উৎস সীমাবদ্ধ করে।
// Tizen Watch ওয়েব অ্যাপ্লিকেশনের জন্য config.xml
<?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 স্নিপেট মূল উপাদানগুলি প্রদর্শন করে: id এবং সংস্করণ সহ widget, গোলাকার ঘড়ি স্ক্রিনের জন্য wearable প্রোফাইল সহ tizen:application, healthinfo এবং sensor API-র জন্য tizen:privilege, এবং একটি Content Security Policy যা শুধুমাত্র অ্যাপ্লিকেশন প্যাকেজ থেকে কন্টেন্ট লোড করা সীমাবদ্ধ করে।
// 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 অ্যাপ্লিকেশন Galaxy Watch HRM সেন্সর অ্যাক্সেস করতে Tizen Sensor API ব্যবহার করে। tizen.sensorservice.getDefaultSensor('HRM') হার্ট রেট সেন্সর পায়, startSensor 1 সেকেন্ড ব্যবধানে পরিমাপ শুরু করে। একটি 360×360 ক্যানভাস একটি বৃত্তাকার নির্দেশক আঁকে — গোলাকার Tizen ঘড়ি স্ক্রিনের জন্য একটি সাধারণ UI প্যারাডাইম।
Tizen Watch-এর অনন্য UI বৈশিষ্ট্য রয়েছে: একটি গোলাকার স্ক্রিন (Galaxy Watch-এ 360×360 পিক্সেল), নেভিগেশনের জন্য একটি ফিজিক্যাল বেজেল (rotary bezel) এবং তিনটি হার্ডওয়্যার বাটন: Home, Back এবং Custom। ডেভেলপারকে গোলাকার এলাকার জন্য ইন্টারফেস অভিযোজিত করতে হবে — কোণার উপাদান কেটে যেতে পারে। Circle UI হল গোলাকার স্ক্রিনের জন্য রেডি-মেড কম্পোনেন্ট সহ Samsung-এর লাইব্রেরি।
Rotary Bezel — Galaxy Watch স্ক্রিনের চারপাশে একটি ফিজিক্যাল রিং যা তালিকা নেভিগেশন, ভলিউম নিয়ন্ত্রণ এবং জুমের জন্য ঘোরে। Tizen-এ, রোটেশন ইভেন্ট rotarydetector বা EFL edje সিগন্যালের মাধ্যমে হ্যান্ডেল করা হয়। প্রতিটি বেজেল খাঁজ রোটেশন কোণ (0-360 ডিগ্রি) সহ একটি ইভেন্ট তৈরি করে। ওয়েব অ্যাপ্লিকেশনগুলি rotarydetector API-র মাধ্যমে বেজেল হ্যান্ডেল করে: tizen.rotarydetector।
// Tizen Watch-এ Rotary Bezel হ্যান্ডলিং
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 ক্লাস tizen.rotarydetector.addEventListener-এর মাধ্যমে rotarydetector ইভেন্টের সাবস্ক্রাইব করে। যখন বেজেল ঘোরানো হয়, তখন দিক (cw/ccw) এবং কোণ ডেল্টা গণনা করা হয়। বর্তমান সেকশন active ক্লাস দিয়ে হাইলাইট করা হয়। rotarydetector.start() বাধ্যতামূলক — এটি ছাড়া ইভেন্ট তৈরি হয় না। destroy() সাবস্ক্রিপশন বাতিল করে এবং মেমরি লিক প্রতিরোধ করতে ডিটেক্টর বন্ধ করে।
Tizen Watch ইন্টারফেস কম্পোনেন্ট ব্যবহার করে: RotarySelector (বেজেল-নিয়ন্ত্রিত বৃত্তাকার তালিকা), CircularList (বৃত্তাকার স্ক্রোল সহ তালিকা), RadialMenu (একটি বৃত্তে সাজানো আইকন সহ রেডিয়াল মেনু), EdgePanel (স্ক্রিনের প্রান্ত থেকে স্লাইড হওয়া প্যানেল) এবং CircleProgressBar (বৃত্তাকার অগ্রগতি নির্দেশক)। সমস্ত কম্পোনেন্ট 360×360 রেজোলিউশনের জন্য অপ্টিমাইজ করা এবং স্ক্রিনের কোণার অনুপস্থিতি বিবেচনা করে। ন্যূনতম টাচ টার্গেট সাইজ 48 পিক্সেল।
Tizen TV — নিজস্ব SDK এবং এমুলেটর সহ Samsung Smart TV-র জন্য একটি প্ল্যাটফর্ম। টিভি অ্যাপ্লিকেশন দুটি প্রকারে বিভক্ত: ওয়েব অ্যাপ্লিকেশন (HTML5/JS) এবং নেটিভ অ্যাপ্লিকেশন (C/C++)। টিভির জন্য ওয়েব অ্যাপ্লিকেশন দ্রুত এবং সহজ, কিন্তু নেটিভ ভিডিও এবং গেমের জন্য ভালো পারফরম্যান্স প্রদান করে। Tizen TV নেভিগেশনের জন্য D-pad সহ রিমোট কন্ট্রোল ব্যবহার করে।
AVPlay API — ভিডিও প্লেব্যাকের জন্য Tizen TV-র মূল API। H.264, H.265 (HEVC), VP9, AV1 ফরম্যাট সমর্থন করে। 2024+ টিভিতে 8K পর্যন্ত রেজোলিউশন। AVPlay API হার্ডওয়্যার ডিকোডিং, HDR10+, Dolby Atmos, সাবটাইটেল এবং একাধিক অডিও ট্র্যাক প্রদান করে। play(), pause(), stop(), seekTo(position), setDisplayRect()-এর মাধ্যমে নিয়ন্ত্রণ। স্ট্রিম একটি স্থানীয় ফাইল বা HLS/DASH URL হতে পারে।
// AVPlay API সহ Tizen TV-র জন্য ভিডিও প্লেয়ার
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);
// পূর্ণ স্ক্রিন TV-তে ডিসপ্লে সেট করা
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 প্রপার্টির মাধ্যমে সাবটাইটেল সমর্থন করে।
Samsung Galaxy Store — Tizen (ঘড়ি, টিভি, IoT)-এর জন্য অফিসিয়াল অ্যাপ স্টোর। ডেভেলপার রেজিস্ট্রেশন Samsung Developers প্রোগ্রামের মাধ্যমে বিনামূল্যে। ডেভেলপাররা .tpk (নেটিভ) বা .wgt (ওয়েব) ফরম্যাটে অ্যাপ্লিকেশন আপলোড করে, যা Samsung সার্টিফিকেট দিয়ে স্বাক্ষরিত। মডারেশন 2-5 কার্যদিবস সময় নেয়। Galaxy Store 190টি দেশে উপলব্ধ।
Tizen-এর অ্যাপ্লিকেশনের জন্য Samsung সার্টিফিকেট সহ ডিজিটাল স্বাক্ষর প্রয়োজন। প্রক্রিয়া: Samsung Certificate Manager-এর মাধ্যমে Author Certificate জেনারেট করুন, স্টোরের জন্য Distributor Certificate তৈরি করুন, Tizen Studio (Build Signed Package)-এর মাধ্যমে প্যাকেজ স্বাক্ষর করুন। সার্টিফিকেট ডেভেলপার অ্যাকাউন্টের সাথে সংযুক্ত থাকে। স্বাক্ষর ছাড়া, অ্যাপ্লিকেশন শুধুমাত্র Developer Mode সক্ষম ডিভাইসে ইনস্টল করা যায়।
Galaxy Store পেইড অ্যাপ্লিকেশন (প্রথম $10,000-এ 30% কমিশন, তারপর 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 |
সচরাচর জিজ্ঞাস্য
নেটিভ অ্যাপ্লিকেশন UI-র জন্য EFL বা DALi ব্যবহার করে C/C++-এ লেখা হয়। ওয়েব অ্যাপ্লিকেশন Tizen Device API-সহ HTML5, CSS এবং JavaScript ব্যবহার করে। Tizen TV-র জন্য, Tizen .NET-এর মাধ্যমে .NET (C#)-এ ডেভেলপমেন্ট উপলব্ধ। Samsung পারফরম্যান্স অ্যাপ্লিকেশনের জন্য C++ এবং সাধারণ ইন্টারফেসের জন্য JavaScript সুপারিশ করে।
Tizen Samsung হার্ডওয়্যারের জন্য অপ্টিমাইজ করা নিজস্ব C/C++ ফ্রেমওয়ার্ক ব্যবহার করে। Wear OS Kotlin/Java-সহ Android-এর উপর ভিত্তি করে তৈরি। Tizen একই হার্ডওয়্যারে 30% কম শক্তি খরচ করে, কিন্তু স্টোরে কম অ্যাপ রয়েছে। 2021 সাল থেকে, Samsung নতুন ঘড়িতে Wear OS-এ স্যুইচ করেছে, কিন্তু Tizen সমর্থিত রয়েছে।
Tizen TV-র জন্য ওয়েব অ্যাপ্লিকেশন Tizen Device API-সহ HTML5/JavaScript-এ তৈরি করা হয়। ডেভেলপমেন্ট TV এমুলেটর সহ Tizen Studio-তে করা হয়। অ্যাপ্লিকেশনটি .wgt প্যাকেজে প্যাক করা হয়। মূল API: AVPlay (ভিডিও), TVInfoDevice (TV বৈশিষ্ট্য), TVInputDevice (রিমোট কন্ট্রোল), WebAudio (শব্দ)। রিমোটের D-pad-এর মাধ্যমে নেভিগেশন।
Rotary Bezel — নেভিগেশনের জন্য Galaxy Watch স্ক্রিনের চারপাশে একটি ফিজিক্যাল ঘূর্ণায়মান রিং। ইভেন্ট tizen.rotarydetector API-র মাধ্যমে হ্যান্ডেল করা হয়। প্রতিটি খাঁজ রোটেশন কোণ এবং দিক (cw/ccw) সহ একটি ইভেন্ট তৈরি করে। Rotary Bezel তালিকা স্ক্রোল, ভলিউম নিয়ন্ত্রণ, জুম এবং মেনু নেভিগেশনের জন্য ব্যবহৃত হয়।
Samsung Galaxy Store-এর মাধ্যমে প্রকাশ। ডেভেলপার রেজিস্ট্রেশন বিনামূল্যে। অ্যাপ্লিকেশন (.tpk বা .wgt ফরম্যাট) Samsung সার্টিফিকেট দিয়ে স্বাক্ষরিত। মডারেশন 2-5 দিন। কমিশন প্রথম $10,000 রাজস্বে 30%, তারপর 25%। ন্যূনতম মূল্য $0.99। $100 থেকে মাসিক পেমেন্ট।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন