5/24/2018 আপডেট করুন: আমরা এখন আমার মূল পোস্ট থেকে কৌণিক সংস্করণের +3 সংস্করণ এবং এখনও একটি চূড়ান্ত কার্যক্ষম সমাধান নেই। লার্স মেইজডাম (@ লার্সমিজডাম) একটি আকর্ষণীয় পদ্ধতির সাথে উপস্থিত হয়েছে যা অবশ্যই দেখার জন্য মূল্যবান। (মালিকানা সংক্রান্ত সমস্যার কারণে, তাকে অস্থায়ীভাবে গিটহাবের সংগ্রহশালাটি সরিয়ে ফেলতে হয়েছিল যেখানে তিনি তার নমুনাটি মূলত পোস্ট করেছিলেন However তবে, আপনি যদি একটি অনুলিপি চান তবে আপনি সরাসরি তাকে বার্তা দিতে পারেন। আরও তথ্যের জন্য নীচের মন্তব্যগুলি দেখুন see)
অ্যাঙ্গুলার 6 এ সাম্প্রতিক স্থাপত্যগুলি পরিবর্তনগুলি আমাদের একটি সমাধানের আরও কাছে নিয়ে আসে। অতিরিক্তভাবে, কৌণিক উপাদানসমূহ ( https://angular.io/guide/eferences ) কিছু উপাদান কার্যকারিতা সরবরাহ করে - যদিও আমি এই পোস্টে মূলত বর্ণনা করেছি তা পুরোপুরি নয়।
যদি আশ্চর্যজনক কৌণিক দল থেকে কেউ যদি এর মধ্যে আসে তবে দয়া করে মনে রাখবেন যে আরও অনেক লোক রয়েছেন যারা এই কার্যকারিতাটিতে খুব আগ্রহী। ব্যাকলগের জন্য এটি বিবেচনা করার উপযুক্ত হতে পারে।
আমি একটি প্লাগেবল (প্লাগ-ইন) একটি ইন ফ্রেমওয়ার্ক বাস্তবায়ন চাই Angular 2
, Angular 4
, Angular 5
, অথবা Angular 6
আবেদন।
(এই প্লাগেবল ফ্রেমওয়ার্কটি বিকাশের জন্য আমার নির্দিষ্ট ব্যবহারের ক্ষেত্রে হ'ল আমাকে একটি ক্ষুদ্র বিষয়বস্তু পরিচালনার সিস্টেম বিকাশ করতে হবে a বেশ কয়েকটি কারণে এখানে প্রয়োজনীয়ভাবে বিশদভাবে Angular 2/4/5/6
বর্ণনা করা হয়নি that সিস্টেমটির বেশিরভাগ প্রয়োজনের জন্য এটিই একটি নিখুঁত উপযুক্ত fit
প্লাগেবল ফ্রেমওয়ার্ক (বা প্লাগ-ইন আর্কিটেকচার) দ্বারা, আমি বিশেষত এমন একটি সিস্টেম বুঝি যা তৃতীয় পক্ষের বিকাশকারীদের প্রাথমিক অ্যাপ্লিকেশনটির উত্স কোডের সরাসরি অ্যাক্সেস বা জ্ঞান ছাড়াই প্লাগেবল উপাদান ব্যবহারের মাধ্যমে প্রাথমিক অ্যাপ্লিকেশনটির কার্যকারিতা তৈরি বা প্রসারিত করতে দেয় allows বা অভ্যন্তরীণ কাজ ।
(" অ্যাপ্লিকেশনটির সোর্স কোড বা অভ্যন্তরীণ কার্যক্রমে সরাসরি অ্যাক্সেস বা জ্ঞান না থাকা " সম্পর্কে এই বাক্যটি একটি মূল উদ্দেশ্য))
প্লাগযোগ্য ফ্রেমওয়ার্কগুলির উদাহরণগুলির মধ্যে WordPress
বা যেমন সাধারণ সামগ্রী সামগ্রী ব্যবস্থা অন্তর্ভুক্ত Drupal
।
আদর্শ পরিস্থিতি (দ্রুপালের মতো) সাধারণভাবে এই প্লাগযোগ্য উপাদানগুলি (বা প্লাগইনগুলি) ফোল্ডারে স্থাপন করতে সক্ষম হবে, অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে সনাক্ত করতে বা সেগুলি আবিষ্কার করতে সক্ষম হবে এবং এগুলিকে কেবল "কাজ" করতে হবে। এটি একরকম হট-প্লাগেবল পদ্ধতিতে ঘটানো মানে অ্যাপ্লিকেশন চলাকালীন, সর্বোত্তম হবে।
আমি বর্তমানে নিম্নলিখিত পাঁচটি প্রশ্নের উত্তর ( আপনার সহায়তায় ) নির্ধারণ করার চেষ্টা করছি ।
- ব্যবহারিকতা: একটি
Angular 2/4/5/6
অ্যাপ্লিকেশন জন্য একটি প্লাগইন কাঠামো এমনকি ব্যবহারিক? (এখন অবধি, এর সাথে সত্যিকারের প্লাগযোগ্য কাঠামো তৈরি করার কোনও ব্যবহারিক উপায় আমি পাইনি haveAngular2/4/5/6
) - প্রত্যাশিত চ্যালেঞ্জগুলি: একটি
Angular 2/4/5/6
অ্যাপ্লিকেশনটির জন্য প্লাগইন কাঠামো বাস্তবায়নে কোন কোন চ্যালেঞ্জের মুখোমুখি হতে পারে ? - বাস্তবায়ন কৌশল: কোন
Angular 2/4/5/6
অ্যাপ্লিকেশনটির জন্য প্লাগইন কাঠামো বাস্তবায়নের জন্য কোন নির্দিষ্ট কৌশল বা কৌশল ব্যবহার করা যেতে পারে ? - সেরা অনুশীলন: একটি
Angular 2/4/5/6
অ্যাপ্লিকেশন জন্য একটি প্লাগইন সিস্টেম বাস্তবায়নের জন্য সেরা অনুশীলন কি ? - বিকল্প প্রযুক্তি: যদি একটি প্লাগইন ফ্রেমওয়ার্ক হয় না একটি ব্যবহারিক
Angular 2/4/5/6
প্রয়োগ, কি অপেক্ষাকৃত সমতুল্য প্রযুক্তির (যেমনReact
) একটি জন্য উপযুক্ত হতে পারে আধুনিক অত্যন্ত প্রতিক্রিয়াশীল ওয়েব অ্যাপ্লিকেশন ?
সাধারণভাবে, এর ব্যবহার Angular 2/4/5/6
খুব পছন্দসই কারণ:
- এটি স্বাভাবিকভাবেই অত্যন্ত দ্রুত - স্পষ্টভাবে তাই।
- এটি খুব অল্প ব্যান্ডউইথ খরচ করে (প্রাথমিক লোডের পরে)
- এটির তুলনামূলকভাবে ছোট পায়ের ছাপ রয়েছে (পরে
AOT
এবংtree shaking
) - এবং সেই পদক্ষেপটি সঙ্কুচিত অবিরত - এটি অত্যন্ত কার্যকরী, এবং কৌণিক দল এবং সম্প্রদায় তার বাস্তুতন্ত্রের দ্রুত বর্ধন অব্যাহত রেখেছে
- এটা যেমন সেরা এবং সর্বশেষ ওয়েব টেকনোলজি অনেক সঙ্গে ভাল খেলে
TypeScript
এবংObservables
- কৌণিক 5 এখন পরিষেবা কর্মীদের সমর্থন করে ( https://medium.com/@webmaxru/a-new-angular-service-worker-creating-automatic-progressive-web-apps-part-1-theory-37d7d7647cc7 )
- সমর্থিত হওয়ার পরে
Google
এটি সম্ভবত সমর্থিত হবে এবং ভবিষ্যতেও উন্নত হবে
আমি Angular 2/4/5/6
আমার বর্তমান প্রকল্পের জন্য ব্যবহার করতে চাই । যদি আমি ব্যবহার করতে সক্ষম হয় তবে আমিও Angular 2/4/5/6
ব্যবহার করব Angular-CLI
এবং সম্ভবত Angular Universal
(সার্ভার-সাইড রেন্ডারিংয়ের জন্য))
এখানে এখন পর্যন্ত উপরের প্রশ্নগুলি সম্পর্কে আমার চিন্তাভাবনা রয়েছে। দয়া করে পর্যালোচনা করুন এবং আপনার প্রতিক্রিয়া এবং আলোকায়ন সরবরাহ করুন।
Angular 2/4/5/6
অ্যাপ্লিকেশনগুলি প্যাকেজগুলি গ্রাস করে - তবে এটি কোনও অ্যাপ্লিকেশনের মধ্যে প্লাগইনগুলিকে অনুমতি দেওয়ার মতো নয়। অন্যান্য সিস্টেমে (যেমনDrupal
) একটি প্লাগইন মূলত প্লাগইন ফোল্ডারটি একটি সাধারণ মডিউল ডিরেক্টরিতে রেখে যেখানে এটি স্বয়ংক্রিয়ভাবে সিস্টেমের দ্বারা "বাছাই করা হয়" যুক্ত করা যায়। ইনAngular 2/4/5/6
, একটি প্যাকেজ (প্লাগইন হিসাবে হতে পারে) সাধারণত এর মাধ্যমে ইনস্টল করা হয়npm
, এতে যুক্ত করা হয়package.json
এবং তারপরে ম্যানুয়ালি অ্যাপ্লিকেশনটিতে আমদানি করা হয় - যেমনapp.module
। এটিDrupal
কোনও ফোল্ডার ফেলে দেওয়ার পদ্ধতি এবং সিস্টেমটি স্বয়ংক্রিয়ভাবে প্যাকেজটি সনাক্ত করার পদ্ধতির চেয়ে অনেক জটিল । একটি প্লাগইন ইনস্টল করা যত জটিল হয়, লোকেদের সেগুলি ব্যবহার করার সম্ভাবনা তত কম। এটির জন্য যদি কোনও উপায় থাকে তবে এটি আরও ভালAngular 2/4/5/6
প্লাগইনগুলি স্বয়ংক্রিয়ভাবে সনাক্ত এবং ইনস্টল করতে। আমি এমন একটি পদ্ধতি খুঁজে পেতে আগ্রহী যেটি অ-বিকাশকারীদেরAngular 2/4/5/6
অ্যাপ্লিকেশনটির সমস্ত আর্কিটেকচার বুঝতে না পেরে অ্যাপ্লিকেশনটি ইনস্টল করতে এবং কোনও নির্বাচিত প্লাগইন ইনস্টল করতে দেয়।সাধারণত, প্লাগেবল আর্কিটেকচার সরবরাহের অন্যতম সুবিধা হ'ল তৃতীয় পক্ষ বিকাশকারীদের পক্ষে সিস্টেমটির কার্যকারিতা বাড়ানো খুব সহজ। স্পষ্টতই, এই বিকাশকারীরা যে অ্যাপ্লিকেশনটিতে প্লাগ ইন করছে তার কোডের সমস্ত জটিলতার সাথে তাদের পরিচিত হবে না। প্লাগইনগুলি বিকাশ হওয়ার পরে, অন্যান্য এমনকি কম প্রযুক্তিগত ব্যবহারকারীরা কেবল অ্যাপ্লিকেশন এবং কোনও নির্বাচিত প্লাগইন ইনস্টল করতে পারেন। তবে
Angular 2/4/5/6
এটি তুলনামূলকভাবে জটিল এবং এর একটি দীর্ঘতর লার্নিং বক্ররেখা রয়েছে। আরও জটিল জিনিস, সবচেয়ে প্রকাশনাAngular 2/4/5/6
অ্যাপ্লিকেশন এছাড়াও ব্যবহার করাAngular-CLI
,Angular Universal
এবংWebPack
। যে কেউ একটি প্লাগইন বাস্তবায়ন করছে তার সম্ভবত একটি দৃ strong় কার্যকরী জ্ঞানের পাশাপাশি এই সমস্তগুলি কীভাবে ফিট হয় তার কমপক্ষে কিছু প্রাথমিক জ্ঞান থাকতে হবেTypeScript
এবং একটি যুক্তিসঙ্গত পরিচয়NodeJS
। জ্ঞানের প্রয়োজনীয়তাগুলি কি এত চরম যে কোনও তৃতীয় পক্ষ কোনও প্লাগইন বিকাশ করতে চায় না?বেশিরভাগ প্লাগইনগুলিতে সম্ভবত কিছু সার্ভার সাইড উপাদান (যেমন প্লাগইন সম্পর্কিত ডেটা সংরক্ষণ / পুনরুদ্ধারের জন্য) পাশাপাশি কিছু ক্লায়েন্ট-সাইড আউটপুট থাকবে।
Angular 2/4/5
বিশেষত (এবং দৃ strongly়ভাবে) বিকাশকারীদের রানটাইমের সময় তাদের নিজস্ব টেম্পলেটগুলি ইনজেকশন দেওয়া থেকে নিরুৎসাহিত করে - কারণ এটি মারাত্মক সুরক্ষা ঝুঁকিপূর্ণ। একটি প্লাগইন সামঞ্জস্য করতে পারে এমন অনেক ধরণের আউটপুট পরিচালনা করার জন্য (উদাহরণস্বরূপ কোনও গ্রাফের প্রদর্শন), এটি প্রদর্শিত হয় যে ব্যবহারকারীদের এমন একটি সামগ্রী তৈরি করতে দেয় যা প্রতিক্রিয়া প্রবাহে ইনজেক্ট করা হয়, এক ফর্মের মধ্যে অন্যটি সম্ভবত প্রয়োজনীয়। আমি আশ্চর্যরূপেAngular 2/4/5/6
সুরক্ষার ব্যবস্থা না করে কীভাবে এই প্রয়োজনটিকে সামঞ্জস্য করা সম্ভব wonderবেশিরভাগ উত্পাদন
Angular 2/4/5/6
অ্যাপ্লিকেশনগুলিAhead of Time
(AOT
) সংকলন ব্যবহার করে প্রাক-সংকলিত । (সম্ভবত সব কিছু হওয়া উচিত)) প্রাক-সংকলিত অ্যাপ্লিকেশনগুলিতে প্লাগইনগুলি কীভাবে যুক্ত করা যায় (বা এর সাথে সংহত করা হয়) সে সম্পর্কে আমি অনিশ্চিত। সেরা দৃশ্যে মূল অ্যাপ্লিকেশন থেকে পৃথকভাবে প্লাগইনগুলি সংকলন করা জড়িত। তবে এই কাজটি কীভাবে করা যায় তা নিয়ে আমি অনিশ্চিত। একটি ফ্যালব্যাকটি কোনও অন্তর্ভুক্ত প্লাগইনগুলির সাথে পুরো অ্যাপ্লিকেশনটি পুনরায় সংকলন করা হতে পারে তবে এটি কোনও প্রশাসনিক ব্যবহারকারীর জন্য কিছুটা জটিল করে তোলে যিনি কোনও নির্বাচিত প্লাগইন সহ অ্যাপ্লিকেশনটি (কেবল নিজের সার্ভারে) ইনস্টল করতে চান।একটি
Angular 2/4/5/6
অ্যাপ্লিকেশনটিতে, বিশেষত একটি প্রাক-সংকলিত একটি, একক টুকরোটি ভুল বা বিবাদী কোড পুরো অ্যাপ্লিকেশনটিকে ভেঙে দিতে পারে।Angular 2/4/5/6
অ্যাপ্লিকেশনগুলি ডিবাগ করা সর্বদা সহজ নয়। খারাপ আচরণযুক্ত প্লাগইনগুলির প্রয়োগের ফলে খুব অপ্রীতিকর অভিজ্ঞতা আসতে পারে। অসদাচরণযুক্ত প্লাগইনগুলি করপুণভাবে পরিচালনা করার জন্য আমি কোনও প্রক্রিয়া সম্পর্কে অবগত নই।