ক্রোম এক্সটেনশনে কী ঘটছে?

এখনও পর্যন্ত, 2023 ক্রোম এক্সটেনশনের জগতে একটি ব্যস্ত বছর ছিল৷ আপনার মূল্যবান মতামত আমাদের এক্সটেনশন প্ল্যাটফর্ম এবং আমাদের ডকুমেন্টেশন উন্নত করার অনুমতি দিয়েছে। আমরা WebExtensions Community Group- এ অন্যান্য ব্রাউজার বিক্রেতাদের সাথে সহযোগিতা অব্যাহত রাখি যাতে এক্সটেনশন APIগুলি ব্রাউজার জুড়ে আরও ধারাবাহিকভাবে কাজ করে।

এই পোস্টে, আমরা এই বছরের প্রথমার্ধে Chrome এক্সটেনশন টিম যে কয়েকটি পরিবর্তন নিয়ে কাজ করেছে এবং এই ত্রৈমাসিকের পরে আসন্ন বৈশিষ্ট্যগুলি প্রকাশ করা হবে তা আপনার সাথে শেয়ার করব৷ চল শুরু করি!

নতুন এক্সটেনশন API এবং বৈশিষ্ট্য

এই বিভাগে, আমি কিছু উল্লেখযোগ্য API লঞ্চগুলিকে হাইলাইট করতে চাই, সংক্ষেপে অন্যান্য API উন্নতিগুলি পর্যালোচনা করতে এবং আসন্ন API প্রকাশগুলি শেয়ার করতে চাই৷

হাইলাইট

অফস্ক্রিন নথি

অফস্ক্রিন API Chrome 109-এ প্রবর্তন করা হয়েছিল। এটি ম্যানিফেস্ট V3 এক্সটেনশনগুলিকে DOM বা উইন্ডোর সাথে ইন্টারঅ্যাকশনের প্রয়োজন এমন ব্যবহারের ক্ষেত্রে পরিচালনা করতে দেয়, যা এক্সটেনশন পরিষেবা কর্মীতে করা যায় না। এছাড়াও, Chrome 114 দুটি অতিরিক্ত অফস্ক্রিন কারণ প্রবর্তন করেছে: 'WORKERS' উদাহরণের জন্য যখন আপনার নথিতে একজন কর্মী তৈরি করতে হবে এবং window.localStorage থেকে chrome.storage API এ ডেটা স্থানান্তর করতে সাহায্য করার জন্য 'LOCAL_STORAGE'

Chrome 115 থেকে শুরু করে, আপনি একটি অফস্ক্রিন নথি তৈরি করার সময় একাধিক কারণ প্রদান করতে পারেন৷ এটি আপনাকে একই নথিতে দুটি সম্পর্কিত কাজ সম্পাদন করতে দেয়।

নতুন সাইড প্যানেল API 🎉

অতীতে, এক্সটেনশনগুলিতে সাইডবার তৈরি করার একমাত্র উপায় ছিল প্রতিটি পৃষ্ঠায় বিষয়বস্তু স্ক্রিপ্ট সহ একটি নতুন উপাদান ইনজেক্ট করা। Chrome 114-এ, সাইড প্যানেল API চালু করা হয়েছিল। এখন আপনি ব্যবহারকারীদের জন্য একটি সহচর সাইডবার অভিজ্ঞতা আরও সহজবোধ্যভাবে বিকাশ করতে পারেন৷ সাইড প্যানেল API কীভাবে আপনাকে একটি উচ্চতর ব্যবহারকারীর অভিজ্ঞতা ডিজাইন করতে দেয় সে সম্পর্কে আরও পড়ুন।

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

আরও শক্তিশালী পরিষেবা কর্মী

সমস্ত এক্সটেনশন ইভেন্ট এখন এক্সটেনশন পরিষেবা কর্মীর নিষ্ক্রিয় টাইমার পুনরায় চালু করে৷ Chrome 110-এ, এক্সটেনশন পরিষেবা কর্মীদের জন্য হার্ড পাঁচ মিনিটের সর্বোচ্চ জীবনকাল সরানো হয়েছিল। এছাড়াও, নেটিভ অ্যাপ্লিকেশানের বার্তা এবং এক্সটেনশনের মধ্যে বার্তাগুলি নিষ্ক্রিয় টাইমার পুনরায় চালু করে৷ এক্সটেনশন সার্ভিস ওয়ার্কার লাইফসাইকেল নিবন্ধে এটি সম্পর্কে আরও পড়ুন।

