এর মধ্যে একাধিক ছোট অ্যাপ্লিকেশন সহ বড় কৌণিক 2 অ্যাপ রচনা করা


17

প্রতিক্রিয়া (রেডাক্স সহ) এবং অ্যাঙ্গুলার 2 এর মধ্যে বাছাই করার জন্য দীর্ঘ 3 মাস বিতর্ক এবং গবেষণার পরে, আমার সংস্থার ফ্রন্ট-এন্ড টিম কৌনিক 2 এর সাথে যাওয়ার সিদ্ধান্ত নিয়েছে (এটি আমাদের সমস্যার পক্ষে আরও উপযুক্ত কিনা তা দেওয়া হচ্ছে)।

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

আমাদের পণ্যটির প্রকৃতি দেওয়া, এটি বিশাল, এবং এর মধ্যে এমন মডিউল রয়েছে যা নিজের মধ্যে একটি আলাদা ডোমেন এবং এটি স্ট্যান্ড স্টোন অ্যাপ হিসাবে তৈরি করা যেতে পারে তবে পণ্যটি নিজেই একক ইউআরএলে থাকে।

উদাহরণ;

আমার পণ্যটিকে সুপার অ্যাপ হিসাবে কল করুন।

একটি ইউআই হিসাবে, সুপার অ্যাপ্লিকেশনটিতে স্ট্যান্ডার্ড লগইন সিস্টেম রয়েছে এবং চাইল্ড মডিউলগুলি / উপ-পণ্যগুলিতে নেভিগেশন রয়েছে, যেমন ওয়ার্কফ্লো নিম্নরূপে প্রদর্শিত হয়।

  • SuperApp

    • প্রমাণীকরণকারী ব্যবহারকারী
    • পাসওয়ার্ড উইজার্ড ভুলে যান
    • লেখক ছাড়া পাবলিক পৃষ্ঠা অ্যাক্সেসযোগ্য
    • প্রমাণীকৃত ব্যবহারকারী

      • ন্যাভিগেশন সিস্টেম

        • বাড়ি
          • উপ-পণ্য 1
          • উপ-product2
          • উপ-product3
        • প্রোফাইল

          ...

          ...

        • গ্রুপ

          ...

          ...

নোট করুন যে উপরের উপস্থাপনায় Sub-product1এবং Sub-product2দুটি সম্পূর্ণ ভিন্ন ক্ষেত্র, সম্পূর্ণ আলাদা আলাদা ডোমেন রয়েছে।

আমি এখনই যা ভাবতে পারি তা হ'ল আমি সুপার অ্যাপ্লিকেশনটি একটি একক কৌণিক 2 প্রকল্প হিসাবে তৈরি করতে পারি যা কেবলমাত্র তার সাথে প্রাসঙ্গিক এমন উপাদান এবং ভিউ থাকে এবং একাধিক শিশু অ্যাপ্লিকেশন লোড করার জন্য সুপার অ্যাপও দায়ী; Sub-product1, Sub-product2(আবার, বিভিন্ন কৌণিক 2 প্রকল্পগুলি, নিজস্ব package.json, webpackকনফিগার ইত্যাদি) বোবা-উপাদানগুলির মাধ্যমে করে এবং শেল হিসাবে কাজ করে যা শীর্ষ-স্তরের রাউটিং এবং সেই শিশু অ্যাপ্লিকেশনগুলি ধরে রাখতে কোনও স্থানধারক সরবরাহ করে।

একবার, Sub-product1শেলের মধ্যে লোড হয়ে গেলে, এটি সুপার অ্যাপে অবতরণ করা বর্তমান রুটে নিজস্ব রুট যুক্ত করবে।

আমি পৃথকীকরণের কারণটি হ'ল কারণ এই বিভিন্ন অ্যাপ্লিকেশনগুলি (যা বর্তমানে এক্সটজেএস ব্যবহার করে নির্মিত হয়েছে) এতে কাজ করার জন্য নিবেদিত দল রয়েছে (আমরা 500+ বিকাশকারী একটি সংস্থাগুলি), সুতরাং যদি তাদের নিজস্ব কৌণিক প্রকল্প থাকে তবে তারা তাদের সরঞ্জামাদি পরিচালনা করতে পারে এবং গ্র্যান্ড প্যারেন্ট অ্যাপের উপর নির্ভর না করে তাদের পছন্দ অনুসারে নির্ভরতা।

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

যে কোনও নির্দেশিকা বা কোনও প্রাসঙ্গিক নিবন্ধের লিঙ্কগুলি প্রশংসা করা হবে।


আপনি কি এর জন্য কোনও সমাধান খুঁজে পেয়েছেন?
ধাওয়াল মার্থক

Haভালমার্থক এখনও নয়, আমি এখনও ধারণার জন্য উন্মুক্ত।
কুশাল

@ কুশল আপনি কি এর কোন সমাধান পেয়েছেন? আমার একই ধরণের প্রয়োজনীয়তা রয়েছে
কের্তিভাসন

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

1
মাইক্রোএক্সজিএজি 2018 এ ফ্রন্টএন্ড মনোলিথটি ভেঙে ফেলার বিষয়ে কয়েকটি আলোচনা হয়েছিল যা কিছু পদ্ধতির বিষয়ে কথা বলে। সম্ভবত সেখানে দরকারী কিছু আছে। দেখুন youtube.com/watch?v=rCxj-ONZmxs এবং youtube.com/watch?v=7MHsPfoonqs
sapientpants

উত্তর:


1

আপনি কী বর্ণনা করছেন আমি মডিউল থার্মের মাধ্যমে জানি । সুতরাং আমি যেমন হিসাবে উল্লেখ করব।

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

এক্ষেত্রে আপনার চিত্রের প্রতিটি বিন্দুর নিজস্ব স্বতন্ত্র অ্যাপ্লিকেশন হওয়া উচিত। আপনার বর্ণিত মতামত রচনা করার প্রতিটি দায়িত্ব অনুযায়ী তাদের অবশ্যই অবশ্যই একে অপরের সাথে যোগাযোগ করতে হবে। আপনি দেখেছেন কীভাবে গুগলের লেখার সাথে আলাদা আলাদা ইউআরএল / সরঞ্জাম / সিস্টেম রয়েছে? জিমেইল সেই কুউজ সম্পর্কে চিন্তা করে না এটি তার দায়িত্ব নয়। এমনকি সমস্ত সরঞ্জামের স্কাইনিং প্রতিটি সরঞ্জামে অবস্থিত না হয়ে কেন্দ্রীয় হয় (আপনি এটি উপাদান নকশায় দেখুন)। সম্পদগুলি প্রতিটি প্রকল্প / সিস্টেমের বাইরে থাকে।

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


1

একটি বিকল্প: আপনি সাব-অ্যাপ্লিকেশনগুলিতে "হার্ড লিঙ্ক" (এসপিএ লিঙ্কগুলি ব্যবহার না করে) এবং প্রতিটি উপ-অ্যাপ্লিকেশনটিকে সাইটের মোড়কের জন্য নির্ভরতা ভাগ করে নিতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.