ফেসবুকের প্রতিক্রিয়া বনাম ওয়েব উপাদান (পলিমার) এর প্রো এবং কনস


521

ফেসবুকের প্রতিক্রিয়ার আসল ওয়েব উপাদানগুলির বৈশিষ্ট্যগুলি এবং এর বিপরীতে (বা সম্ভবত আরও বেশি অ্যাপল-আপেল থেকে গুগলের পলিমার গ্রন্থাগারের সাথে তুলনা করা হবে ) এর প্রধান সুবিধাগুলি কী ?

মতে এই JSConf ইইউ আলাপ এবং হোমপেজে প্রতিক্রিয়া দেখায়, প্রতিক্রিয়া প্রধান সুবিধা হল:

  • একটি উপাদান মডেল ব্যবহার করে ডিকপলিং এবং বর্ধিত সংহতি
  • বিমূর্ততা, রচনা এবং এক্সপ্রেসিভিটি
  • ভার্চুয়াল ডিওএম এবং সিন্থেটিক ইভেন্টগুলি (যার মূলত তারা ডিওএম এবং এর ইভেন্ট সিস্টেমটি পুরোপুরি পুনরায় প্রয়োগ করেছে)
    • IE 8 এ আধুনিক এইচটিএমএল 5 ইভেন্ট স্টাফ সক্ষম করে
    • সার্ভার-সাইড রেন্ডারিং
    • Testability
    • এসভিজি, ভিএমএল এবং <canvas>

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

এখানে আমার মনে হয় যে প্রতিক্রিয়াটি অনুপস্থিত রয়েছে এমন কিছু জিনিস যা ওয়েব উপাদানগুলি আপনার জন্য যত্ন নেবে। আমি ভুল হলে শুধরে.

  • নেটিভ ব্রাউজার সমর্থন ("দ্রুত হওয়ার গ্যারান্টিযুক্ত" পড়ুন)
  • স্ক্রিপ্টিং ভাষায় স্ক্রিপ্ট লিখুন, স্টাইলিং ভাষায় স্টাইল লিখুন, মার্কআপ ভাষায় মার্কআপ লিখুন।
  • শ্যাডো ডিওএম ব্যবহার করে স্টাইল এনক্যাপসুলেশন
    • প্রতিক্রিয়া পরিবর্তে রয়েছে এই যা JavaScript মধ্যে সিএসএস লেখা প্রয়োজন। সুন্দর না.
  • দ্বিমুখী বাঁধাই

12
Wrt। দুটি উপায় বাঁধাই এই বৈশিষ্ট্যটি স্কেল সমস্যাযুক্ত। তুচ্ছ ঘটনাগুলিতে এটি ভালভাবে কাজ করে তবে বাস্তব-জগতের ক্ষেত্রে আপনি সাধারণত দেখতে পান যে কোডটি পরিচালনাযোগ্য রাখার জন্য আপনাকে আসল মডেলের বিরুদ্ধে বাঁধাইয়ের পরিবর্তে একটি ভিউমোডেল প্রয়োজন, যা দ্বিপথের বাইন্ডিংকে তুলনায় কম কম কার্যকর করে তোলে makes এটা প্রথম দিকে মনে হয়েছিল। আমি মনে করি এটি প্রতিক্রিয়াটির একটি সুবিধা হতে পারে যে এটি দ্বিমুখী বাইন্ডিং সরবরাহ করে না কারণ এটি যথাযথ ডেটা প্রবাহ আর্কিটেকচারকে বাধ্য করে।
জোয়েরি সেব্রেচটস

8
আমি রিএ্যাক্ট, অ্যাঙ্গুলার এবং নকআউট দেখেছি। ইউআই টেম্প্লেটিং, ডেটা এবং বাইন্ডিংয়ের বিভাজনের ক্ষেত্রে আমি নকআউটকে 'ক্লিনস্ট' খুঁজে পাই। আমি প্রতিক্রিয়াটি পছন্দ করতে চেয়েছিলাম, তবে একটি সাধারণ কম্বোবক্স তৈরি করার চেষ্টা করছি, আমি বুঝতে পেরেছিলাম যে আমি আরও কিছু কোড লিখছি এবং এইচটিএমএল টেম্প্লেটিংয়ের সাথে রেন্ডারিং লজিকের মিশ্রণ করছি..এইচটিএমএল / জিনা 2 এর মতো কিছু ব্যবহার করে আমি তার চেয়ে অনেক বেশি কাজ করব। আমার কাছে মনে হয় এই গ্রন্থাগারগুলি / এপিসগুলি আমাদের পিছনে এগিয়ে চলেছে, এগিয়ে নয়। প্রতিক্রিয়া সম্পর্কে সর্বোত্তম জিনিস হ'ল ভার্চুয়াল ডোম ম্যানিপুলেশন, তবে আমি দেখতে পাচ্ছি যে অন্যান্য প্রতিষ্ঠিত ফ্রেমওয়ার্কগুলিতে খুব শীঘ্রই আসা।
মাইক01010

41
আমি খুব অবাক (এবং সন্তুষ্টও!) যে এই প্রশ্নটি "প্রাথমিকভাবে মতামত ভিত্তিক" হিসাবে বন্ধ হয়ে যায়নি।
আইকনোক্লাস্ট

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

3
এই মুহুর্তে প্রতিক্রিয়া উপাদানগুলি (খারাপভাবে লেখা না থাকলে) যে কোনও ডিওএম-আবদ্ধ কাঠামোর ক্ষেত্রে একইর চেয়ে দ্রুত হবে। ভি-ডোম এবং ডিফ-ইন ম্যাজিক হ'ল প্রতিক্রিয়াটির ইউএসপি। আমার বক্তব্যটি হ'ল - ব্রাউজারগুলি কেন তাদের স্থানীয় বৈশিষ্ট্যটিতে এমনটি আলাদা করে না? কি তাদের থামায়, এবং যদি কিছুই না (তাদের থামায়) তবে প্রতিক্রিয়াটির সীসা সম্ভবত স্বল্পস্থায়ী হতে চলেছে।
ফাস্টট্রেইনফেসটস

