বিজ্ঞাপন বন্ধ করুন

অ্যাপল গত সপ্তাহে অন্যান্য জিনিসের মধ্যে উপস্থাপন করেছে নতুন অ্যাপল টিভি TVOS অপারেটিং সিস্টেমের সাথে। অ্যাপ স্টোর থেকে অ্যাপ্লিকেশনগুলি নতুন ব্ল্যাক বক্সে ইনস্টল করা যেতে পারে তা অবশ্যই বিকাশকারীদের সবচেয়ে খুশি করেছে।

বিকাশকারীদের দুটি বিকল্প রয়েছে। তারা একটি নেটিভ অ্যাপ লিখতে পারে যার অ্যাপল টিভি হার্ডওয়্যারে সম্পূর্ণ অ্যাক্সেস রয়েছে। উপলব্ধ SDK (ডেভেলপারদের জন্য লাইব্রেরিগুলির সেট) ডেভেলপাররা ইতিমধ্যে iPhone, iPad থেকে যা জানেন এবং প্রোগ্রামিং ভাষাগুলি একই রকম - অবজেক্টিভ-সি এবং ছোট সুইফট।

কিন্তু সহজ অ্যাপ্লিকেশনের জন্য, অ্যাপল ডেভেলপারদের TVML - টেলিভিশন মার্কআপ ল্যাঙ্গুয়েজ আকারে একটি দ্বিতীয় বিকল্পের প্রস্তাব দিয়েছে। আপনি যদি মনে করেন যে TVML নামটি সন্দেহজনকভাবে HTML এর মত দেখাচ্ছে, আপনি ঠিক বলেছেন। এটি সত্যিই XML-এর উপর ভিত্তি করে একটি মার্কআপ ভাষা এবং এইচটিএমএল-এর অনুরূপ, শুধুমাত্র এটি অনেক সহজ এবং একটি কঠোর সিনট্যাক্স রয়েছে। কিন্তু Netflix এর মত অ্যাপ্লিকেশনের জন্য এটি একেবারে নিখুঁত। এবং ব্যবহারকারীরাও উপকৃত হবেন, কারণ TVML এর কঠোরতা মাল্টিমিডিয়া অ্যাপ্লিকেশনগুলিকে দেখতে এবং একই রকম কাজ করবে।

প্রথম অ্যাপ্লিকেশনের পথ

তাই প্রথম জিনিসটি আমাকে করতে হয়েছিল Xcode বিকাশ পরিবেশের নতুন বিটা সংস্করণ ডাউনলোড করা (সংস্করণ 7.1 উপলব্ধ এখানে) এটি আমাকে tvOS SDK-এ অ্যাক্সেস দিয়েছে এবং বিশেষভাবে চতুর্থ প্রজন্মের অ্যাপল টিভিকে লক্ষ্য করে একটি নতুন প্রকল্প শুরু করতে সক্ষম হয়েছে। অ্যাপটি শুধুমাত্র tvOS-এ হতে পারে, অথবা একটি "সর্বজনীন" অ্যাপ তৈরি করতে কোডটি বিদ্যমান iOS অ্যাপে যোগ করা যেতে পারে - আজকের আইফোন এবং আইপ্যাড অ্যাপের মতো একটি মডেল।

সমস্যা এক: এক্সকোড শুধুমাত্র একটি নেটিভ অ্যাপ তৈরি করার ক্ষমতা প্রদান করে। কিন্তু আমি খুব দ্রুত ডকুমেন্টেশনে একটি বিভাগ খুঁজে পেয়েছি যা বিকাশকারীদের এই কঙ্কাল পরিবর্তন করতে এবং TVML এর জন্য প্রস্তুত করতে সহায়তা করবে। মূলত, এটি সুইফটের কোডের কয়েকটি লাইন যা, শুধুমাত্র Apple TV-তে, একটি পূর্ণ-স্ক্রীন অবজেক্ট তৈরি করে এবং অ্যাপের মূল অংশটি লোড করে, যা ইতিমধ্যে জাভাস্ক্রিপ্টে লেখা আছে।

সমস্যা দুই: টিভিএমএল অ্যাপ্লিকেশনগুলি একটি ওয়েব পৃষ্ঠার সাথে খুব মিল, এবং তাই সমস্ত কোড ইন্টারনেট থেকে লোড করা হয়। অ্যাপ্লিকেশন নিজেই আসলে একটি "বুটলোডার", এটিতে শুধুমাত্র একটি ন্যূনতম কোড এবং সবচেয়ে মৌলিক গ্রাফিক উপাদান রয়েছে (অ্যাপ্লিকেশন আইকন এবং এর মতো)। শেষ পর্যন্ত, আমি সফলভাবে মূল জাভাস্ক্রিপ্ট কোডটি সরাসরি অ্যাপে রেখেছি এবং অ্যাপল টিভি ইন্টারনেটের সাথে সংযুক্ত না থাকলে অন্তত একটি কাস্টম ত্রুটি বার্তা প্রদর্শন করার ক্ষমতা পেয়েছি।