আরও এপিআই লঞ্চ

  • Action API : Chrome 110 শুরু করে, আপনি setBadgeTextColor () এবং getBadgeTextColor() দিয়ে ব্যাজ টেক্সট কাস্টমাইজ করতে পারেন। এছাড়াও, isEnabled() আপনাকে বর্তমান ট্যাবের জন্য ক্রিয়াটি সক্ষম করা হয়েছে কিনা তা পরীক্ষা করতে দেয়।
  • Commands API : যে বাগটি "commands._execute_action" এর অধীনে ম্যানিফেস্টে ঘোষিত এক্সটেনশন শর্টকাট, MV3-তে রূপান্তরের সময় টিকে থাকবে না, সেটি Chrome 111 -এ ঠিক করা হয়েছে।
  • ডাউনলোড এপিআই : Chrome-এ ডিফল্ট ডাউনলোড UI নিচের দিকের একটি শেল্ফ থেকে অম্নিবক্সের ডানদিকে সরানো হয়েছে। এই আচরণটি নিষ্ক্রিয় করতে, আপনি downloads.setUiOptions() ব্যবহার করতে পারেন যা setShelfEnabled() প্রতিস্থাপন করে।
  • History API : chrome.history.getVisits() এবং chrome.history.search() এছাড়াও স্থানীয় ইতিহাস ডাটাবেসের সাথে সিঙ্ক করা অন্যান্য ডিভাইস থেকে ডেটা ফেরত দেয়। এর ফলে আরও বেশি ইতিহাস এন্ট্রি এবং উচ্চতর ভিজিট সংখ্যা হতে পারে। ক্রোম 115-এর VisitItemisLocal যোগ করা হয়েছে (এই মাসের শেষের দিকে স্থিতিশীল হবে) শুধুমাত্র স্থানীয় ভিজিট দ্বারা ফিল্টার করতে সক্ষম হবে।
  • আইডেন্টিটি এপিআই : একটি সম্পূর্ণ অ্যাপ্লিকেশন উইন্ডো দখল করার পরিবর্তে প্রমাণীকরণ উইন্ডোটি এখন একটি পপআপ হিসাবে উপস্থিত হয়। জাভাস্ক্রিপ্ট পুনঃনির্দেশের প্রক্রিয়া চলাকালীন আরও নিয়ন্ত্রণ দেওয়ার জন্য, আমরা দুটি নতুন বিকল্প যুক্ত করেছি: abortOnLoadForNonInteractive এবং timeoutMsForNonInteractive
  • স্টোরেজ এপিআই : ক্রোম 112-এ chrome.session স্টোরেজ সাইজ 10MB করা হয়েছে। তারপরে chrome.local স্টোরেজের আকার পরিবর্তন করে Chrome 114-এর সাথে মেলে।

শীঘ্রই আসছে...

আসন্ন Chrome সংস্করণগুলি ম্যানিফেস্ট V3-এ এক্সটেনশনগুলিকে স্থানান্তরিত করা সহজ করতে অনেকগুলি বৈশিষ্ট্য প্রবর্তন করবে৷ আসন্ন MV3 মাইগ্রেশন-সম্পর্কিত পরিবর্তনগুলির একটি তালিকার জন্য, আমাদের পরিচিত সমস্যা পৃষ্ঠাটি দেখুন। উপরন্তু, আমরা নিম্নলিখিত বৈশিষ্ট্য যোগ করার পরিকল্পনা করছি:

  • DeclarativeNetRequest API : isUrlFilterCaseSensitive প্রপার্টির ডিফল্ট মান false পরিবর্তিত হবে। WECG থ্রেড দেখুন।
  • ফাইল হ্যান্ডলিং API ChromeOS এক্সটেনশনগুলিকে নির্দিষ্ট MIME প্রকার এবং ফাইল এক্সটেনশন সহ ফাইলগুলি খুলতে অনুমতি দেবে৷ এই বৈশিষ্ট্যটি বর্তমানে একটি পতাকার পিছনে রয়েছে।
  • রানটাইম এপিআই : আমরা extension.getViews() runtime.getContexts() () প্রকাশ করছি, যা অবমূল্যায়িত হয়েছে। এটি এক্সটেনশনগুলিকে সাইড প্যানেল বা অফস্ক্রিন নথির মতো একটি এক্সটেনশন পৃষ্ঠা খোলা কিনা তা নির্ধারণ করতে অনুমতি দেবে৷ WECG প্রস্তাব দেখুন।
  • পরিষেবা কর্মীরা : আমরা Chrome API-এ শক্তিশালী কিপ-লাইভ যুক্ত করছি যা একটি ব্যবহারকারীর প্রম্পট প্রদর্শন করে: permissions.request() , desktopCapture.chooseDesktopMedia() , identity.launchWebAuthFlow() , এবং management.uninstall()
  • সাইড প্যানেল API : আমরা sidepanel.open() চালু করছি, যা ব্যবহারকারীর অঙ্গভঙ্গির প্রতিক্রিয়া হিসাবে এক্সটেনশন সাইড প্যানেলটি প্রোগ্রামগতভাবে খুলবে, যেমন একটি প্রসঙ্গ মেনু ক্লিক।
  • TabCapture API : আমরা এক্সটেনশন পরিষেবা কর্মী থেকে getMediaStreamId() কল করার ক্ষমতা যোগ করছি এবং একটি অফস্ক্রিন নথিতে একটি স্ট্রিম আইডি থেকে একটি MediaStream প্রাপ্ত করছি৷ উদাহরণের জন্য অডিও রেকর্ডিং এবং স্ক্রিন ক্যাপচার দেখুন।