উত্তর:


664

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

আপনার বেশিরভাগ উদ্বেগ সত্যই মতামত এবং ব্যক্তিগত পছন্দের বিষয় তবে আমি যথাসম্ভব উদ্দেশ্যমূলকভাবে উত্তর দেওয়ার চেষ্টা করব:

নেটিভ বনাম সংকলিত

ভ্যানিলা জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট লিখুন, সিএসএসে সিএসএস লিখুন, এইচটিএমএল লিখুন।

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

এদিকে, আজ যারা এইচটিএমএল লিখতে অনেক আছে Haml বা জেড মধ্যে, সিএসএস Sass বা কম এবং জাভাস্ক্রিপ্ট CoffeeScript বা টাইপ করা বিষয় । এটা ওইখানে. এটা কাজ করে। কিছু লোক এটিকে পছন্দ করে, কেউ তা পছন্দ করে না।

বিন্দুতে মৌলিকভাবে ভুল নেই যে আছে না ভ্যানিলা জাভাস্ক্রিপ্ট, সিএসএস এবং HTML HTML এ সিএসএস জাভাস্ক্রিপ্ট লেখা। এটি সত্যিই পছন্দের বিষয়।

অভ্যন্তরীণ বনাম বাহ্যিক ডিএসএল

 এর পরিবর্তে শ্যাডো ডোম প্রতিক্রিয়া ব্যবহার করে স্টাইল এনক্যাপসুলেশনটির এটি রয়েছে, যার জন্য জাভাস্ক্রিপ্টে সিএসএস লেখার প্রয়োজন। সুন্দর না.

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

(দ্রষ্টব্য: আমি প্রতিক্রিয়াটির ইনলাইন শৈলীর কথা বলছিলাম যা মূল প্রশ্নে উল্লেখ করা হয়েছিল))

ডিএসএল এর প্রকার - ব্যাখ্যা

আপডেট: আমার উত্তরটি লেখার পরে কিছু সময় পড়া আমার মনে হয় এখানে আমার অর্থ কী তা বোঝানোর দরকার আছে। ডিএসএল একটি ডোমেন-নির্দিষ্ট ভাষা এবং এটি অভ্যন্তরীণ হতে পারে (জাভাস্ক্রিপ্টের মতো হোস্ট ভাষার সিনট্যাক্স ব্যবহার করে - উদাহরণস্বরূপ জেএসএক্স ছাড়াই প্রতিক্রিয়া দেখান বা উপরে উল্লিখিত প্রতিক্রিয়াতে ইনলাইন শৈলীর মতো) বা এটি বাহ্যিক হতে পারে (একটি ভিন্ন বাক্য গঠন ব্যবহার করে) হোস্ট ভাষার তুলনায় - উদাহরণস্বরূপ জাভাস্ক্রিপ্টের অভ্যন্তরে সিএসএস (একটি বাহ্যিক ডিএসএল) ইনলাইন করা হবে।

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

কিছু খারাপ করার জন্য কিছু প্রকল্পগুলি আরও বেশি বিভ্রান্তিকে মিশ্রণে প্রবর্তন করে। যেমন। ফ্ল্যাটিরনের টেম্পলেটগুলিকে "ডিএসএল-মুক্ত" হিসাবে বর্ণনা করা হয় যদিও বাস্তবে এটি সিন্ট্যাক্সের মতো কোনও অভ্যন্তরীণ ডিএসএলের কেবলমাত্র নিখুঁত উদাহরণ:map.where('href').is('/').insert('newurl');

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

এক:

/** @jsx React.DOM */
var colored = {
  color: myColor
};
React.renderComponent(<div style={colored}>Hello World!</div>, mountNode);

দুই:

// SASS:
.colored {
  color: $my-color;
}
// HTML:
<div class="colored">Hello World!</div>

প্রথম উদাহরণটিতে প্রশ্নটিতে যা বর্ণিত হয়েছে তা ব্যবহার করে: "জাভাস্ক্রিপ্টে সিএসএস লিখছি pretty সুন্দর নয়।" দ্বিতীয় উদাহরণটি সাস ব্যবহার করে। আমি সম্মত হয়েছি যে সিএসএস লিখতে জাভাস্ক্রিপ্ট ব্যবহার করা সুন্দর নাও হতে পারে ("বেশ কয়েকটি" সংজ্ঞায়নের জন্য) তবে এটি করার একটি সুবিধা রয়েছে।

আমার সাসে ভেরিয়েবল এবং ফাংশন থাকতে পারে তবে সেগুলি কি নমনীয়ভাবে স্কোপড বা গতিশীলভাবে বাদ দেওয়া যায়? সেগুলি কি স্থিতিশীল বা গতিশীল টাইপ করা আছে? শক্তভাবে নাকি দুর্বল? সংখ্যার প্রকার সম্পর্কে কী? টাইপ জাল? কোন মান সত্যবাদী এবং কোনটি মিথ্যা? আমার কি উচ্চতর অর্ডার ফাংশন থাকতে পারে? Recursion? লেজ কল? লেক্সিকাল ক্লোজার? এগুলি কি সাধারণ ক্রমে বা প্রয়োগমূলক ক্রমে মূল্যায়ন করা হয়? অলস বা আগ্রহী মূল্যায়ন আছে? মান দ্বারা বা রেফারেন্স দ্বারা ফাংশন যুক্তি যুক্ত হয়? তারা কি পরিবর্তনযোগ্য? অপরিবর্তনীয়? জেদি? বস্তুর কী হবে? ক্লাস? এগুলির নমুনা? উত্তরাধিকার?

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

এটি বলার অপেক্ষা রাখে না যে একটি উপায়ে বা অন্যটি সর্বদা ভাল but তবে প্রতিবার আপনি যখন অন্য ভাষার মিশ্রণের সাথে পরিচয় করিয়ে দেন তারপরে আপনি কিছু মূল্য দিতে পারেন যা প্রথম নজরে যেমন স্পষ্ট নাও হতে পারে, এবং এই দামটি জটিলতা is

আমি আশা করি আমি মূলত যা বোঝাতে চেয়েছিলাম তা স্পষ্ট করে বললাম।

