জাভাস্ক্রিপ্ট এমভিসি, ব্যাকবোনজেএস, স্প্রাউটকোর এবং নকআউট এর মতো ফ্রেমওয়ার্কগুলির সাথে jQuery ফিট করে কোথায়?


14

আমি সুখে ব্যবহার করছি গত 2 বছর ধরে JQuery ব্যবহার করে আসছি এবং এটির সাথে কিছু সত্যিই দুর্দান্ত কার্যকারিতা তৈরি করা বেশ সাফল্যজনক হয়ে উঠছি ... তাই আমি এটির সাথে খুব আরামদায়ক। আমি বর্তমানের ক্লায়েন্ট-পাশের পথে ওয়েবের ভবিষ্যতটি অব্যাহত রাখব।

যাহোক...

পরবর্তী চ্যালেঞ্জ বিভিন্ন নিয়ামক অবকাঠামো আকারে আসছে বলে মনে হয়: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (তালিকা যায়)।

সংযোজন হিসাবে, এখানে প্রয়োজনীয় জেএস বা ল্যাবজেএস ইত্যাদি ব্যবহারের জন্য দুর্দান্ত কিছু এএমডি লোডার সরঞ্জাম রয়েছে তবে jQuery এখন রয়েছেdefine এবং thenক্ষমতাগুলি বেকড হয়েছে।

এগুলির সবকিছুর উপর নজর রাখা আরও কঠিন এবং শক্ত হয়ে চলেছে ...

এবং এখন, আমার কাজটি মনে হয় এমভিসি বা এমভিভিএম ফ্রেমওয়ার্কের ক্লায়েন্ট-সাইডের কোনও ফর্ম ব্যবহার করার জন্য কৌশলগত দিকটি মূল্যায়ন / সিদ্ধান্ত নেওয়া ... তবে আমার কাছে অনেকগুলি প্রশ্ন রয়েছে have

  • উপরে উল্লিখিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কের সাথে জিক্যুরি কোথায় ফিট ?
  • জিকুয়ারি কি পাশাপাশি ব্যবহার করা হয়েছে বা তাদের কারও কারও নিজস্ব ' জ্যাকুয়ারি- স্টাইল্ড সংস্করণ' বেকড হয়েছে?
  • মত সরঞ্জাম জেএস এর উপরে বর্ণিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কগুলির মধ্যে একটি প্রয়োগ করে যদি প্রয়োজনীয় এখনও দরকার ?
  • না defineএবং thenক্ষমতা বেকড-মধ্যেJQuery এখন সুপারসাইড করে? এএমডির লোডার উপরে উল্লিখিত?
  • কোনটি সবচেয়ে মডুলার বলে মনে হচ্ছে? (নীচের নোট দেখুন)

মন্তব্য:
আমি ভবিষ্যতের কোনও কাঠামোতে চাই না এমন একটি জিনিস হ'ল আমি ব্যবহার করি না এমন বিশাল পরিমাণ কার্যকারিতা গ্রহণ করার প্রয়োজন। অর্থ, আমি বরং এমন একটি কাঠামো ব্যবহার করব যা সত্যিকারের মডুলার। উদাহরণস্বরূপ, jQuery UI ব্যবহার করতে আপনাকে অনেকগুলি মূল লাইব্রেরি গ্রহণ করতে হবে যা আপনি সম্ভবত ব্যবহার করতে পারেন না।

আমি প্রত্যেকের সাথে পরীক্ষা-নিরীক্ষা করব, তবে কিছু বাস্তব প্রতিক্রিয়া দুর্দান্ত হবে। আমি কিছু 'অনুরূপ' প্রশ্ন দেখেছি, তবে উপরের স্কিউটির সত্যিকার অর্থে কেউ উত্তর দেয়নি।

আগাম ধন্যবাদ!

উত্তর:


11

jQuery একটি ক্রস ব্রাউজার স্বাভাবিককরণ সরঞ্জাম। এটি আপনাকে নিম্নলিখিত দেয়

  • ডিওএম ইউটিলিটিস
  • ইভেন্ট সিস্টেম
  • আয়াক্স
  • অ্যানিমেশন
  • ইএস 5 ইউটিলিটিস
  • কিছু অন্যান্য পাতলা