এই ঘোষণাগুলি ক্রোম বিটাতে উপলব্ধ হওয়ার সাথে সাথে এক্সটেনশনগুলিতে নতুন কী রয়েছে সেগুলির সাথে থাকুন৷

ডকুমেন্টেশন আপগ্রেড এবং আরও ম্যানিফেস্ট V3 নির্দেশিকা

আমরা ডেভেলপারের শেখার অভিজ্ঞতা উন্নত করার জন্য কঠোর পরিশ্রম করছি। chromium-গ্রুপের প্রশ্ন জিজ্ঞাসা করতে এবং developer.chrome.com- এ ডকুমেন্টেশন সমস্যা রিপোর্ট করার জন্য যারা সময় নিয়েছেন তাদের সবাইকে অনেক ধন্যবাদ৷

হাইলাইট

  • নতুন MV3 মাইগ্রেশন বিভাগটি ম্যানিফেস্ট V2 এক্সটেনশনকে ম্যানিফেস্ট V3 তে রূপান্তর করার ব্যবহারিক উপায় সরবরাহ করে।
  • এক্সটেনশন পরিষেবা কর্মীদের নির্দেশিকা এক্সটেনশন পরিষেবা কর্মীদের বিষয়ে বিস্তারিত তথ্য প্রদান করে৷ এর মধ্যে রয়েছে তারা কীভাবে নিবন্ধিত এবং আপডেট করা হয়, জীবনচক্র দেখতে কেমন, আমদানি কীভাবে কাজ করে এবং আরও অনেক কিছু।
  • পরিষেবা কর্মীদের সাথে হ্যান্ডেল ইভেন্ট টিউটোরিয়াল এক্সটেনশন পরিষেবা কর্মীদের মূল বিষয়গুলি শেখায়৷ এটি একটি অম্নিবক্স এক্সটেনশন তৈরি করে যা আপনাকে এক্সটেনশন API রেফারেন্স পৃষ্ঠাগুলিতে দ্রুত অ্যাক্সেস দেয়।

আরো আপডেট

শীঘ্রই আসছে...

  • কিভাবে দূরবর্তী হোস্ট করা কোড ম্যানিফেস্ট V3 এ স্থানান্তর করা যায়।
  • ক্রোম এক্সটেনশনের জন্য কীভাবে স্বয়ংক্রিয় পরীক্ষা চালাবেন।
  • উন্নত ঘোষণামূলক নেট অনুরোধ নির্দেশিকা।
  • বিষয়বস্তু স্ক্রিপ্ট ব্যাখ্যাকারী উন্নতি.

💡 আপনি কি জানেন?

আমরা শেষ করার আগে, আমরা কয়েকটি দরকারী টুল এবং অন্তর্দৃষ্টি ভাগ করতে চেয়েছিলাম:

  • ক্রোম WebHID সমর্থন করার জন্য কাজ শুরু করেছে; আপনি ক্রোম 115 শুরু করে API এর সাথে খেলতে পারেন (তবে সচেতন থাকুন যে এটি এখনও চলছে)।
  • Puppeteer এখন --headless=new ব্যবহার করে হেডলেস মোডে টেস্টিং সমর্থন করে। Chrome এর হেডলেস মোড আপগ্রেড ব্লগ পোস্টে এটি সম্পর্কে আরও পড়ুন৷
  • এক্সটেনশন আপডেট টেস্টিং টুলের সাহায্যে, ম্যানিফেস্টে অনুমতি পরিবর্তন হলে কোন সতর্কতাগুলি ট্রিগার হয় তা আপনি পরীক্ষা করতে পারেন৷ এইভাবে, আপনি একজন ব্যবহারকারীর মতো আপডেট প্রক্রিয়াটি অনুভব করতে পারেন। এটি গুরুত্বপূর্ণ কারণ ব্যবহারকারী আবার অ্যাক্সেস না দেওয়া পর্যন্ত কিছু অনুমতি এক্সটেনশনটিকে অক্ষম করতে পারে।

এর সাথে সংযোগ দিন! 🙌

এই বছর, এক্সটেনশন দলটি Google I/O Connect ইভেন্টের সময় ব্যক্তিগতভাবে এক্সটেনশন ডেভেলপারদের সাথে দেখা করতে পেরে খুশি হয়েছিল। আমরা আপনার সাথে সংযোগ করার জন্য নতুন স্পেস তৈরি করার জন্য কাজ করছি, যেমন ফোকাস গ্রুপ চালু করা এবং মিটআপ ইভেন্ট।

ইতিমধ্যে, অনুগ্রহ করে chromium-গ্রুপগুলিতে প্রশ্ন জিজ্ঞাসা করা চালিয়ে যান, WECG- এ অংশগ্রহণের কথা বিবেচনা করুন, এবং বিকাশকারী.chrome.com GitHub রেপো- তে যেকোনও ডকুমেন্টেশন সমস্যার রিপোর্ট করুন৷

এক্সটেনশন ডেভেলপার সম্প্রদায়ের অংশ হওয়ার জন্য আবার ধন্যবাদ!