ডেটা বাইন্ডিং

দ্বিমুখী বাঁধাই

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

আপডেট: পিট হান্টের আরও একটি আলোচনা দেখুন: অনুমানযোগ্য হতে হবে, সঠিক নয়: কার্যকরী ডিওএম প্রোগ্রামিং

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

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

আপডেট 4: এমবার.জেএস বর্তমানে দ্বি-মুখী ডেটা বাঁধাই থেকে দূরে চলেছে এবং ভবিষ্যতের সংস্করণগুলিতে এটি ডিফল্টভাবে একমুখী হবে। দেখুন: নভেম্বর 15, 2014 এ টরন্টোর আম্বারগার্টেন সিম্পোজিয়াম থেকে স্টিফেন পেনারের স্টিফান পেনার দ্বারা ভবিষ্যতের অ্যাম্বারের আলাপ।

আপডেট 5: এটিও দেখুন: রোড টু এম্বার ২.০ আরএফসি - টম ডেলের টান অনুরোধে আকর্ষণীয় আলোচনা :

"যখন আমরা আসল টেম্প্লেটিং স্তরটি ডিজাইন করলাম, তখন আমরা বুঝতে পেরেছিলাম যে সমস্ত ডেটা বাইন্ডিংগুলি দ্বি-উপায়ে তৈরি করা খুব ক্ষতিকারক নয়: আপনি যদি দ্বি-মুখী বাঁধাই সেট না করেন, তবে এটি একটি ডি-ফ্যাক্টো ওয়ান-ওয়ে বাইন্ডিং!

আমরা তখন থেকে উপলব্ধি করেছি (প্রতিক্রিয়াতে আমাদের বন্ধুদের কাছ থেকে কিছু সহায়তায়) যে উপাদানগুলি তাদের বাচ্চাদের ডেটার বাহিরের পরিবর্তনের জন্য সতর্ক না হয়ে তথ্য সরবরাহ করতে সক্ষম হতে চায়।

উপরন্তু, উপাদান মধ্যে যোগাযোগ প্রায়ই সবচেয়ে স্বাভাবিকভাবেই ইভেন্ট বা callbacks হিসেবে প্রকাশ করা হয় । এটি অ্যাম্বারে সম্ভব, তবে দ্বিমুখী ডেটা বাইন্ডিংয়ের আধিপত্য প্রায়শই লোককে যোগাযোগের চ্যানেল হিসাবে দ্বি-মুখী বাইন্ডিংগুলি ব্যবহার করার পথে নিয়ে যায় । অভিজ্ঞ জ্বলন্ত আগুন ডেভেলপারদের না (সাধারণত) এই ভুল করা, কিন্তু এটা করতে একটি সহজ এক। " [জোর যোগ]

নেটিভ বনাম ভিএম

নেটিভ ব্রাউজার সমর্থন ("দ্রুত হওয়ার গ্যারান্টিযুক্ত" পড়ুন)

এখন অবশেষে এমন কিছু যা মতের বিষয় নয়।

প্রকৃতপক্ষে এখানে এটি প্রায় অন্যান্য উপায় exactly অবশ্যই "নেটিভ" কোডটি সি ++ তে লেখা যেতে পারে তবে জাভাস্ক্রিপ্ট ইঞ্জিনগুলি কী লেখা আছে বলে আপনি মনে করেন?

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

লোকেরা যখন মনে করে যে জাভাস্ক্রিপ্টটি ধীর, তখন তাদের সাধারণত জাভা স্ক্রিপ্টের অর্থ ডিওএম অ্যাক্সেস করে। DOM ধীর। এটি নেটিভ, সি ++ তে লিখিত এবং তবুও এটি বাস্তবায়িত জটিলতার কারণে এটি নরকের মতো ধীর।

আপনার কনসোলটি খুলুন এবং লিখুন:

console.dir(document.createElement('div'));

এবং দেখুন divযে কোনও খালি উপাদান যা ডিওমের সাথে সংযুক্ত নয় সেগুলি কতগুলি সম্পত্তি প্রয়োগ করতে হয়। এগুলি কেবলমাত্র প্রথম স্তরের  বৈশিষ্ট্য যা "নিজস্ব সম্পত্তি" অর্থাৎ। প্রোটোটাইপ চেইন থেকে উত্তরাধিকার সূত্রে প্রাপ্ত নয়:

অন্লাইটিং, অনভলিউমচেঞ্জ, অনটাইমআপডেট, অনসপেন্ড, অনসেমিট, অনস্টলড, অনশো, অনসलेक्ट, অনসাইকিং, অনসেলক, অনস্ক্রোল, অনস্রাইজ, অনসেট, অনরাইজেশন, অনগ্রস, অনপ্লে, ওপ্লে, অনপস, ওনমাউস, অনমাউজ, অনমোস onmouseenter, onmousedown, onloadstart, onloadedmetadata, onloadeddata, onload, onkeyup, onkeypress, onkeydown, oninDP, oninput, onfocus, onerror, onend, onemptied, ondration परिवर्तन, onroid, ondragstart, ondragc, ongd oncd অনকেক্সটেমেনু, অনক্লোজ, অনক্লিক, অনঞ্চল, অনক্লেপ্লেথ্রু, অনক্লেপ্লে, অনক্যান্সেল, অনব্লুর, অনাবোর্ট, স্পেলচেক, আইস কনটেন্টেডেবল, কন্টেন্টএডেবল, আউটটারটেক্সট, ইনরটেক্সট, অ্যাক্সেসকি, লুকানো, ওয়েবকিট্রোপজোন, ড্রাগগ্যাক্ট, লিংক, শিথিল, শিশু শিরোনাম, শিশুফার্স্টএলমেন্টচিল্ড, বাচ্চারা, নেক্সটএলমেন্টসিলিং, পূর্ববর্তী এলিটসিলিং, ওনওয়েল, অন্বেকিটফ্লাসস্ক্রিনারি, অন্বেবকিটফ্লাসস্ক্রিনচ, ​​অন্বেষণকার্ট, অনসার্ক, অনপ্যাসট, অনকপ, স্ক্রিন, স্ক্রোল, স্ক্র্যাচ, HTML, ক্লাসহিট, HTML ক্লায়েন্টহাইট, ক্লায়েন্টউইথ, ক্লায়েন্টটপ, ক্লায়েন্ট লেফট, অফসেটপ্যারেন্ট, অফসেটহাইট, অফসেটউইথ, অফসেটপোপ, অফসেট লেফট, লোকালনেম, প্রিফিক্স, নেমস্পেসুরি, আইডি, স্টাইল, অ্যাট্রিবিউটস, ট্যাগনাম, প্যারেন্টিলেশন, টেক্সট কনটেন্ট, বেসুরি, ওপ্রেসক্লিং, পূর্ববর্তী শিশু প্যারেন্টনোড, নোডটাইপ, নোডভ্যালু, নোডনামঅনকপি, অনফরোপস্টে, অনফরোস্টকট, অনফরোস্টকপি, ওয়েবকিট শ্যাডরোট, ডাটাসেট, ক্লাসলিস্ট, ক্লাসনেম, আউটআর এইচটিএমএল, স্ক্রোলহাইট, স্ক্রোলউইথ, স্ক্রোলটপ, স্ক্রোলফিট, ক্লায়েন্টহাইট, ক্লায়েন্টউইট অফসেট, অফসেট অফসেট, অফসেট অফসেট, অফসেটসেট নেমস্পেসুরি, আইডি, শৈলী, বৈশিষ্ট্য, ট্যাগনাম, প্যারেন্টএলমেন্ট, টেক্সট কনটেন্ট, বেসুরি, মালিকের ডকুমেন্ট, নেক্সটসিলিং, পূর্ববর্তী শিবলিং, লাস্টচিল্ড, ফার্স্টচাইল্ড, চাইল্ডনডস, প্যারেন্টনোড, নোডটাইপ, নোডভ্যালুঅনকপি, অনফরোপস্টে, অনফরোস্টকট, অনফরোস্টকপি, ওয়েবকিট শ্যাডরোট, ডাটাসেট, ক্লাসলিস্ট, ক্লাসনেম, আউটআর এইচটিএমএল, স্ক্রোলহাইট, স্ক্রোলউইথ, স্ক্রোলটপ, স্ক্রোলফিট, ক্লায়েন্টহাইট, ক্লায়েন্টউইট অফসেট, অফসেট অফসেট, অফসেট অফসেট, অফসেটসেট নেমস্পেসুরি, আইডি, শৈলী, বৈশিষ্ট্য, ট্যাগনাম, প্যারেন্টএলমেন্ট, টেক্সট কনটেন্ট, বেসুরি, মালিকের ডকুমেন্ট, নেক্সটসিলিং, পূর্ববর্তী শিবলিং, লাস্টচিল্ড, ফার্স্টচাইল্ড, চাইল্ডনডস, প্যারেন্টনোড, নোডটাইপ, নোডভ্যালুপ্যারেন্টএলমেন্ট, টেক্সট কনটেন্ট, বেসুরি, মালিকডোকমেন্ট, নেক্সটসিলিং, পূর্ববর্তী শিবলিং, লাস্টচাইল্ড, ফার্স্টচিল্ড, চাইল্ডনোডস, প্যারেন্টনোড, নোডটাইপ, নোডভ্যালু, নোডনামপ্যারেন্টএলমেন্ট, টেক্সট কনটেন্ট, বেসুরি, মালিকডোকমেন্ট, নেক্সটসিলিং, পূর্ববর্তী শিবলিং, লাস্টচাইল্ড, ফার্স্টচিল্ড, চাইল্ডনোডস, প্যারেন্টনোড, নোডটাইপ, নোডভ্যালু, নোডনাম

তাদের মধ্যে অনেকগুলি আসলে নেস্টেড অবজেক্টস - divআপনার ব্রাউজারে খালি নেটিভির দ্বিতীয় স্তরের (নিজস্ব) বৈশিষ্ট্যগুলি দেখতে, এই ঝাঁকুনিটি দেখুন

আমি গুরুত্ব সহকারে বলতে চাই, প্রতিটি একক ডিভ নোডে অনভলিউমচেঞ্জ সম্পত্তি? এটা কি ভুল? না, এটা শুধু একটা উত্তরাধিকার করে DOM শ্রেনী 0 ঐতিহ্যগত ঘটনা মডেল ইভেন্ট হ্যান্ডলার এক সংস্করণ "যে আবশ্যক সমর্থিত হতে সব HTML উপাদানগুলি দ্বারা উভয় বিষয়বস্তু বৈশিষ্ট্যাবলী এবং IDL বৈশিষ্ট্যাবলী" এ [জোর যোগ] অনুচ্ছেদ 6.1.6.2 এইচটিএমএল বৈশিষ্ট ডাব্লু 3 সি দ্বারা - এটির কাছাকাছি কোনও উপায় নেই।

এদিকে, এগুলি divপ্রতিক্রিয়াতে একটি জাল-ডোমের প্রথম স্তরের বৈশিষ্ট্য :

প্রপস, _ মালিক, _লাইফাইকাইলস্টেট, _পেন্ডিংপপস, _পেন্ডিংক্যালব্যাকস, _পেন্ডিংউইনার

বেশ পার্থক্য, তাই না? বাস্তবে এটি JSON ( লাইভ ডেমো ) - এ সিরিয়ালযুক্ত পুরো অবজেক্ট , কারণ হেই আপনি আসলে  এটি JSON এ সিরিয়ালায়িত করতে পারেন কারণ এতে কোনও বৃত্তাকার উল্লেখ নেই - নেটিভ ডোমের জগতের কল্পনাতীত কিছু ( যেখানে এটি কেবল একটি ব্যতিক্রম ছুঁড়ে ফেলবে) ):

{
  "props": {},
  "_owner": null,
  "_lifeCycleState": "UNMOUNTED",
  "_pendingProps": null,
  "_pendingCallbacks": null,
  "_pendingOwner": null
}