ব্যাকবোন / নকআউট / ইয়াডা / ইয়াদা এমভিসি-এর মতো লাইব্রেরি যা আপনাকে মডিউলার অ্যাপ্লিকেশন গঠনে এবং লেখার জন্য সহায়তা করতে পারে। আপনি কেবল তাদের প্রয়োজন যদি আপনি তাদের কাঠামো চান need

প্রয়োজনীয় জেএস / ইয়াডা / ইয়াদা মডিউল লোডার। আপনি যদি কোনও মডুলার অ্যাপ্লিকেশন লিখতে চান তবে আপনার কিছু ফর্মের মডিউল দরকার।

উপরে উল্লিখিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কের সাথে জিক্যুরি কোথায় ফিট?

উল্লিখিত হিসাবে, jQuery ব্রাউজারগুলি স্বাভাবিক করে তোলে। নিয়ামক ফ্রেমওয়ার্ক না। আপনার jQuery দরকার নেই তবে ব্রাউজারগুলি স্বাভাবিক করার জন্য আপনার কিছু উপায় দরকার way

জিকুয়ারি কি পাশাপাশি ব্যবহার করা হয় বা তাদের কারও কারও নিজস্ব 'জ্যাকুয়ারি-স্টাইলযুক্ত সংস্করণ' বেকড-ইন আছে?

ব্যাকবোন / নকআউট / জাভাস্ক্রিপ্টএমভিসিতে ব্রাউজারের নরমালাইজেশন বেকড থাকে না তাই এর জন্য আপনার একটি সরঞ্জাম প্রয়োজন। স্প্রাউটকোর সম্পর্কে আমি নিশ্চিত নই যে সেখানে এটির অনেক কিছুই রয়েছে বলে মনে হয়।

উপরে বর্ণিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কগুলির মধ্যে একটি প্রয়োগ করে যদি প্রয়োজনীয় জেএস-এর মতো সরঞ্জামগুলি এখনও দরকার?

এগুলি কেবলমাত্র যদি আপনি মডিউলার অ্যাপ্লিকেশনগুলি লিখতে লিখেন তবে এটি প্রয়োজন। তাই বেশ হ্যাঁ।

মডিউলার অ্যাপ্লিকেশনগুলির তিনটি স্বাদ রয়েছে

  • অ্যাসিঙ্কের জন্য প্রয়োজনীয় জেএসের মতো লোডার প্রয়োজন
  • সিঙ্কের জন্য মডুল 8 এর মতো লোডার দরকার
  • নেমস্পেস ব্যবহার করে এবং কেবল ফাইলগুলি সহ
  • এন্ডার মত প্যাকেজ

সংজ্ঞায়িত এবং তারপরে ক্ষমতাগুলি কি জ্যাকুয়ারীতে বেকড হয়েছে এখন উপরে উল্লিখিত এএমডি লোডারকে ছাড়িয়েছে?

না। জিকুয়ারিতে বেকড সংজ্ঞায়িত দক্ষতা আপনাকে এএমএডি লোডার দিয়ে জিকুয়েরি মোড়ানো ছাড়াই এটি ব্যবহার করতে দেয়। আপনার এখনও একটি এএমডি লোডার দরকার। "তারপরে" সক্ষমতা হ'ল জিকুয়ারি স্থগিতের কিছু চিনি।

কোনটি সবচেয়ে মডুলার বলে মনে হচ্ছে? (নীচের নোট দেখুন)

এটি একটি মতামতী প্রশ্ন। আমার ব্যক্তিগত মতামতটি হল যে jQuery সহ এই সমস্ত ফ্রেমওয়ার্কগুলি স্ফীতিযুক্ত এবং মডিউল নয়।

আপনি মডুলার চান, আপনার নিজের লাইব্রেরি লিখুন, নিজের আর্কিটেকচার লিখুন।

তবে আপনি যদি কম কুফল পেতে চান তবে আমি মেরুদণ্ড বেছে নেব কারণ এটি সহজ এবং ছোট বা মেরুদণ্ড যা একই রকম is