তৃতীয় ছোট সমস্যা: iOS 9 এবং এটির সাথে tvOS-এর জন্য কঠোরভাবে প্রয়োজন যে ইন্টারনেটের প্রতি সমস্ত যোগাযোগ HTTPS এর মাধ্যমে এনক্রিপ্ট করা হয়। এটি iOS 9-এ সমস্ত অ্যাপের জন্য চালু করা একটি বৈশিষ্ট্য এবং এর কারণ হল ব্যবহারকারীর গোপনীয়তা এবং ডেটা সুরক্ষার উপর চাপ৷ তাই ওয়েব সার্ভারে একটি SSL সার্টিফিকেট স্থাপন করা প্রয়োজন। এটি প্রতি বছরে মাত্র $5 (120 মুকুট) এর বিনিময়ে কেনা যায়, অথবা আপনি ব্যবহার করতে পারেন, উদাহরণস্বরূপ, CloudFlare পরিষেবা, যা স্বয়ংক্রিয়ভাবে এবং বিনিয়োগ ছাড়াই HTTPS-এর যত্ন নেবে৷ দ্বিতীয় বিকল্পটি হল অ্যাপ্লিকেশনটির জন্য এই সীমাবদ্ধতাটি বন্ধ করা, যা এখন সম্ভব, তবে আমি অবশ্যই এটি সুপারিশ করব না।

ডকুমেন্টেশন পড়ার কয়েক ঘন্টা পরে, যেখানে এখনও মাঝে মাঝে ছোটখাটো ত্রুটি রয়েছে, আমি একটি খুব মৌলিক কিন্তু কার্যকরী অ্যাপ্লিকেশন তৈরি করেছি। এটি জনপ্রিয় পাঠ্য "হ্যালো ওয়ার্ল্ড" এবং দুটি বোতাম প্রদর্শন করে। আমি বোতামটি সক্রিয় হতে এবং আসলে কিছু করার চেষ্টা করার জন্য প্রায় দুই ঘন্টা ব্যয় করেছি। কিন্তু সকালের প্রথম ঘন্টা বিবেচনা করে, আমি ঘুমাতে যেতে পছন্দ করতাম… এবং এটি একটি ভাল জিনিস ছিল।

অন্য দিন, আমি সরাসরি Apple থেকে একটি রেডিমেড নমুনা TVML অ্যাপ্লিকেশন ডাউনলোড করার উজ্জ্বল ধারণা পেয়েছি। আমি কোডে খুব দ্রুত যা খুঁজছিলাম তা খুঁজে পেয়েছি এবং বোতামটি লাইভ এবং কাজ করছে। অন্যান্য জিনিসের মধ্যে, আমি ইন্টারনেটে tvOS টিউটোরিয়ালের প্রথম দুটি অংশও আবিষ্কার করেছি। উভয় সংস্থানই অনেক সাহায্য করেছে, তাই আমি একটি নতুন প্রকল্প শুরু করেছি এবং আমার প্রথম বাস্তব অ্যাপ্লিকেশন শুরু করেছি।

প্রথম বাস্তব আবেদন

আমি প্রথম টিভিএমএল পৃষ্ঠা থেকে সম্পূর্ণভাবে শুরু করেছি। সুবিধা হল যে অ্যাপল ডেভেলপারদের জন্য 18টি রেডিমেড টিভিএমএল টেমপ্লেট প্রস্তুত করেছে যেগুলি শুধু ডকুমেন্টেশন থেকে কপি করতে হবে। একটি টেমপ্লেট সম্পাদনা করতে প্রায় এক ঘন্টা সময় লেগেছিল, প্রাথমিকভাবে কারণ আমি অ্যাপল টিভিতে সমস্ত প্রয়োজনীয় ডেটা সহ সমাপ্ত TVML পাঠাতে আমাদের API প্রস্তুত করছিলাম৷

দ্বিতীয় টেমপ্লেটটি মাত্র 10 মিনিট সময় নেয়। আমি দুটি জাভাস্ক্রিপ্ট যোগ করেছি - তাদের মধ্যে বেশিরভাগ কোড সরাসরি অ্যাপল থেকে আসে, তাই কেন চাকাটি পুনরায় উদ্ভাবন করুন। অ্যাপল এমন স্ক্রিপ্ট প্রস্তুত করেছে যা টিভিএমএল টেমপ্লেট লোড করা এবং প্রদর্শনের যত্ন নেয়, প্রস্তাবিত সামগ্রী লোডিং সূচক এবং সম্ভাব্য ত্রুটি প্রদর্শন সহ।

