ক্রোম অ্যাপস আর্কিটেকচার

Chrome অ্যাপ্লিকেশানগুলি ব্যবহারকারীর অপারেটিং সিস্টেমের সাথে ঘনিষ্ঠভাবে একত্রিত হয়৷ এগুলি একটি ব্রাউজার ট্যাবের বাইরে চালানোর জন্য ডিজাইন করা হয়েছে, অফলাইন এবং দুর্বল সংযোগের পরিস্থিতিতে দৃঢ়ভাবে চালানোর জন্য এবং একটি সাধারণ ওয়েব ব্রাউজিং পরিবেশে উপলব্ধ থেকে অনেক বেশি শক্তিশালী ক্ষমতা রয়েছে৷ অ্যাপ কন্টেইনার, প্রোগ্রামিং এবং নিরাপত্তা মডেলগুলি এই Chrome অ্যাপ প্রয়োজনীয়তাগুলিকে সমর্থন করে৷

অ্যাপ কন্টেইনার মডেল

অ্যাপ কন্টেইনারটি Chrome Apps এর ভিজ্যুয়াল চেহারা এবং লোডিং আচরণ বর্ণনা করে। ক্রোম অ্যাপগুলি প্রথাগত ওয়েব অ্যাপের থেকে আলাদা দেখায় কারণ অ্যাপ কন্টেইনার কোনও প্রথাগত ওয়েব পেজ UI নিয়ন্ত্রণ দেখায় না; এটি কেবল একটি ফাঁকা আয়তক্ষেত্রাকার এলাকা ধারণ করে। এটি একটি অ্যাপকে সিস্টেমে "নেটিভ" অ্যাপগুলির সাথে মিশ্রিত করার অনুমতি দেয় এবং এটি ব্যবহারকারীকে ম্যানুয়ালি URL পরিবর্তন করে অ্যাপের যুক্তির সাথে "মিসেস" হতে বাধা দেয়।

ক্রোম অ্যাপগুলি ওয়েব অ্যাপের থেকে আলাদাভাবে লোড হয়। উভয়ই একই ধরনের সামগ্রী লোড করে: CSS এবং JavaScript সহ HTML নথি; যাইহোক, একটি Chrome অ্যাপ অ্যাপ কন্টেইনারে লোড হয়, ব্রাউজার ট্যাবে নয়। এছাড়াও, অ্যাপ কন্টেইনারকে অবশ্যই স্থানীয় উৎস থেকে Chrome অ্যাপের প্রধান নথি লোড করতে হবে। এটি অফলাইনে থাকাকালীন সমস্ত ক্রোম অ্যাপকে কমপক্ষে ন্যূনতমভাবে কার্যকরী হতে বাধ্য করে এবং এটি কঠোর নিরাপত্তা ব্যবস্থা প্রয়োগ করার জন্য একটি জায়গা প্রদান করে৷

অ্যাপ কন্টেইনার মডেল কিভাবে কাজ করে

প্রোগ্রামিং মডেল

প্রোগ্রামিং মডেল Chrome Apps এর জীবনচক্র এবং উইন্ডো আচরণ বর্ণনা করে। নেটিভ অ্যাপের মতো, এই প্রোগ্রামিং মডেলের লক্ষ্য হল ব্যবহারকারীদের এবং তাদের সিস্টেমগুলিকে অ্যাপের জীবনচক্রের উপর সম্পূর্ণ নিয়ন্ত্রণ দেওয়া। Chrome অ্যাপ লাইফসাইকেল ব্রাউজার উইন্ডো আচরণ বা একটি নেটওয়ার্ক সংযোগ থেকে স্বাধীন হওয়া উচিত।

"ইভেন্ট পৃষ্ঠা" ব্যবহারকারীর অঙ্গভঙ্গি এবং সিস্টেম ইভেন্টগুলিতে প্রতিক্রিয়া জানিয়ে Chrome অ্যাপের জীবনচক্র পরিচালনা করে৷ এই পৃষ্ঠাটি অদৃশ্য, শুধুমাত্র পটভূমিতে বিদ্যমান, এবং সিস্টেম রানটাইম দ্বারা স্বয়ংক্রিয়ভাবে বন্ধ করা যেতে পারে। এটি নিয়ন্ত্রণ করে কিভাবে উইন্ডো খোলে এবং বন্ধ হয় এবং কখন অ্যাপটি শুরু বা বন্ধ করা হয়। একটি Chrome অ্যাপের জন্য শুধুমাত্র একটি "ইভেন্ট পৃষ্ঠা" থাকতে পারে৷

এক নজরে অ্যাপের জীবনচক্র

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

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

নিরাপত্তা মডেল

Chrome Apps নিরাপত্তা মডেল ব্যবহারকারীদের তাদের তথ্য নিরাপদ এবং সুরক্ষিত পদ্ধতিতে পরিচালিত হয় তা নিশ্চিত করে সুরক্ষা দেয়। CSP-এর সাথে মেনে চলার মধ্যে বিষয়বস্তুর নিরাপত্তা নীতি মেনে চলার বিষয়ে বিস্তারিত তথ্য অন্তর্ভুক্ত রয়েছে। এই নীতি ক্রস-সাইট স্ক্রিপ্টিং বাগগুলি হ্রাস করে এবং ম্যান-ইন-দ্য-মিডল আক্রমণ থেকে ব্যবহারকারীদের রক্ষা করে বিপজ্জনক স্ক্রিপ্টিং ব্লক করে।

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

Chrome অ্যাপ্লিকেশানগুলি Chrome এক্সটেনশন প্রক্রিয়া বিচ্ছিন্নতা পুনঃব্যবহার করে এবং সঞ্চয়স্থান এবং বাহ্যিক সামগ্রীকে আলাদা করে এটিকে আরও এক ধাপ এগিয়ে নিয়ে যায়৷ প্রতিটি অ্যাপের নিজস্ব ব্যক্তিগত স্টোরেজ এলাকা থাকে এবং আপনি আপনার ব্রাউজারে যে ওয়েবসাইটগুলি ব্যবহার করেন তার জন্য অন্য অ্যাপ বা ব্যক্তিগত ডেটা (যেমন কুকিজ) এর স্টোরেজ অ্যাক্সেস করতে পারে না। সমস্ত বাহ্যিক প্রক্রিয়াগুলি অ্যাপ থেকে বিচ্ছিন্ন। যেহেতু আইফ্রেমগুলি আশেপাশের পৃষ্ঠার মতো একই প্রক্রিয়াতে চলে, সেগুলি শুধুমাত্র অন্যান্য অ্যাপ পৃষ্ঠাগুলি লোড করতে ব্যবহার করা যেতে পারে৷ আপনি বাহ্যিক বিষয়বস্তু এম্বেড করতে object ট্যাগ ব্যবহার করতে পারেন; এই বিষয়বস্তু অ্যাপ থেকে একটি পৃথক প্রক্রিয়ায় চলে।