for - javascript কি



কৌণিক এবং মাইক্রো-সম্মুখভাগ (5)

আমরা আমাদের নিজেদেরকে একই প্রশ্ন করেছিলাম। দুর্ভাগ্যক্রমে, মনে হয় যে প্রশ্নের উত্তর

একই পৃষ্ঠায় একাধিক কৌণিক (৫) অ্যাপস চলমান (সম্পাদনা করুন: যেখানে প্রতিটি কৌণিক অ্যাপ্লিকেশন পৃথক কৌণিক সংস্করণ ব্যবহার করতে পারে) "আইফ্রেমেস" ব্যতীত অন্য কোন সমাধান আছে কি?

বর্তমানে হয়

না, দুর্ভাগ্যক্রমে নয়, যতক্ষণ আপনি কৌণিক পরিবর্তন সনাক্তকরণ (যা জোন.জেএস ব্যবহার করে) ব্যবহার করতে চান।

অঞ্চল.js এর কারণে কৌণিক বিশ্বব্যাপী সুযোগকে দূষিত করে। আরও খারাপ জোন.জেএস একটি জোনটি সম্পূর্ণ হওয়ার পরে এটি সনাক্ত করতে ব্রাউজারের অনেকগুলি API ( https://github.com/angular/zone.js/blob/master/STANDARD-APIS.md ) প্যাচ করে।

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

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

দেখে মনে হচ্ছে যে কৌণিক দলও সমস্যাটি সম্পর্কে সচেতন এবং তারা নিম্নলিখিত বড় সংস্করণগুলির সাথে এটি মোকাবেলা করতে পারে। কৌণিক উপাদানগুলির রোডম্যাপ সম্পর্কিত নিম্নলিখিত গিথুব ইস্যুতে রবওয়ার্মওয়াল্ডের উত্তর দেখুন: https://github.com/angular/angular/issues/20891

আশা করি মার্চ শেষে পরবর্তী বড় সংস্করণ অ্যাঙ্গুলার 6 প্রকাশিত হলে সেই বিষয়টিতে কৌণিক দল আরও তথ্য পাবে।

আমি কীভাবে একটি বিশাল একক পৃষ্ঠা-মনোলিথকে একটি মাইক্রো-ফ্রন্টএন্ড আর্কিটেকচারে বিভক্ত করতে পারি সে সম্পর্কে কিছু গবেষণা করছি।

বুদ্ধিটা:

  • পৃষ্ঠায় বেশ কয়েকটি উপাদান রয়েছে যা স্বায়ত্তশাসিতভাবে চলতে থাকবে
  • প্রতিটি উপাদান একটি ডেভ-টিম দ্বারা পরিচালিত হয়
  • প্রতিটি দল অন্য দলের উপাদানগুলি না ভেঙে তাদের উপাদানগুলি পরিবর্তন করতে, আপডেট করতে এবং মোতায়েন করতে পারে
  • প্রতিটি দল তার নিজস্ব সরঞ্জামদণ্ড পছন্দ করে

কারন

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

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

এই কৌনিক সঙ্গে কাজ করে?

স্বতন্ত্র সংস্করণ-আপগ্রেডগুলি প্রয়োজনীয় হওয়ার সাথে সাথে দলগুলিকে কয়েকটি সমর্থিত ফ্রেমওয়ার্ক (কৌণিক, প্রতিক্রিয়া, ভ্যু, পলিমার ...) এ সীমাবদ্ধ রাখা যুক্তিসঙ্গত হবে এবং আপাতত আমি খাঁটি-অ্যাপ্লিকেশন সমন্বিত একটি ডেমো তৈরির চেষ্টা করছি।

তবে যদিও কৌণিক 5 সম্ভবত একটি প্ল্যাটফর্ম-কাঠামো যা বিশাল বহু-মডিউল অ্যাপ্লিকেশনগুলিকে সমর্থন করে, একই ব্রাউজার উইন্ডোতে বেশ কয়েকটি স্বতন্ত্র কৌণিক-অ্যাপ্লিকেশন চালানো প্রায় অসম্ভব বলে মনে হয়।

আমি এইচটিএমএল-আমদানি ব্যবহার করে একাধিক অ্যাংুলার-অ্যাপস (বিভিন্ন সংস্করণ, যার নিজস্ব নিজস্ব সার্ভারে হোস্ট করা হয়) বুটস্ট্র্যাপ করেছিলাম। তবে বেশ কয়েকটি global নির্ভরতা রয়েছে যা অ্যাপ্লিকেশনগুলির মধ্যে ভাগ করা দরকার

  • অঞ্চল.js কেবল একবার শুরু করা যেতে পারে
  • রুটিংয়ে ইউআরএল-পরিবর্তন দরকার
  • ব্রাউজার-স্টাফ যেমন কুকিজ, সেশনের দোকান ইত্যাদি ...

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

একই পৃষ্ঠায় একাধিক কৌণিক (5) অ্যাপস চলার জন্য " iframes " ব্যতীত অন্য কোন সমাধান আছে কি?



Answer #2

দেখে মনে হচ্ছে কিছু সময়ের জন্য আপনার প্রয়োজনগুলির জন্য একটি সমাধান হয়েছে। সিঙ্গল-এসপিএ প্রকল্পটি HERE

এটি আপনার মাইক্রো এসপিএ প্রকল্পগুলির জন্য একটি মোড়ক এসপিএ প্রকল্প।


Answer #3

পোস্টম্যাসেজের মাধ্যমে আইফ্রেমস এবং যোগাযোগের বাইরে বিভিন্ন অ্যাঙ্গুলার অ্যাপ্লিকেশনগুলিকে একীভূত করার একমাত্র উপায় হ'ল "ডিপ-লিঙ্কিং" এবং ইউআরএল-প্যারামিটার ব্যবহার করে তথ্য আদান প্রদান। সমস্ত কৌণিক অ্যাপ্লিকেশনগুলি তখন তাদের নিজস্ব ব্রাউজার ট্যাবে অবস্থিত। তবে সাধারণ পরিষেবাদি এবং উপাদানগুলির জন্য আপনি আপনার সমস্ত কৌণিক অ্যাপ্লিকেশন দ্বারা ব্যবহৃত একটি "ভাগ করা কার্নেল" প্রয়োগ করতে চাইতে পারেন, তাই আপনি একটি নির্দিষ্ট কৌণিক সংস্করণ পরিসরে আটকে আছেন। আপনি যখন এই ভাগ করা কার্নেলটি চান এনজিএমডিউল পদ্ধতির প্রস্তাবিত উপায় the আপনি একটি অ্যাপ্লিকেশনে কৌণিক 2 এবং কৌণিক 5 সংস্করণ মিশ্রণ করতে পারেন কারণ তারা পিছনে সামঞ্জস্যপূর্ণ। অ্যাঙ্গুলার টিম ব্রেকিং পরিবর্তনের পরিচয় না দেওয়া পর্যন্ত দলগুলিকে একই সংস্করণে আটকে থাকার জরুরি প্রয়োজন নেই। তবুও আপনার প্রযুক্তিগত debtsণ বাড়তে থাকে, যখন আপনি আপডেট করেন না। প্রযুক্তিগত আপডেটগুলির ফ্রিকোয়েন্সিটি কৌণিক / জাভাস্ক্রিপ্ট অঞ্চলে সুনির্দিষ্টভাবে বেশি।


Answer #4

হ্যা, তুমি পারো.

তবে আপনি যখন ওয়েব উপাদানগুলি লিখছেন তখন আপনি কোনও কাঠামোয় আটকাতে চান না, কারণ কোনও ওয়েব উপাদানটির পুরো পয়েন্টটি সম্ভবত যে কোনও জায়গায় পুনরায় ব্যবহার করা উচিত।

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

অবশেষে , আপনি এখন যা খুঁজছেন তা https://stenciljs.com/ নয়, https://stenciljs.com/ । স্টেনসিল হ'ল ওয়েব উপাদানগুলির জন্য একটি সংকলক যারা আপনার ইউআই পারফরম্যান্সগুলি উন্নত করতে আপনার উপাদানটির অভ্যন্তরে ভার্চুয়াল ডিওএমও তৈরি করে। এটা দেখ ;-)





microservices