দুই ঘণ্টারও কম সময়ে, আমি খুব খালি, কিন্তু কার্যকরী PLAY.CZ অ্যাপ্লিকেশান একত্র করতে পেরেছি। এটি রেডিও স্টেশনগুলির একটি তালিকা প্রদর্শন করতে পারে, এটি জেনার দ্বারা এটি ফিল্টার করতে পারে এবং এটি রেডিও শুরু করতে পারে। হ্যাঁ, অনেক কিছুই অ্যাপে নেই, কিন্তু বেসিক কাজ করে।

[youtube id=”kLKvWC-rj7Q” প্রস্থ=”620″ উচ্চতা=”360″]

সুবিধা হল যে অ্যাপ্লিকেশনটি মূলত ওয়েবসাইটের একটি বিশেষ সংস্করণ ছাড়া আর কিছুই নয়, যা জাভাস্ক্রিপ্ট দ্বারা চালিত হয় এবং আপনি চেহারাটি পরিবর্তন করতে CSS ব্যবহার করতে পারেন।

অ্যাপল এখনও প্রস্তুত করার জন্য আরো কিছু জিনিস প্রয়োজন. অ্যাপ্লিকেশন আইকন একটি নয়, দুটি - ছোট এবং বড়। অভিনবত্ব হল যে আইকনটি একটি সাধারণ চিত্র নয়, তবে একটি প্যারালাক্স প্রভাব রয়েছে এবং এটি 2 থেকে 5 স্তর (পটভূমি, মাঝখানে এবং অগ্রভাগের বস্তু) নিয়ে গঠিত। অ্যাপ্লিকেশন জুড়ে সমস্ত সক্রিয় চিত্র একই প্রভাব ধারণ করতে পারে।

প্রতিটি স্তর আসলে একটি স্বচ্ছ পটভূমিতে একটি চিত্র। অ্যাপল এই স্তরযুক্ত চিত্রগুলি সংকলনের জন্য নিজস্ব অ্যাপ্লিকেশন প্রস্তুত করেছে এবং শীঘ্রই অ্যাডোব ফটোশপের জন্য একটি এক্সপোর্ট প্লাগইন প্রকাশ করার প্রতিশ্রুতি দিয়েছে।

আরেকটি প্রয়োজন একটি "শীর্ষ শেলফ" চিত্র। ব্যবহারকারী অ্যাপটিকে শীর্ষ সারিতে (শীর্ষ শেল্ফে) একটি বিশিষ্ট অবস্থানে রাখলে, অ্যাপটিকে অবশ্যই অ্যাপ তালিকার উপরে ডেস্কটপের জন্য সামগ্রী সরবরাহ করতে হবে। হয় শুধুমাত্র একটি সাধারণ ছবি হতে পারে বা এটি একটি সক্রিয় এলাকা হতে পারে, উদাহরণস্বরূপ প্রিয় চলচ্চিত্রের তালিকা সহ বা, আমাদের ক্ষেত্রে, রেডিও স্টেশন।

অনেক ডেভেলপাররা সবেমাত্র নতুন টিভিওএসের সম্ভাবনাগুলি অন্বেষণ করতে শুরু করেছে। ভাল খবর হল যে একটি বিষয়বস্তু অ্যাপ লেখা খুব সহজ, এবং অ্যাপল টিভিএমএল সহ বিকাশকারীদের জন্য অনেক দূর এগিয়ে গেছে। একটি অ্যাপ্লিকেশন তৈরি করা (উদাহরণস্বরূপ PLAY.CZ বা iVyszílő) সহজ এবং দ্রুত হওয়া উচিত। নতুন Apple TV বিক্রির সাথে সাথে একই সময়ে প্রচুর সংখ্যক অ্যাপ্লিকেশন প্রস্তুত হওয়ার একটি ভাল সম্ভাবনা রয়েছে।

একটি নেটিভ অ্যাপ লেখা বা iOS থেকে tvOS এ একটি গেম পোর্ট করা আরও চ্যালেঞ্জিং হবে, তবে খুব বেশি নয়। সবচেয়ে বড় বাধা হবে বিভিন্ন নিয়ন্ত্রণ এবং প্রতি অ্যাপ সীমা 200MB। একটি নেটিভ অ্যাপ্লিকেশন শুধুমাত্র স্টোর থেকে ডেটার একটি সীমিত অংশ ডাউনলোড করতে পারে এবং অন্য সব কিছু অতিরিক্ত ডাউনলোড করতে হবে এবং সিস্টেমটি এই ডেটা মুছে ফেলবে না এমন কোনও গ্যারান্টি নেই৷ যাইহোক, বিকাশকারীরা অবশ্যই এই সীমাবদ্ধতাটি দ্রুত মোকাবেলা করবে, এছাড়াও "অ্যাপ থিনিং" নামে একটি সেটের উপলভ্যতার জন্য ধন্যবাদ, যেগুলি iOS 9-এরও অংশ।

.