প্রগতিশীল ওয়েব অ্যাপগুলি স্ক্রিনে সামগ্রী রেন্ডার করা বা ওয়েব পরিষেবাগুলির সাথে সংযোগ করার চেয়ে আরও বেশি কিছু করতে পারে৷ PWAs ফাইল সিস্টেম থেকে ফাইলগুলির সাথে ডিল করতে পারে, তারা সিস্টেমের ক্লিপবোর্ডের সাথে ইন্টারঅ্যাক্ট করতে পারে, তারা ডিভাইসের সাথে সংযুক্ত হার্ডওয়্যার অ্যাক্সেস করতে পারে এবং আরও অনেক কিছু। প্রতিটি ওয়েব API আপনার PWA এর জন্য উপলব্ধ, এবং আপনার অ্যাপ ইনস্টল করা হলে কিছু অতিরিক্ত API পাওয়া যায়।
প্রতিটি প্ল্যাটফর্মে কী কী সম্ভব তা জানতে আপনি আজ কী ওয়েব করতে পারেন তা ব্যবহার করতে পারেন। স্বতন্ত্র API বা ক্ষমতাগুলির জন্য, আপনি কি আমি ব্যবহার করতে পারি বা MDN- এ ব্রাউজার সামঞ্জস্যপূর্ণ টেবিলগুলি ব্যবহার করতে পারেন৷
সর্বদা বৈশিষ্ট্য সমর্থন জন্য পরীক্ষা করুন
PWA-তে প্রথম অক্ষরটি প্রগতিশীল বোঝায় এবং এটি প্রগতিশীল বর্ধন এবং বৈশিষ্ট্য সনাক্তকরণের ধারণা থেকে আসে। আপনার অ্যাপটি প্রতিটি ডিভাইসে একইভাবে কাজ করবে বলে আশা করা উচিত নয়। বিভিন্ন দেশে বিলিয়ন ডিভাইসে প্রসঙ্গ এবং ক্ষমতার বৈচিত্র্য PWA-কে তাদের প্রগতিশীলতার জন্য একটি চমৎকার প্ল্যাটফর্ম করে তোলে।
এর মানে হল যে প্রতিটি ডিভাইসে উপলব্ধ নাও হতে পারে এমন স্তরগুলিতে আপনাকে আপনার অ্যাপ্লিকেশন বিকাশ করতে হবে এবং ব্যবহারের আগে উপলব্ধতা পরীক্ষা করতে হবে।
একটি API ব্যবহার করার আগে আপনাকে JavaScript দিয়ে চেক করতে হবে অথবা সেই নির্দিষ্ট ডিভাইসে একটি পরিষেবা উপলব্ধ আছে কিনা তা একটি API জিজ্ঞাসা করতে হবে।
শক্তিশালী ওয়েব
ওয়েব আজ অতি শক্তিশালী। উদাহরণ স্বরূপ:
- আপনি WebRTC, জিওলোকেশন এবং পুশ মেসেজ সহ একটি হাইপারলোকাল ভিডিও চ্যাট অ্যাপ তৈরি করতে পারেন।
- আপনি একটি অ্যাপ ইনস্টলযোগ্য করতে পারেন।
- আপনি WebAssembly দিয়ে ভিডিও ইফেক্ট যোগ করতে পারেন।
- এমনকি আপনি WebGL এবং WebXR এর মাধ্যমে এটিকে ভার্চুয়াল বাস্তবতায় আনতে পারেন।
আপনার PWA ক্ষমতায়ন
আসুন PWA সক্ষমতা API গুলিকে চারটি গ্রুপে বিভক্ত করি:
- সবুজ: প্রযুক্তিগতভাবে সম্ভব হলে প্রতিটি প্ল্যাটফর্মের প্রতিটি ব্রাউজারে APIগুলি উপলব্ধ। তাদের বেশিরভাগই বহু বছর ধরে পাঠানো হয়েছে, তারা পরিপক্ক বলে বিবেচিত হয় এবং আপনি তাদের আত্মবিশ্বাসের সাথে ব্যবহার করতে পারেন। এই গ্রুপ থেকে একটি উদাহরণ API হল জিওলোকেশন API।
- হালকা সবুজ: API শুধুমাত্র কিছু ব্রাউজারে উপলব্ধ। কিছু প্ল্যাটফর্মে সমর্থনের অভাব বিবেচনা করে, তারা সমর্থিত ব্রাউজারগুলির সাবগ্রুপের মধ্যে পরিপক্ক হয়েছে যাতে আপনি তাদের উপর আত্মবিশ্বাসের সাথে সক্ষমতা ব্যবহার করতে পারেন। এই গ্রুপের একটি উদাহরণ API হল WebUSB।
- হলুদ: পরীক্ষামূলক API এই APIগুলি এখনও পরিপক্ক নয়; এগুলি শুধুমাত্র কিছু ব্রাউজারে এবং পরীক্ষা বা ট্রায়ালের মধ্যে উপলব্ধ। আমরা পরীক্ষামূলক অধ্যায়ে এই ক্ষমতা সম্পর্কে কিছু কথা বলেছি।
- লাল: API-এর জন্য গ্রুপ যা আপনি PWA-তে ব্যবহার করতে পারবেন না এবং যেখানে সেগুলি যুক্ত করার পরিকল্পনা এখনও দীর্ঘমেয়াদী। এই গ্রুপ থেকে একটি উদাহরণ API হল জিওফেন্সিং।
সবুজ ক্ষমতা
নীচে সবচেয়ে গুরুত্বপূর্ণ ক্ষমতাগুলির একটি তালিকা রয়েছে যা আপনি আপনার PWA-তে ব্যবহার করতে পারেন৷
বেসিক
- ক্যাশে এপিআই ব্যবহার করে স্থানীয়ভাবে ফাইল ক্যাশে করা , যেমন ক্যাশিং অধ্যায়ে দেখা যায়।
- ওয়েব কর্মীদের ব্যবহার করে থ্রেডে কাজ সম্পাদন করা , যেমনটি আমরা কমপ্লেক্সিটি ম্যানেজমেন্ট অধ্যায়ে দেখেছি।
- পরিষেবা কর্মী অধ্যায়ে যেমন দেখা যায়, একজন পরিষেবা কর্মীতে বিভিন্ন কৌশলের সাথে নেটওয়ার্ক অনুরোধগুলি পরিচালনা করা ।
- ক্যানভাস API ব্যবহার করে স্ক্রিনে 2D গ্রাফিক্স রেন্ডার করার জন্য 2D ক্যানভাস ।
- 3D গ্রাফিক্স রেন্ডার করার জন্য 2D এবং 3D হাই-পারফরম্যান্স ক্যানভাস , বা WebGL ।
- WebAssembly , বা WASM , কর্মক্ষমতার জন্য নিম্ন-স্তরের সংকলিত কোড কার্যকর করার জন্য।
- WebRTC API ব্যবহার করে রিয়েল-টাইম যোগাযোগ ।
- ওয়েব পারফরম্যান্স API পরিমাপ করতে এবং আরও ভাল অভিজ্ঞতা প্রদানে সহায়তা করে। আরও তথ্যের জন্য পারফরম্যান্স API গাইড দেখুন।
- ইনডেক্সডডিবি এবং স্টোরেজ ম্যানেজমেন্টের সাথে স্থানীয়ভাবে ডেটা সঞ্চয় করুন কোটা অনুসন্ধান করতে এবং অবিরাম স্টোরেজের অনুরোধ করতে, যেমনটি অফলাইন ডেটা অধ্যায়ে দেখা গেছে।
- ওয়েব অডিও API- কে নিম্ন-স্তরের অডিও ধন্যবাদ।
- পৃষ্ঠা দৃশ্যমানতা API ব্যবহার করে ফোরগ্রাউন্ড সনাক্তকরণ ।
- ফেচ API এবং WebSocket API ব্যবহার করে নেটওয়ার্ক যোগাযোগ ।
হার্ডওয়্যার এবং সেন্সর
- ভূ-অবস্থান জিওলোকেশন API-এর মাধ্যমে স্যাটেলাইট বা Wi-Fi-এর মতো বিভিন্ন প্রদানকারীর মাধ্যমে ব্যবহারকারীর অবস্থান পায়।
- ক্যামেরা এবং মাইক্রোফোন মিডিয়া ডিভাইস ইন্টারফেস ব্যবহার করে ক্যামেরা এবং মাইক্রোফোন থেকে মিডিয়া স্ট্রিম গ্রহণ করে।
- সেন্সরগুলি সেন্সর API বা পুরানো ইন্টারফেসগুলি ব্যবহার করে অ্যাক্সিলোমিটার, জাইরোস্কোপ, ম্যাগনেটোমিটার এবং অন্যদের থেকে রিয়েল-টাইম তথ্য সংগ্রহ করে, যেমন DeviceMotionEvent এবং DeviceOrientationEvent । Safari-এ, সেগুলি ব্যবহার করার জন্য আপনাকে একটি অ-মানক অনুমতি ডায়ালগ অনুরোধ ব্যবহার করতে হবে।
- পয়েন্টার ইভেন্ট এবং টাচ ইভেন্টের জন্য ধন্যবাদ আপনার আঙুল, একটি মাউস, একটি ট্র্যাকপ্যাড বা একটি কলম দিয়ে আপনি যে সমস্ত স্পর্শ এবং পয়েন্টার-ভিত্তিক ক্লিকগুলি করেন সে সম্পর্কে স্পর্শ এবং পয়েন্টার অ্যাক্সেসের তথ্য।
- গেমপ্যাড এপিআই ব্যবহার করে ডিভাইসের সাথে সংযুক্ত স্ট্যান্ডার্ড গেমপ্যাড এবং জয়স্টিক থেকে আসা তথ্য পড়ার জন্য।
- ওয়েব প্রমাণীকরণ বা WebAuthn ব্যবহার করে বায়োমেট্রিক প্রমাণীকরণ (যেমন মুখ বা আঙুলের ছাপ শনাক্তকরণ)।
অপারেটিং সিস্টেম ইন্টিগ্রেশন
- স্পিচ সংশ্লেষণ এবং ভয়েস রিকগনিশন প্ল্যাটফর্মের ইনস্টল করা ভয়েস ব্যবহার করে ব্যবহারকারীর সাথে কথা বলতে এবং ব্যবহারকারী কী বলছে তা সনাক্ত করতে, ওয়েব স্পিচ API- কে ধন্যবাদ।
- আপনার PWA থেকে ডিভাইসের অন্যান্য অ্যাপ এবং জায়গাগুলিতে সামগ্রী শেয়ার করুন , ওয়েব শেয়ার API- কে ধন্যবাদ, যেমনটি আমরা OS ইন্টিগ্রেশন অধ্যায়ে দেখব।
- ক্লিপবোর্ড থেকে বিভিন্ন ফরম্যাটে সামগ্রী সংরক্ষণ এবং পুনরুদ্ধার করতে ক্লিপবোর্ড অ্যাক্সেস করুন , ক্লিপবোর্ড API- কে ধন্যবাদ, যেমনটি আমি OS ইন্টিগ্রেশন অধ্যায়ে দেখিয়েছি।
- শংসাপত্র ব্যবস্থাপনা API ব্যবহার করে ব্যবহারকারীর শংসাপত্র এবং পাসওয়ার্ড পরিচালনা করুন ।
- পিকচার- ইন-পিকচার API ব্যবহার করে OS-এর মধ্যে পিকচার- ইন-পিকচার ভিডিও চালু করুন ।
- ফুলস্ক্রিন এপিআইকে ধন্যবাদ পূর্ণস্ক্রীনে সামগ্রী রেন্ডার করুন , যেমনটি আমি Windows অধ্যায়ে দেখিয়েছি।
হালকা-সবুজ ক্ষমতা
এখানে সবচেয়ে গুরুত্বপূর্ণ ক্ষমতাগুলির একটি তালিকা রয়েছে যা আপনি আপনার PWA-তে ব্যবহার করতে পারেন, সতর্কতা সহ যে সেগুলি প্রতিটি ব্রাউজারে উপলব্ধ নাও হতে পারে৷
অধিকার
- WebGL 2.0 , WebGL স্পেকের নতুন সংস্করণ OpenGL 3.0 এর সাথে মেলে।
- কোডেক , একটি ভিডিও স্ট্রিমের পৃথক ফ্রেমে নিম্ন-স্তরের অ্যাক্সেস এবং অডিওর অংশ; ওয়েব কোডেক এপিআই-এর মাধ্যমে যেভাবে মিডিয়া প্রক্রিয়া করা হয় তার উপর সম্পূর্ণ নিয়ন্ত্রণের প্রয়োজন এমন ওয়েব অ্যাপ্লিকেশনগুলির জন্য দরকারী।
হার্ডওয়্যার এবং সেন্সর
- মিডিয়া API ছাড়াও প্যান, টিল্ট এবং জুম নিয়ন্ত্রণ অ্যাক্সেস করতে উন্নত ক্যামেরা নিয়ন্ত্রণ ।
- ব্লুটুথ LE ওয়েব ব্লুটুথ এপিআই ব্যবহার করে ব্যবহারকারীর কাছাকাছি ব্লুটুথ লো-এনার্জি ডিভাইসগুলির সাথে যোগাযোগ করতে। আরও তথ্যের জন্য জাভাস্ক্রিপ্টের মাধ্যমে ব্লুটুথ ডিভাইসগুলির সাথে যোগাযোগ করা দেখুন।
- এনএফসি-এর মাধ্যমে হালকা-ওজন NFC ডেটা এক্সচেঞ্জ ফরম্যাট (NDEF) বার্তাগুলির মাধ্যমে ডেটা আদান-প্রদানের জন্য নিয়ার-ফিল্ড যোগাযোগ , যেমন WebNFC API ব্যবহার করে একটি NFC ট্যাগ বা কার্ড৷ আপনি আরও বিশদ বিবরণের জন্য Android এর জন্য Chrome-এ NFC ডিভাইসগুলির সাথে ইন্টারঅ্যাক্ট পড়তে পারেন৷
ওয়েব সিরিয়াল WPI ব্যবহার করে সিরিয়াল পোর্ট, USB, বা ব্লুটুথের মাধ্যমে সিরিয়াল ব্যবহার করে ডিভাইসের সাথে সংযুক্ত ডিভাইসগুলিতে নিম্ন-স্তরের অ্যাক্সেসের জন্য সিরিয়াল পেরিফেরাল । নিচের লিঙ্কে আপনি শিখতে পারবেন কিভাবে সিরিয়াল পোর্ট থেকে পড়তে এবং লিখতে হয় ।
USB WebUSB API এর মাধ্যমে সংযুক্ত ডিভাইসগুলির সাথে যোগাযোগের জন্য USB ডিভাইস অ্যাক্সেস। আরও তথ্যের জন্য ওয়েবে USB ডিভাইসগুলিতে অ্যাক্সেস দেখুন৷
মানব ইন্টারফেস ডিভাইসগুলি আপনার PWA কে ওয়েবএইচআইডি API ব্যবহার করে মানুষের মিথস্ক্রিয়ার জন্য তৈরি যেকোন ধরণের ডিভাইসের সাথে ইন্টারঅ্যাক্ট করতে দেয়। অস্বাভাবিক HID ডিভাইসের সাথে সংযোগ করার জন্য এই নির্দেশিকাটি দেখুন।
- অ্যাম্বিয়েন্ট লাইট সেন্সর এপিআই ছাড়াও ডিভাইসের চারপাশে থাকা পরিবেষ্টিত আলোর বর্তমান আলোর স্তর বা আলোকসজ্জা পড়ে।
- ভাইব্রেশন এপিআই এর মাধ্যমে ডিভাইসটি সমর্থন করলে কিছু ঘটলে ভাইব্রেশন ব্যবহারকারীকে হ্যাপটিক প্রতিক্রিয়া দেয়।
- রেকর্ডিং মিডিয়া বিশ্লেষণ, প্রক্রিয়াকরণ বা ডিস্কে সংরক্ষণের জন্য মিডিয়াস্ট্রিম বা HTMLMediaElement অবজেক্ট (যেমন একটি
<video>
ট্যাগ) দ্বারা উত্পন্ন ডেটা ক্যাপচার করে, MediaRecorder API- কে ধন্যবাদ। - স্ক্রীনে একটি ওয়েক লক প্রয়োগ করা ডিভাইসটিকে আবছা হতে বা স্ক্রীন লক করা থেকে বাধা দেয়, যখন আপনার PWA-কে স্ক্রীন ওয়েক লক এপিআই ব্যবহার করে চালিয়ে যেতে হবে।
- ভার্চুয়াল বাস্তবতা আপনাকে আপনার PWA-তে একটি হেডসেট এবং অন্যান্য ডিভাইস ব্যবহার করতে সক্ষম করে, WebXR ডিভাইস API- কে ধন্যবাদ।
- অগমেন্টেড রিয়েলিটি আপনার PWA-তে অনেক উপায়ে অর্জন করা যেতে পারে, যেমন WebXR ডিভাইস API বা AR কন্টেন্টের জন্য Safari Quick Look অ্যাপ ব্যবহার করা।
- Idle Detection API দিয়ে নিষ্ক্রিয় ব্যবহারকারীদের সনাক্ত করুন ৷
- PWA যখন স্ক্রিনে থাকে তখন ওরিয়েন্টেশন লক পোর্ট্রেট বা ল্যান্ডস্কেপের জন্য ওরিয়েন্টেশন লক করে, স্ক্রীন ওরিয়েন্টেশন API বা ইনস্টল করা অ্যাপের জন্য ওয়েব অ্যাপ ম্যানিফেস্টের
orientation
প্রপার্টিকে ধন্যবাদ। - প্রজেক্টর এবং সেকেন্ডারি ডিসপ্লেতে সামগ্রী উপস্থাপন করুন , উপস্থাপনা API- কে ধন্যবাদ।
- পয়েন্টার (মাউস, ট্র্যাকপ্যাড এবং পয়েন্টার) থেকে অবস্থানের মানগুলির পরিবর্তে ডেল্টা আন্দোলনের তথ্য পেতে একটি পয়েন্টার লক করুন — কিছু গেমের জন্য দরকারী — পয়েন্টার লক API- কে ধন্যবাদ৷
অপারেটিং সিস্টেম ইন্টিগ্রেশন
- ডিভাইসে ফাইলগুলি পড়ুন এবং লিখুন , ফাইল সিস্টেম অ্যাক্সেস API- কে ধন্যবাদ, যেমন আপনি OS ইন্টিগ্রেশন অধ্যায়ে দেখেছেন৷
- ওয়েব শেয়ার টার্গেটকে ধন্যবাদ অন্যান্য অ্যাপ থেকে সামগ্রী পান , যেমনটি আমি OS ইন্টিগ্রেশন অধ্যায়ে দেখিয়েছি।
- OS ইন্টিগ্রেশন অধ্যায়ে দেখানো হিসাবে পরিচিতি পিকার API ব্যবহার করে যোগাযোগের ডেটা পান ৷
- পটভূমিতে সিঙ্ক করুন যখন PWA ব্যবহার করা হয় না, ব্যাকগ্রাউন্ড সিঙ্ক্রোনাইজেশন API- কে ধন্যবাদ।
- ওয়েব পিরিওডিক ব্যাকগ্রাউন্ড সিঙ্ক্রোনাইজেশন API- কে ধন্যবাদ PWA ব্যবহার না করার সময় টাস্ক শিডিউল করা ।
- ওয়েব পুশ এবং ওয়েব বিজ্ঞপ্তি API ব্যবহার করে বিজ্ঞপ্তি পাঠান ।
- ব্যাকগ্রাউন্ড ফেচ API- কে ধন্যবাদ ব্যবহারকারী আপনার PWA ব্যবহার না করার সময় পটভূমিতে ফাইল স্থানান্তর করুন ।
- মিডিয়া সেশন API ব্যবহার করে অপারেটিং সিস্টেমের সাথে আপনার মিডিয়া প্লে করাকে একীভূত করুন ৷
- আপনার PWA-তে পেমেন্ট ম্যানেজ করুন , পেমেন্ট রিকোয়েস্ট API- কে ধন্যবাদ। অ্যাপল পেমেন্ট রিকোয়েস্ট API-এর উপরে একটি Apple Pay JS লাইব্রেরিও অফার করে।
- নেটওয়ার্ক স্থিতি কোয়েরি করুন , যেমন সংযোগের ধরন (4G, WiFi) এবং নেটওয়ার্ক তথ্য API ব্যবহার করে ডেটা সংরক্ষণ করুন।
- স্ক্রিন ক্যাপচার API ব্যবহার করে স্ক্রিনকাস্ট বা স্ক্রিন ভাগ করার জন্য ব্যবহারকারীর স্ক্রিন ক্যাপচার করুন ৷
- শেপ ডিটেকশন API ব্যবহার করে বারকোড সহ অন-ডিভাইস হার্ডওয়্যার-অ্যাক্সিলারেটেড ডিটেক্টর ব্যবহার করে আকারগুলি সনাক্ত করুন (মানুষের মুখ এবং পাঠ্য OCR এখনও বিকাশে রয়েছে)।
- ডিভাইস মেমরি ইন্টারফেস ব্যবহার করে একটি ডিভাইসের মেমরি জিজ্ঞাসা করুন ।
- এসএমএসের মাধ্যমে এককালীন পাসওয়ার্ড আপনাকে WebOTP API ব্যবহার করে আপনার সার্ভার থেকে পাঠানো SMS এর মাধ্যমে স্বয়ংক্রিয়ভাবে একটি কোড পেতে দেয়। Safari
<input>
উপাদানের উপর ভিত্তি করে একটি সমাধান উপসেট প্রয়োগ করে। WebKit এর ব্লগে এটি সম্পর্কে আরও পড়ুন। - ভার্চুয়াল কীবোর্ড API ব্যবহার করে মোবাইল ডিভাইসের স্ক্রিনে প্রদর্শিত ভার্চুয়াল কীবোর্ড পরিচালনা করুন ।