নেটিভ ব্রাউজার ডিওমের চেয়ে প্রতিক্রিয়া দ্রুততর হওয়ার মূল কারণ এটি - কারণ এই জগাখিচুড়ি বাস্তবায়ন করতে হবে না ।

দ্রুত কী তা দেখতে স্টিভেন লুশারের এই উপস্থাপনাটি দেখুন : সি ++ তে লিখিত নেটিভ ডিওএম বা জাভাস্ক্রিপ্টে সম্পূর্ণ লিখিত একটি নকল ডিওএম। এটি একটি খুব সুষ্ঠু এবং বিনোদনমূলক উপস্থাপনা।

আপডেট: ভবিষ্যতের সংস্করণগুলিতে অ্যাম্বার.জেস পারফোলেন্স উন্নত করতে ভার্চুয়াল ডিওএমকে ভারী ভারপ্রাপ্ত ব্যবহার করবে inspired দেখুন: নভেম্বর 15, 2014 এ টরন্টোর আম্বারগার্টেন সিম্পোজিয়াম থেকে স্টিফেন পেনারের স্টিফান পেনার দ্বারা ভবিষ্যতের অ্যাম্বারের আলাপ।

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

হালনাগাদ

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

আপডেট 2

নেই টড পার্কার দ্বারা একটি আকর্ষণীয় তুলনা ব্যবহার WebPagetest কর্মক্ষমতা তুলনা করতে TodoMVC কৌণিক, দাঁড়া লেখা উদাহরণ, জ্বলন্ত আগুন, পলিমার, CanJS, Yui, নকআউট, প্রতিক্রিয়া এবং জুতার ফিতা। এটি এ পর্যন্ত সর্বাধিক উদ্দেশ্যমূলক তুলনা seen এখানে যা তাৎপর্যপূর্ণ তা হ'ল যে সমস্ত সম্পর্কিত উদাহরণগুলি সেই সমস্ত ফ্রেমওয়ার্কের বিশেষজ্ঞরা লিখেছিলেন, সেগুলি সমস্তই গিটহাব-এ পাওয়া যায় এবং যে কেউ মনে করেন যে কোডটি দ্রুত চালাতে কিছুটা অনুকূলিত হতে পারে।

আপডেট 3

ভবিষ্যতের সংস্করণগুলিতে এমবার.জেজে রিঅ্যাক্টের বেশ কয়েকটি বৈশিষ্ট্য অন্তর্ভুক্ত থাকবে যা এখানে আলোচনা করা হয়েছে (একটি ভার্চুয়াল ডিওএম এবং ডাইরেক্টরিয়াল ডেটা বন্ডিং সহ কয়েকটি নাম উল্লেখ করে) যার অর্থ যে প্রতিক্রিয়াটির উত্সটি এসেছে তা ইতিমধ্যে অন্যান্য ফ্রেমওয়ার্কে স্থানান্তরিত হয়েছে। দেখুন: দ্য রোড টু এম্বার ২.০ আরএফসি - টম ডেলের টান অনুরোধের মধ্যে আকর্ষণীয় আলোচনা (শুরু করার তারিখ: ২০১৪-১২-০৩): "এম্বার ২.০-তে আমরা একটি" ভার্চুয়াল ডিওএম "এবং ডেটা ফ্লো মডেল গ্রহণ করব যা গ্রাহকরা প্রতিক্রিয়া থেকে সেরা ধারণা এবং উপাদানগুলির মধ্যে যোগাযোগকে সহজতর করে। "

পাশাপাশি, Angular.js 2.0 এখানে আলোচিত অনেকগুলি ধারণা বাস্তবায়ন করছে।

আপডেট 4

ইগওয়ে কালুর এই মন্তব্যের জবাব দিতে আমাকে কয়েকটি বিষয়ে বিস্তারিত বলতে হবে:

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

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

কিন্তু এই মন্তব্য একটি আকর্ষণীয় ইস্যু স্পর্শ। এক অর্থে এটি সত্য যে কোনও কারণেই আপনার কোনও কাঠামো (প্রতিক্রিয়া, কৌণিক বা jQuery) দরকার নেই (যেমন পারফরম্যান্স, বহনযোগ্যতা, বৈশিষ্ট্য) কারণ আপনি সর্বদা ফ্রেমওয়ার্কটি আপনার জন্য যা কাজ করে তা পুনরায় তৈরি করতে পারেন এবং চক্রটি পুনরায় উদ্ভাবন করতে পারেন - যদি আপনি ব্যয়টিকে ন্যায়সঙ্গত করতে পারেন, এটি।

- কিন্তু ডেভ স্মিথ চমত্কারভাবে এটা রাখা যেমন কিভাবে পয়েন্ট মিস যখন ওয়েব ফ্রেমওয়ার্ক কর্মক্ষমতা তুলনা : "যখন দুই ওয়েব অবকাঠামো তুলনা প্রশ্ন না হয় করতে আমার অ্যাপ্লিকেশানের দ্রুত ফ্রেমওয়ার্ক এক্স সঙ্গে প্রশ্ন হল হবে আমার অ্যাপ্লিকেশানের ফ্রেমওয়ার্ক সঙ্গে দ্রুত এক্স."

ইন আমার 2011 উত্তর: কি কিছু গবেষণামূলক প্রযুক্তিগত কারণের jQuery ব্যবহার করতে হয় না আমি একটি অনুরূপ সমস্যা ব্যাখ্যা, এটা অসম্ভব jQuery মত একটি লাইব্রেরি ছাড়া পোর্টেবল করে DOM-ম্যানিপুলেশন কোড লিখতে হয় না, কিন্তু মানুষ খুব কমই তা করতে পারে।

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

আপডেট 5

প্রতিক্রিয়া + পারফরম্যান্স =? জুলাই ২০১৫ থেকে পল লুইসের লেখা নিবন্ধে একটি উদাহরণ দেখানো হয়েছে যেখানে ফ্লিকারের ছবিগুলির একটি অসীম তালিকার জন্য হাতে লেখা ভ্যানিলা জাভাস্ক্রিপ্টের চেয়ে প্রতিক্রিয়া ধীর গতির, যা মোবাইলে বিশেষত তাৎপর্যপূর্ণ। এই উদাহরণটি দেখায় যে প্রত্যেককে নির্দিষ্ট ব্যবহারের ক্ষেত্রে এবং নির্দিষ্ট লক্ষ্য প্ল্যাটফর্ম এবং ডিভাইসের জন্য সর্বদা পারফরম্যান্স পরীক্ষা করা উচিত।