ধন্যবাদ রায়নোস ... একটি দুর্দান্ত উত্তরের জন্য আমি সর্বদা আপনার উপর নির্ভর করতে পারি!
বন্দী

@ মারজান আমি অন্য যে কেউ ইনপুট জমা দেওয়ার জন্য যত্ন নিতে পারে এর জন্য অপেক্ষা করছি।
বন্দী

@ প্রিসনারজারো: এ নিয়ে কোনও সমস্যা নেই। আপনি যেমন রায়নোসের উত্তরে সন্তুষ্ট বলে মনে হচ্ছিলেন, আমার মন্তব্য ঠিক তখনই হয়েছিল যদি আপনি উত্তর গ্রহণের বিষয়ে জানেন না (আমি আপনার প্রোফাইল চেক করিনি এবং আপনার প্রতিবেদনে
বোঝানো

2

আমি জাভাস্ক্রিপ্ট এমভিসি-তে উত্তর দেব কারণ আমি একজন সহযোগী:

উপরে উল্লিখিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কগুলির সাথে জিক্যুরি কোথায় ফিট?

জাভাস্ক্রিপ্টএমভিসি jQuery উপর নির্ভর করে এবং এটি ব্যাপকভাবে ব্যবহার করে।

জিকুয়ারি কি পাশাপাশি ব্যবহার করা হয় বা তাদের কারও কারও নিজস্ব 'জ্যাকুয়ারি-স্টাইলযুক্ত সংস্করণ' বেকড-ইন আছে?

জাভাস্ক্রিপ্টএমভিসির jQuery এর সাথে প্রতিযোগিতামূলক কার্যকারিতা নেই। এটি ব্যাকবোনটির মতো সত্য নয় যেটির নিজস্ব ইভেন্ট সিস্টেম রয়েছে। তবে, ব্যাকবোন বা মেরুদণ্ড যুক্ত কিছু খুব কম সংখ্যক।

উপরে বর্ণিত বিভিন্ন কন্ট্রোলার-ফ্রেমওয়ার্কগুলির মধ্যে একটি প্রয়োগ করে যদি প্রয়োজনীয় জেএস-এর মতো সরঞ্জামগুলি এখনও দরকার?

জাভাস্ক্রিপ্টএমভিসি একটি নির্ভরতা পরিচালন ব্যবস্থা -> চুরি নিয়ে আসে। আপনি জাভা স্ক্রিপ্ট এমভিসিটি প্রয়োজনীয় জেএস এর সাথে ব্যবহার করতে পারেন, তবে চুরিটি আসলে অনেক বেশি শক্তিশালী এবং সমান সমান আকার ব্যবহারকারী দ্বারা ডাউনলোড করা হয়।

কোনটি সবচেয়ে মডুলার বলে মনে হচ্ছে? (নীচের নোট দেখুন)

এটি মতামতযুক্ত নয়। জাভাস্ক্রিপ্ট এমভিসি চূড়ান্ত মডুলার। আপনি যা প্রয়োজন কেবল তা ব্যবহার করুন। ব্যাকবোন বা মেরুদণ্ডের তুলনায় আপনি এটি এম, ভি বা সি অংশগুলি স্ট্যান্ডেলোন ব্যবহার করতে পারেন। যখন একত্রে একত্রিত হন, তখন এটি ব্যাকবোন (জিকুয়েরি এবং ইন্ডোরস্কোর ব্যবহার করার সময়) থেকে মাত্র 1 কে বড়। আপনি এখানে বেস আকারের বিভিন্ন আকারের দেখতে পারেন: https://github.com/jupiterjs/javascriptmvc/issues/26

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

$.Controller('Tooltip',{
  "{window} click" : function(){
    this.element.remove();
  }
})

আপনার নিয়ন্ত্রণগুলি যেমন মডেলটির পরিবর্তনগুলি শুনছে যখন এটি এমভিসি পদ্ধতির সাথে একেবারে সমালোচনা করে:

$.Controller('Todos',{
  "{Todo} created" : function(Todo, ev, createdTodo){

  }
})

কন্ট্রোলার এই সমস্ত বাহ্যিক ইভেন্ট হ্যান্ডলারদের স্ব-আবদ্ধ করবে।

কেবলমাত্র এমভিসি অংশগুলির কয়েকটি অন্যান্য শক্তি:

  • ক্লাস একটি খুব শক্তিশালী শ্রেণীর ব্যবস্থা
  • $ .ভিউ এবং $ .মোডেল ডিফার্ডগুলিকে সমর্থন করে
  • $ .কন্ট্রোলার ইভেন্ট হ্যান্ডলারগুলিকে 'রিবাইন্ড' করতে পারে
  • $ .মডেল সমিতি, গেটর / সেটার, ডিফল্ট, বৈধতাগুলিকে সমর্থন করে

এখন, জাভাস্ক্রিপ্ট এমভিসি তার এমভিসি অংশগুলি (যা jQueryMX সাব-প্রকল্পের অংশ) এর চেয়ে অনেক বেশি। ইহা ছিল:

  • jQueryMX - jQuery এর অনুপস্থিত কার্যকারিতা যেমন বিশেষ ইভেন্টস, ডোম সহায়ক, ইত্যাদি
  • চুরি - একটি নির্ভরতা পরিচালন ব্যবস্থা। তবে এটি একটি এজাক্স অ্যাপ গ্রহণ এবং এটি গুগলকে ক্রলযোগ্য করে তোলার মতো জিনিসগুলি করতে পারে।
  • ফানকুনিট - একটি দুর্দান্তভাবে শক্তিশালী পরীক্ষার কাঠামো।

এখন, কী ব্যবহার করবেন, তার উপর অনেক কিছু নির্ভর করে। আপনি "অ্যাপ" বা একটি "পৃষ্ঠা" তৈরি করছেন কিনা তা অনেকটাই নির্ভর করে। এমন একটি অ্যাপ্লিকেশন, যার টেস্টিং, নির্ভরতা পরিচালনা দরকার, যেখানে আপনি মেমরি ফাঁসের বিষয়ে চিন্তা করেন, আমি জেএমভিসি বা স্প্রাউটকোরের দিকে নজর দেব।

আপনি যদি কয়েকটি বেসিক উইজেটগুলি একসাথে আঠালো করেন তবে আমি মেরুদণ্ড বা ব্যাকবোনটি দেখব।


"মেরুদণ্ড বা মেরুদণ্ড, আপনি এটি এম, ভি, বা সি অংশগুলি স্ট্যান্ড স্টোন ব্যবহার করতে পারেন।" এম, ভি এবং সি এর প্রতিটি বাদে মেরুদণ্ড এবং মেরুদণ্ডের মতোই বড়।
রায়নস

এটা সত্যি না. আন্ডারস্কোর নির্ভরতা সহ ব্যাকবোনটি 5 কে। মেরুদণ্ড কী তা আমি নিশ্চিত নই। তবে এখানে ব্রেকডাউন: শ্রেণি: 1 কে, নিয়ামক: 1.74 কে, মডেল: 2.8 কে, $। দেখুন: 1.6 কে, ring। স্ট্রিং: .5 কে। সম্মিলিত মোট 8.6k এর জন্য। এটি 3k বেশি, তবে আরও অনেক দরকারী বৈশিষ্ট্য।
জাস্টিন মেয়ার 12

আপনি কি কেন্দো ইউআই নিয়ন্ত্রণের মতো জাভাস্ক্রিপ্ট এমভিসি ব্যবহার করবেন? অন্য কি নিয়ন্ত্রণ?
কয়েদি জিরো

হ্যাঁ, যে কোনও jQuery- ভিত্তিক ইউআই লাইব্রেরির দুর্দান্ত কাজ করা উচিত (যতক্ষণ না এটি ইভেন্টগুলির জন্য jQuery এর ইভেন্ট সিস্টেম ব্যবহার করে)।
জাস্টিন মেয়ার

আমার নোট করা উচিত যে ব্যাকবোন jQuery এর পরিবর্তে Zepato ব্যবহার করতে পারে, এটি jQuery এর সাথে সম্মিলিত JMVC MVC নির্ভরতার তুলনায় অনেক কম করে। তবে, আপনি jQuery ছাড়াই বেশ কিছুটা হারাবেন।
জাস্টিন মেয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.