সুচিপত্র[লুকান][দেখান]
- সুতরাং, একটি মডিউল ফেডারেশন কি?
- কেন মডিউল ফেডারেশন?
- মডিউল ফেডারেশন মূল উপাদান
মডিউল ফেডারেশন মূল বৈশিষ্ট্য+-
- চমৎকার ওয়েব কর্মক্ষমতা
- কার্যকরী উন্নয়ন
- স্ব-নিরাময় এবং অপ্রয়োজনীয়তা করার ক্ষমতা
- সাধারণ নির্ভরতা কার্যকরভাবে পরিচালনা করা
- ভোক্তাদের পুনরায় স্থাপন করার পরিবর্তে, স্বাধীন কোড স্থাপন করুন।
- চালানোর সময়, অন্যান্য বিল্ড থেকে কোড আমদানি করুন।
- ক্লায়েন্ট অভিজ্ঞতা সংরক্ষণ করার সময় উন্নত বিকাশকারী অভিজ্ঞতা
- মাইক্রো-ফ্রন্টেন্ডগুলি একচেটিয়া ফ্যাশনে কাজ করে।
- উপসংহার
মাইক্রো ফ্রন্টএন্ডের ধারণাটি ফ্রন্টএন্ড বিকাশে মাইক্রোসার্ভিস প্রয়োগ করে।
ধারণাটি হল অ্যাপ্লিকেশন বা ওয়েবসাইটটিকে ছোট, স্বাধীনভাবে বিকশিত টুকরোগুলিতে বিভক্ত করা যা রানটাইমের সময় সংযুক্ত থাকে, একটি একক, সমন্বিত মনোলিথ হিসাবে তৈরি করার বিপরীতে।
পদ্ধতিটি আপনাকে অন্যান্য প্রযুক্তি ব্যবহার করে এবং স্বাধীন দলগুলির সাথে অ্যাপ্লিকেশনের অন্যান্য উপাদান তৈরি করতে সক্ষম করে।
ধারণাটি এইভাবে বিকাশকে ভাগ করে একটি সাধারণ মনোলিথ সম্পর্কিত রক্ষণাবেক্ষণ ব্যয় হ্রাস করা।
একটি সুসংগত দল হিসাবে একটি অ্যাপ্লিকেশনের একটি নির্দিষ্ট এলাকায় মনোনিবেশ করার অনুমতি দিয়ে, এটি ব্যাকএন্ড এবং ফ্রন্টএন্ড devs-এর মধ্যে সহযোগিতার নতুন ফর্মগুলিকেও সম্ভব করে তোলে।
উদাহরণস্বরূপ, আপনার এমন একটি দল থাকতে পারে যেটি অনুসন্ধান ক্ষমতার জন্য সম্পূর্ণরূপে দায়ী বা একটি মূল পণ্যের অন্য একটি দিক যা একটি ব্যবসার জন্য অত্যন্ত গুরুত্বপূর্ণ।
মডিউল ফেডারেশনকে ধন্যবাদ, আপনার ওয়ার্কফ্লো পরিচালনা করার জন্য যথেষ্ট কার্যকারিতা রয়েছে যা মাইক্রো ফ্রন্টএন্ড ম্যান্ডেট পদ্ধতির।
এই পোস্টটি মডিউল ফেডারেশনের আর্কিটেকচার, সেইসাথে এর প্রধান বৈশিষ্ট্য এবং প্রয়োগের ধরণগুলিকে গভীরভাবে দেখবে।
সুতরাং, একটি কি মডিউল ফেডারেশন?
জাভাস্ক্রিপ্টের মডিউল ফেডারেশন ডিজাইন অনেক অ্যাপ্লিকেশনে পুনঃব্যবহৃত অংশ ব্যবহার করে।
এটি মোটামুটি মৌলিক পরিভাষা, তবে আমি কেবল এটিকে হাওয়া লাগানোর মতো মনে করেছি।
যেহেতু আমরা সকলেই একটি প্রতিক্রিয়া অ্যাপ্লিকেশনের মধ্যে উপাদানগুলি ভাগ করে নেওয়ার সাথে পরিচিত, মডিউল ফেডারেশন কার্যকরভাবে অনুশীলনে একই লক্ষ্য অর্জন করে, ব্যতিক্রম যে এটি গতিশীলভাবে অন্যান্য অ্যাপ্লিকেশনগুলির দ্বারা ব্যবহারের জন্য অ্যাপ্লিকেশন মডিউলগুলিকে প্রকাশ করে৷
মডিউল ফেডারেশন সেই মূল ভাগ করা উপাদানগুলিকে ম্যাক্রো বা মাইক্রো হিসাবে পছন্দসই হিসাবে বিতরণ করে একটি বিতরণ করা সিস্টেমে মডিউল ভাগ করে নেওয়ার সমস্যাটি কাটিয়ে উঠতে চায়।
এটি আপনার অ্যাপ এবং বিল্ড ওয়ার্কফ্লো থেকে তাদের সরিয়ে দিয়ে সম্পন্ন করা হয়।
কেন মডিউল ফেডারেশন?
এখানে কিছু কারণ রয়েছে যা মডিউল ফেডারেশন সহজেই পরিচালনা করতে পারে:
- এক্সটার্নাল এবং ডিএলএল (ডাইনামিক লিঙ্ক লাইব্রেরি) আমাদের মাঝে মাঝে অ্যাপগুলির মধ্যে কার্যকারিতা ভাগ করে নেওয়ার জন্য ছিল। যার সবগুলোই স্কেলিং কোড শেয়ারিংকে অত্যন্ত চ্যালেঞ্জিং করে তুলেছে।
- এনপিএম অলস।
- যখন দুটি পৃথক প্রোগ্রাম গুরুত্বপূর্ণ কোড ভাগ করে, তখন সেগুলি অবশ্যই গতিশীল এবং নমনীয় হতে হবে।
স্বতন্ত্র অ্যাপ্লিকেশানগুলি সম্পূর্ণরূপে তাদের নিজস্ব সংগ্রহস্থলে থাকার জন্য, আলাদাভাবে স্থাপন করা এবং তাদের নিজস্ব স্বতন্ত্র SPA হিসাবে কাজ করার জন্য, মডিউল ফেডারেশন তৈরি করা হয়েছিল।
মডিউল ফেডারেশন মূল উপাদান
আরও গভীরে যাওয়ার আগে, মডিউল ফেডারেশন নিয়ে আসা কয়েকটি নতুন ধারণা নিয়ে সংক্ষেপে আলোচনা করা গুরুত্বপূর্ণ।
- হোস্ট: যখন একটি পৃষ্ঠা লোড হয়, প্রাথমিকভাবে বিল্ড বা মডিউল শুরু হয় তাকে হোস্ট বলা হয়। একজন প্রদানকারীকে হোস্ট হিসেবে ভাবা যেতে পারে।
- রিমোট: একটি রিমোট একটি ভিন্ন গঠন যা হোস্টের একটি অংশ ব্যবহার করে। তাদের গ্রাহক হিসাবেও উল্লেখ করা হয়।
- দ্বি-দিকনির্দেশক হোস্ট: একটি ওয়েবপ্যাক বিল্ড যা একটি রিমোট হিসাবে কাজ করে যা অন্যান্য হোস্ট ব্যবহার করে এবং একটি হোস্ট যা রিমোট ব্যবহার করে।
- ভেন্ডর ফেডারেশন: হোস্ট বা রিমোটের জন্য এনপিএম মডিউল নির্ভরতার ঘোষণামূলকভাবে শেয়ার করা রানটাইম শেয়ারিং সক্ষম করে, তারা যে জায়গা থেকে লোড করা হয়েছে তা নির্বিশেষে। মাইক্রো ফ্রন্টএন্ডের সাথে প্রধান কর্মক্ষমতা সমস্যাগুলির মধ্যে একটি এইভাবে সমাধান করা হয়।
ফেডারেটেড অ্যাপ্লিকেশনের প্যাটার্নস
চিরসবুজ ডিজাইন সিস্টেম
ফেডারেটেড অ্যাপ্লিকেশনগুলির সবচেয়ে মৌলিক ফর্মগুলির মধ্যে একটি হল একটি "চিরসবুজ রিমোট", যা একটি ভাগ করা রিমোট যেমন একটি "ডিজাইন সিস্টেম" বা "কম্পোনেন্ট লাইব্রেরি" যা সমস্ত ব্যবহারকারীর জন্য স্বাধীনভাবে বিতরণ এবং আপডেট করা হয়।
প্রতিটি অ্যাপ টিমকে রিভিশনে সময় ব্যয় করার প্রয়োজন ছাড়াই, এটি নিশ্চিত করতে সহায়ক হতে পারে যে সমস্ত অনলাইন সাইট সাম্প্রতিকতম কর্পোরেট পরিচয় মেনে চলে।
সুরক্ষিত, চলমান আপডেটের গ্যারান্টি দেওয়ার জন্য প্রয়োজনীয় সীমা এবং পদ্ধতিগুলি ডিজাইন এবং স্থাপন করার জন্য, এটি একটি ফেডারেটেড অ্যাপ্লিকেশন আর্কিটেকচার বিবেচনা করার সময় ব্যবসা শুরু করার জন্য একটি দরকারী জায়গা হতে পারে।
নিম্নোক্ত কিছু ব্যবহার-কেস যেখানে স্বাধীনভাবে মোতায়েন করা শেয়ার্ড রিমোট উপযুক্ত হতে পারে:
- ডিজাইন সিস্টেম
- অ্যাপ্লিকেশন শেল
- কম্পোনেন্ট লাইব্রেরি
- কনজিউমার্স
- ভাগ করা টুলকিট
- অভ্যন্তরীণ বা বাহ্যিক দ্বারা ব্যবহৃত উইজেটগুলির জন্য বিকল্প বিতরণ মডেল
মাল্টি-এসপিএ মডিউল শেয়ারিং
বিভিন্ন স্বতন্ত্র একক-পৃষ্ঠার অ্যাপগুলিতে ইতিমধ্যে-রপ্তানি করা বৈশিষ্ট্যগুলি, যেমন উপাদানগুলি পুনঃব্যবহার করুন। সুবিধার মধ্যে রয়েছে:
- ভোক্তারা স্বয়ংক্রিয় আপডেট পান
- ডোমেন দক্ষতা এটির দায়িত্বে থাকা দলে থাকে।
- ডিপ্লয়মেন্ট পদ্ধতিকে স্ট্রীমলাইন করে কারণ আলাদা মডিউল রিলিজের প্রয়োজন নেই।
শেল চালিত ফেডারেশন
শেল চালিত ফেডারেশন অন্তর্ভুক্ত:
- একটি নতুন পণ্য সংস্করণ তৈরি করার সময়, পণ্য দল তাদের কাজ সম্পূর্ণ করার জন্য Checkout দলের জন্য অপেক্ষা করে না।
- রিমোট স্যুইচ করার সময়, কোনও পৃষ্ঠা পুনরায় লোড হয় না।
- যখন প্রয়োজন হয়, শেল ধীর দূরবর্তী লোডিং এবং (শীর্ষ-স্তরের) রাউটিং অফার করে।
- রিমোট জুড়ে রাউটিং বিক্রেতা ফেডারেশনের মাধ্যমে সম্ভব হয়েছে, যা প্রায়শই ব্যবহৃত npm প্যাকেজগুলির পুনঃব্যবহার সক্ষম করে।
- শেল ফ্রেমওয়ার্ক এবং অন্যান্য সাধারণ নির্ভরতা অফার করে যা অলস লোড করা রিমোট দ্বারা পুনরায় ব্যবহার করা হয়।
মাল্টি-শেল ফেডারেশন
উপরে বর্ণিত শেল-চালিত ফেডারেশনের অনুরূপ, তবে বিভিন্ন শেল ব্যবহার করা হয়েছে।
এতে রয়েছে:
- শেল একটি সংখ্যা
- হোয়াইট-লেবেলিং
- সমস্ত রিমোট শেল বি দ্বারা প্রয়োজন হয় না বা স্বাধীন বাস্তবায়ন নেই।
মডিউল ফেডারেশন মূল বৈশিষ্ট্য
চমৎকার ওয়েব কর্মক্ষমতা
স্বাভাবিক এনপিএম মডিউল কম্পোজিশনের সমস্যা হল যে নির্ভরশীলদের সংখ্যা বাড়ার সাথে সাথে অ্যাপ্লিকেশনের আকার সাধারণত বৃদ্ধি পায়।
আপনার অ্যাপ্লিকেশন লোড হওয়ার সময় বান্ডিলগুলি লোড করা এড়াতে এবং প্রয়োজনে শুধুমাত্র সেগুলি লোড করার জন্য, মডিউল ফেডারেশন আপনাকে অলসভাবে বান্ডিলগুলি লোড করার ক্ষমতা দেয়৷
এটি আসলে প্রয়োজনীয় হওয়ার আগে মডিউলগুলি ডাউনলোড করার প্রয়োজনীয়তাকে বাধা দেয়, যা সাইটের গতি উন্নত করে।
কার্যকরী উন্নয়ন
প্রতিটি প্রকল্প বিচ্ছিন্নভাবে উত্পাদিত এবং বিতরণ করা যেতে পারে এবং বিভিন্ন দল দ্বারা পরিচালিত হতে পারে কারণ মডিউল ফেডারেশন আপনাকে আপনার অ্যাপ্লিকেশনটিকে বিচ্ছিন্ন প্রকল্পগুলিতে সংগঠিত করতে উত্সাহিত করে যাতে আপনি সেগুলিকে আলাদাভাবে তৈরি এবং স্থাপন করতে পারেন (এবং সমান্তরালে)।
স্ব-নিরাময় এবং অপ্রয়োজনীয়তা করার ক্ষমতা
ভাগ করা নির্ভরতা মডিউল ফেডারেশনকে আপনার প্রোগ্রামের সমস্ত নির্ভরতা এক জায়গায় ট্র্যাক করার অনুমতি দেয়।
এইভাবে, এমনকি যখন একটি অ্যাপ্লিকেশন নির্ভরতা ঘোষণা করে না বা যখন নেটওয়ার্ক সমস্যা থাকে, তখনও এটি জানে যে এটির কী প্রয়োজন এবং প্রয়োজন অনুসারে এটি ডাউনলোড করা পরিচালনা করতে পারে।
সাধারণ নির্ভরতা কার্যকরভাবে পরিচালনা করা
অতিরিক্তভাবে, মডিউল ফেডারেশন উচ্চতর নির্ভরতা ব্যবস্থাপনা অফার করে, কার্যকরভাবে বিক্রেতা এবং তৃতীয় পক্ষের প্রয়োজনীয়তাগুলি সমাধান করে যাতে আপনার অ্যাপ্লিকেশন কখনও একটি লাইব্রেরির একাধিক সংস্করণ লোড না করে।
ভোক্তাদের পুনরায় স্থাপন করার পরিবর্তে, স্বাধীন কোড স্থাপন করুন।
বিকাশকারী চিরসবুজ কার্যকারিতা থাকার জন্য অত্যন্ত আগ্রহী। একবার উন্মুক্ত নির্ভরশীল কার্যকারিতা পরিবর্তিত হয়ে গেলে, গ্রাহকদের আর পুনরায় ইনস্টল করার প্রয়োজন হবে না।
আমাকে অবশ্যই স্বীকার করতে হবে যে এটি এবং নিজের মধ্যে একটি অত্যন্ত শক্তিশালী বৈশিষ্ট্য, যা অপ্রত্যাশিত ফলাফল রোধ করতে সতর্কতার সাথে পরীক্ষা করতে হবে।
চালানোর সময়, অন্যান্য বিল্ড থেকে কোড আমদানি করুন।
NPM প্যাকেজ মডেল গ্রহণ করার সময়, আমরা কোড ভাগ করে নেওয়া এবং "লাইব্রেরি" চিন্তা করার পরিবর্তে মডিউল ফেডারেশন ব্যবহার করে এমন অ্যাপগুলিকে API-এর মতো বিবেচনা করতে পারি।
একই পদ্ধতিতে যে তারা অন্যান্য অ্যাপ্লিকেশন থেকে কার্যকারিতা গ্রহণ করতে পারে, ওয়েব অ্যাপ্লিকেশনগুলি এখন অন্যান্য অ্যাপ্লিকেশনগুলিতে কার্যকারিতা প্রদান করতে পারে৷
ক্লায়েন্ট অভিজ্ঞতা সংরক্ষণ করার সময় উন্নত বিকাশকারী অভিজ্ঞতা
কোন জাভাস্ক্রিপ্ট ডেভেলপার মডিউল ফেডারেশনের সাথে বেশ আরামদায়ক হবে কারণ এটি একটি ওয়েবপ্যাক প্লাগইন যা ওয়েবপ্যাক সংস্করণ 5 থেকে অ্যাক্সেসযোগ্য।
এটি আসলে বরং শক্তিশালী এবং কৌতুহলজনক যদি আমরা এটিকে কিছুটা চিন্তা করি।
তৃতীয় পক্ষের ওয়েবপ্যাক লোডার ব্যবহার করে, সমস্ত উপাদান বিবেচনা করুন webpack স্ক্রিপ্ট, সম্পদ, শৈলী, ছবি, মার্কডাউন এবং আরও অনেক কিছু সহ বান্ডিল।
মডিউল ফেডারেশন ব্যবহার করে, এই সব শেয়ার করা এবং ফেডারেশন করা যেতে পারে।
মাইক্রো-ফ্রন্টেন্ডগুলি একচেটিয়া ফ্যাশনে কাজ করে।
আপনার অ্যাপ্লিকেশনে ভাগ করা কার্যকারিতা যোগ করা বেশ সহজ; শুধু বান্ডিলটিকে স্বাভাবিক হিসাবে আমদানি করুন বা সিঙ্ক্রোনাস লোডিং ব্যবহার করুন।
বিকল্পভাবে, অসিঙ্ক্রোনাস লোডিং অলস লোডিং ব্যবহার করে যখন প্রয়োজন তখন নির্ভরতা লোড করতে ব্যবহার করা যেতে পারে।
উপসংহার
এই পোস্টে, আমরা মডিউল ফেডারেশনকে আপনার মাইক্রো-ফ্রন্টেন্ড অ্যাপ্লিকেশন বিকাশের জন্য একটি দুর্দান্ত পছন্দ হিসাবে আলোচনা করেছি।
রানটাইমে অ্যাপ্লিকেশানগুলিকে আদান-প্রদান এবং কার্যকারিতা গ্রহণ করতে দেওয়া বিভিন্ন দলকে স্বাধীন অ্যাপ্লিকেশনগুলিতে কাজ করতে সক্ষম করে মাপযোগ্যতাকে উত্সাহিত করে৷
যখন সাধারণ কার্যকারিতা পরিবর্তিত হয়, তখন আপনাকে আপনার ভোক্তাদের ডিজাইন এবং স্থাপন করতে হবে না কারণ এটি চিরহরিৎ কার্যকারিতা সমর্থন করে।
আপনার প্রোগ্রামটি সেট আপ হওয়ার পরে এটি একটি মনোলিথের মতো কাজ করবে, যা দুর্দান্ত।
শেয়ারযোগ্য নির্ভরতা অ্যাপের আকার কমাতে ব্যবহার করা হয়। যেহেতু অনেক ডেভেলপার ইতিমধ্যেই ওয়েবপ্যাক পরিবেশের সাথে পরিচিত, তাই ডেভেলপারের অভিজ্ঞতা চমৎকার।
নির্দেশিকা সমন্ধে মতামত দিন