কেভিন লোজান্দিয়ারকে এটি আমার নজরে আনার জন্য ধন্যবাদ ।


75
এটাই আমি একটি বিস্তৃত উত্তর বলি, ধন্যবাদ!
ডেমউঞ্জ

14
দেখে মনে হচ্ছে অ্যাটম প্রতিক্রিয়া থেকে সরে যাচ্ছে। Github.com/atom/atom/issues/3677 দেখুন ।
জুহো ভেস্পসালিনেন

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

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

5
tl; যাইহোক পড়ুন - উজ্জ্বল, বিস্তারিত উত্তর!
কে কে কোয়ানকে

16

পলিমার দুর্দান্ত। প্রতিক্রিয়া দুর্দান্ত। এগুলো এক জিনিস না.

পলিমার পিছনে সামঞ্জস্যপূর্ণ ওয়েব উপাদান তৈরির জন্য একটি গ্রন্থাগার

প্রতিক্রিয়া এমভিসি মধ্যে ভি। এটি ভিউ, আর কিছুই নয়। কমপক্ষে নিজে থেকে না।

প্রতিক্রিয়া একটি কাঠামো নয়।

প্রতিক্রিয়া + ফ্লাক্স + নোড + (গুল্প বা গ্রান্ট) একটি কাঠামোর সাথে তুলনামূলক আরও বেশি, তবে এইগুলির মধ্যে 3 টি একেবারে প্রতিক্রিয়াযুক্ত নয়।

এমন অনেক প্রযুক্তি, নিদর্শন এবং আর্কিটেকচারাল শৈলী রয়েছে যা বিকাশকারীরা অনুসরণ করে প্রতিক্রিয়া দেখায়, তবে প্রতিক্রিয়া নিজেই কোনও কাঠামো নয়।

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

তারা উভয়ই আপনাকে ওয়েব উপাদানগুলি সংজ্ঞায়িত করতে দেয় তবে বিভিন্ন উপায়ে। এর বাইরে তারা খুব আলাদা সরঞ্জাম।


এম এবং ভি, উভয়ই প্রতিক্রিয়া নয়, কেবল ভী নয়, যেহেতু এটি তথ্য স্থিতি রাখে এবং আপডেট করে এবং উপাদানগুলির মাধ্যমে এইচটিএমএলের টুকরো রেন্ডার করে?
অ্যাবেলিটো

1
ফ্লাক্স বা রিডুএক্সের মতো প্রতিক্রিয়ার স্টেট ম্যানেজমেন্ট লাইব্রেরি রয়েছে তবে এগুলি প্রতিক্রিয়াযুক্ত নয়।
রোবোটুশি

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

15

প্রতিক্রিয়া জানাতে ছেলেদের প্রতিক্রিয়া এবং ওয়েব উপাদানগুলির মধ্যে তুলনা সম্পর্কে বেশ ভাল ব্যাখ্যা রয়েছে:

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


14

বিশেষভাবে এক দফায় অন্য উত্তর:

ভ্যানিলা জাভাস্ক্রিপ্ট জাভাস্ক্রিপ্ট লিখুন, সিএসএসে সিএসএস লিখুন, এইচটিএমএল লিখুন।

জাভাস্ক্রিপ্ট লিখতে বাধা দিতে কিছুই আপনাকে বাধা দেয় না, বলুন, কফিস্ক্রিপ্ট, টাইপস্ক্রিপ্ট, ক্লোজার স্ক্রিপ্ট বা অন্য কিছু। এটি নিখুঁতভাবে পছন্দের বিষয়।

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

সিএসএসের জন্য, যদি আপনার সিএসএস স্থিতিশীল হয় তবে আপনি এটিকে যথারীতি লেখেন। এটি যদি কিছু রানটাইম মানের উপর ভিত্তি করে গতিশীল হওয়ার প্রয়োজন হয় তবে এটি HTML হিসাবে একই গল্প: ডায়ামিক করার জন্য জাভাস্ক্রিপ্ট হ'ল সর্বোত্তম উপায়।


1
আমি উত্তরটির প্রশংসা করি, তবে এটি আসলে আমার বক্তব্য ছিল না। আশা করি আমার সম্পাদনাগুলি প্রশ্নটি কিছুটা পরিষ্কার করে দিয়েছে?
CletusW

1
দুঃখিত এটা না। আপনি নিজের স্টাইলটি কোনও পৃথক ফাইলে কোনও স্টাইলের ভাষায় লিখতে পারেন। এবং প্রতিক্রিয়াটির জেএসএক্স এটিকে দেখে মনে হচ্ছে আপনি মার্কআপ ভাষা ব্যবহার করছেন।
ডিজেবিজেড

3
"জাভাস্ক্রিপ্ট হ'ল [সিএসএস] কে গতিশীল করার সেরা উপায়" - কেবল এটি বলছেন যে এটি আসলে কেন তা ব্যাখ্যা করে না।
পাইলাউ

1
ওয়েল, যদি স্টাইল / ক্লাসগুলির ব্যবহারকারীর ইনপুট বা ব্যবসায়ের বিধি অনুসারে পরিবর্তন করতে হয় তবে সেগুলি পরিবর্তন করতে জাভাস্ক্রিপ্ট ব্যবহার করুন। ভ্যানিলা জেএসে, আপনি কোনও ডিওএম নোডের ক্লাসলিস্ট বা শৈলীর বৈশিষ্ট্যগুলি পরিচালনা করতে পারবেন। প্রতিক্রিয়া দ্বারা আপনি একই লক্ষ্যটি ভার্চুয়াল ডিওএম চালিত করতে পারেন। এটা কি পরিষ্কার?
ডিজেবজেড

2
প্রতিক্রিয়াটির মূল অবদানকারী ভিজিউস সম্প্রতি একটি আলোচনা করেছিলেন যেখানে এটি প্রতিক্রিয়া ব্যবহার করে "সিএসএস ইন জেএস" ধারণাটি ধাক্কা দেয়। আমি মনে করি এটি আকর্ষণীয়, আপনি এটি সম্পর্কে কী তা দেখতে রাজি হতে পারেন: blog.vjeux.com/2014/javascript/react-css-in-js-nationjs.html
ডিজেবজেড

6

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

পলিমার উদাহরণ থেকে স্নিপেট:

 <script>
   Polymer({
     counterChanged: function() {
       this.$.counterVal.classList.add('highlight');
     },
 ...

প্রতিক্রিয়াটির পুরো বিষয়টি হ'ল মিউটেশন যুক্তি বাদ দিয়ে জটিলতা হ্রাস করা। পরিবর্তে আপনি নির্বিঘে virtual


5
আপনি কোথায় উদাহরণটি পেয়েছেন তা নিশ্চিত নন, তবে পলিমার ক্লাসের নামগুলি সহ ডেটা বাইন্ডিংয়ের পক্ষে ম্যানুয়াল ডিওএম রূপান্তরকে নিরুৎসাহিত করে ।
CletusW

এটি পলিমার - প্রকল্পের প্রথম পৃষ্ঠায় "উপাদান তৈরি করুন" ট্যাব থেকে উদাহরণ ।
লিমস্কোডার

4
বাহ, আপনি ঠিক বলেছেন! আমার ধারণা তারা কেবল স্বয়ংক্রিয় নোড অনুসন্ধানের একটি উদাহরণ চেয়েছিল। যদিও এটি দেওয়া সবচেয়ে ভাল নয়।
CletusW

6

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

কর্মক্ষমতা

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

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

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

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

পারফরম্যান্সের জন্য আপডেট: আমি যে লাইব্রেরিগুলিতে কিছুক্ষণ পিছিয়ে পড়েছি তার মধ্যে একটি ডিওএম আপডেটগুলি পরিচালনা করার একটি ভাল কাজ বলে আমি মনে করি। এটি গুগলের বর্ধিত ডোম লাইব্রেরি, এবং আমি মনে করি যে এটি ডোমটি স্থানে কাজ করে এবং 'ভার্চুয়াল অনুলিপি তৈরি করতে হবে না' এটি অনেক কম পরিচ্ছন্ন পদ্ধতির সাথে অনেক কম মেমরির ওভারহেড। এখানে আরও দেখুন: http://google.github.io/incremental-dom/#about

অপরিহার্য উপাদান বনাম ঘোষণা

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

তবে আপনি এই উপাদানগুলি নিতে এবং তাদের প্রতিক্রিয়াটির বাইরে ব্যবহার করার সাথে সাথেই জিনিসগুলি অনেক মেসেঞ্জার হয়ে যায়। যেভাবে প্রতিক্রিয়া উপাদানগুলিকে ট্যাগগুলিতে তৈরি করা হয় তা ওয়েব মানগুলি যা সরবরাহ করে তা সম্পূর্ণরূপে বাইরের, প্রতিক্রিয়া ব্যতীত অন্য কিছুই আপনাকে কীভাবে এই উপাদানগুলি গ্রাস করার একটি ঘোষণামূলক উপায় দিতে পারে তা জানে না। যদি আমি হ্যান্ডলবারস টেম্পলেটগুলি ব্যবহার করে এমন একটি বিদ্যমান ব্যাকবোন ভিউতে প্রতিক্রিয়া উপাদানগুলি রাখতে চাই, আপনি আপনার টেমপ্লেটে একটি ডামি ডিভ একটি শ্রেণি বা আইডি দিয়ে রেন্ডার করতে পারেন যা আপনি হ্যান্ডেল হিসাবে ব্যবহার করতে পারেন, তারপরে সেই ডামি ডিভ এবং মাউন্টটির জন্য আবশ্যক জাভাস্ক্রিপ্ট লিখুন imp এটিতে আপনার উপাদান। সার্ভার-সাইড টেম্পলেটগুলি ব্যবহার করে এমন একটি এক্সপ্রেস.জেএস অ্যাপ্লিকেশন পেয়েছেন? আচ্ছা এটি একই গান এবং নাচ। একটি জেএসপি পৃষ্ঠা? আপনি হাসেন, কিন্তু এখনও তাদের ব্যবহার করছেন এমন অনেকগুলি অ্যাপ্লিকেশন রয়েছে। আপনি যদি কোনও বিদ্যমান কোড ছাড়াই কোনও প্রকারের শুরু না করেন তবে আপনি ' আবার অনেকগুলি অ্যাপ্লিকেশন জুড়ে আপনার প্রতিক্রিয়া উপাদানগুলি পুনরায় ব্যবহার করতে কিছু প্লাম্বিং লিখতে হবে। এদিকে, পলিমার ওয়েব উপাদান স্ট্যান্ডার্ডের মাধ্যমে উপাদানগুলি অর্জন করে এবং কাস্টম এলিমেন্ট স্পেস ব্যবহার করে পলিমার এমন উপাদানগুলি রচনা করতে সক্ষম হয়েছে যা ব্রাউজার কেবল স্থানীয়ভাবে কীভাবে গ্রাস করতে হয় তা জানে। আমি একটি জেএসপি পৃষ্ঠায় একটি পলিমার উপাদান রাখতে পারি, একটি এক্সপ্রেস.জেএস টেম্পলেট, একটি এএসপি.এনইটি ভিউ, একটি ব্যাকবোন ভিউ ... এমনকি প্রতিক্রিয়া উপাদানটির অভ্যন্তরেও। আক্ষরিকভাবে আপনি যে কোনও জায়গায় HTML ব্যবহার করতে পারেন, আপনি পলিমার উপাদানটি গ্রাস করতে পারেন। যে সমস্ত লোকেরা পুনঃব্যবহারের জন্য ইঞ্জিনিয়ারিং করছে তারা ওয়েব মানের দিকে সন্ধান করছে, কারণ মানক হ'ল চুক্তি যা একে অপরের সাথে সামঞ্জস্য করা সহজ করে তোলে। ইউটিউব পলিমারে আরও বেশি কিছু জিনিস লেখার ব্যবস্থা রাখে (উত্স: পলিমার ওয়েব উপাদানগুলির স্ট্যান্ডার্ডের মাধ্যমে উপাদানগুলি অর্জন করে এবং কাস্টম এলিমেন্ট স্পেস ব্যবহার করে পলিমার এমন উপাদানগুলি রচনা করতে সক্ষম হন যা ব্রাউজার কেবল স্থানীয়ভাবে কীভাবে গ্রাস করতে হয় তা জানে। আমি একটি জেএসপি পৃষ্ঠায় একটি পলিমার উপাদান রাখতে পারি, একটি এক্সপ্রেস.জেএস টেম্পলেট, একটি এএসপি.এনইটি ভিউ, একটি ব্যাকবোন ভিউ ... এমনকি প্রতিক্রিয়া উপাদানটির অভ্যন্তরেও। আক্ষরিকভাবে আপনি যে কোনও জায়গায় HTML ব্যবহার করতে পারেন, আপনি পলিমার উপাদানটি গ্রাস করতে পারেন। যে সমস্ত লোকেরা পুনঃব্যবহারের জন্য ইঞ্জিনিয়ারিং করছে তারা ওয়েব মানের দিকে সন্ধান করছে, কারণ মানক হ'ল চুক্তি যা একে অপরের সাথে সামঞ্জস্য করা সহজ করে তোলে। ইউটিউব পলিমারে আরও বেশি কিছু জিনিস লেখার ব্যবস্থা রাখে (উত্স: পলিমার ওয়েব উপাদানগুলির স্ট্যান্ডার্ডের মাধ্যমে উপাদানগুলি অর্জন করে এবং কাস্টম এলিমেন্ট স্পেস ব্যবহার করে পলিমার এমন উপাদানগুলি রচনা করতে সক্ষম হন যা ব্রাউজার কেবল স্থানীয়ভাবে কীভাবে গ্রাস করতে হয় তা জানে। আমি একটি জেএসপি পৃষ্ঠায় একটি পলিমার উপাদান রাখতে পারি, একটি এক্সপ্রেস.জেএস টেম্পলেট, একটি এএসপি.এনইটি ভিউ, একটি ব্যাকবোন ভিউ ... এমনকি প্রতিক্রিয়া উপাদানটির অভ্যন্তরেও। আক্ষরিকভাবে আপনি যে কোনও জায়গায় HTML ব্যবহার করতে পারেন, আপনি পলিমার উপাদানটি গ্রাস করতে পারেন। যে সমস্ত লোকেরা পুনঃব্যবহারের জন্য ইঞ্জিনিয়ারিং করছে তারা ওয়েব মানের দিকে সন্ধান করছে, কারণ মানক হ'ল চুক্তি যা একে অপরের সাথে সামঞ্জস্য করা সহজ করে তোলে। ইউটিউব পলিমারে আরও বেশি কিছু জিনিস লেখার ব্যবস্থা রাখে (উত্স: আমি একটি জেএসপি পৃষ্ঠায় একটি পলিমার উপাদান রাখতে পারি, একটি এক্সপ্রেস.জেএস টেম্পলেট, একটি এএসপি.এনইটি ভিউ, একটি ব্যাকবোন ভিউ ... এমনকি প্রতিক্রিয়া উপাদানটির অভ্যন্তরেও। আক্ষরিকভাবে আপনি যে কোনও জায়গায় HTML ব্যবহার করতে পারেন, আপনি পলিমার উপাদানটি গ্রাস করতে পারেন। যে সমস্ত লোকেরা পুনঃব্যবহারের জন্য ইঞ্জিনিয়ারিং করছে তারা ওয়েব মানের দিকে সন্ধান করছে, কারণ মানক হ'ল চুক্তি যা একে অপরের সাথে সামঞ্জস্য করা সহজ করে তোলে। ইউটিউব পলিমারে আরও বেশি কিছু জিনিস লেখার ব্যবস্থা রাখে (উত্স: আমি একটি জেএসপি পৃষ্ঠায় একটি পলিমার উপাদান রাখতে পারি, একটি এক্সপ্রেস.জেএস টেম্পলেট, একটি এএসপি.এনইটি ভিউ, একটি ব্যাকবোন ভিউ ... এমনকি প্রতিক্রিয়া উপাদানটির অভ্যন্তরেও। আক্ষরিকভাবে আপনি যে কোনও জায়গায় HTML ব্যবহার করতে পারেন, আপনি পলিমার উপাদানটি গ্রাস করতে পারেন। যে সমস্ত লোকেরা পুনঃব্যবহারের জন্য ইঞ্জিনিয়ারিং করছে তারা ওয়েব মানের দিকে তাকিয়ে থাকে, কারণ মানক হ'ল চুক্তি যা একে অপরের সাথে সামঞ্জস্য করা সহজ করে তোলে। ইউটিউব পলিমারে আরও বেশি কিছু জিনিস লেখার ব্যবস্থা রাখে (উত্স:http://react-etc.net/entry/youtube-is-being-rebuilt-on-web-compferences- and- polmer )) এবং আমি কেবলমাত্র পলিমারের স্ট্যান্ডার্ড-ভিত্তিক দিকটিই কল্পনা করতে পারি এর কারণ। ইউটিউব পৃষ্ঠার মাঝের ইউটিউব প্লেয়ারটিকে এমন উপাদান হিসাবে রূপান্তর করা যেতে পারে যা কোনও সামগ্রীর উত্স হিসাবে সম্পত্তি হিসাবে গ্রহণ করে এবং হঠাৎ যে কেউ ইউটিউব প্লেয়ারকে তাদের পৃষ্ঠায় এম্বেড করতে চায় তারা আক্ষরিকভাবে একই প্লেয়ার কোডটি ইউটিউব ব্যবহার করতে পারে , এবং তারা কেবল তাদের পৃষ্ঠায় কোনও ট্যাগ আটকে রেখে এটি করতে পারে।

সারাংশ

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

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