ফ্যালকার এবং গ্রাফকিউএল এর মধ্যে পার্থক্য কী?


163

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

- https://github.com/facebook/ographicql

ফ্যালকার আপনাকে ভার্চুয়াল জেএসএন গ্রাফের মাধ্যমে আপনার সমস্ত রিমোট ডেটা উত্সকে একক ডোমেন মডেল হিসাবে উপস্থাপন করতে দেয়। ক্লায়েন্টের মেমরিতে বা সার্ভারের নেটওয়ার্কের উপরে মেমরি থাকা হোক না কেন আপনি ডেটা যেখানেই থাকুক না কেন আপনি একইভাবে কোড করেন।

- http://netflix.github.io/falcor/

ফ্যালকার এবং গ্রাফকিউএল (রিলে প্রসঙ্গে) মধ্যে পার্থক্য কী?


5
এই পডকাস্টটি দেখুন যেখানে জাফর রিলে / গ্রাফকিউএল এবং ফ্যালকার / জেএসওন গ্রাফ youtu.be/WL54eYbTJUw?t=53m55s
gdi2290

উত্তর:


131

আমি দেখেছেন কৌণিক এয়ার পর্ব 26: FalcorJS এবং কৌণিক 2 যেখানে জাফর হুসেন উত্তর কিভাবে GraphQL তুলনা FalcorJS । এটি সংক্ষিপ্তসার (প্যারাফ্রেসিং):

  • ফ্যালকর্জেএস এবং গ্রাফকিউএল একই সমস্যাটি মোকাবেলা করছে (তথ্য অনুসন্ধান, ডেটা পরিচালনা)।
  • গুরুত্বপূর্ণ পার্থক্যটি হ'ল গ্রাফকিউএল একটি কোয়েরি ভাষা এবং ফ্যালকর্জেএস নয়।
  • যখন আপনি ফালকর্জেএসকে সংস্থানগুলির জন্য জিজ্ঞাসা করছেন, আপনি খুব স্পষ্টভাবে সীমাবদ্ধ মানের সীমাবদ্ধতার জন্য জিজ্ঞাসা করছেন। ফ্যালকর্জেএস রেঞ্জের মতো জিনিসগুলিকে সমর্থন করে, যেমন genres[0..10]। কিন্তু এটা যেমন সবিস্তার প্রশ্নের সমর্থন করে না, genres[0..*]
  • গ্রাফকিউএল ভিত্তিক সেট করা আছে: আমাকে সত্য যেখানে সত্য, যথাযথ ইত্যাদি রেকর্ড দিন give
  • গ্রাফকিউএল দিয়ে আপনার কাছে একটি শক্তিশালী কোয়েরি ভাষা রয়েছে তবে আপনাকে সার্ভারে সেই ক্যোয়ারী ভাষাটি ব্যাখ্যা করতে হবে।

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

গ্রাফকিউএলের সাথে যে শক্তি আসে তা জটিলতার চেয়েও অতিক্রম করে কি না, এ সম্পর্কে আলোচনা শেষ হয় ol


82

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

  • সম্ভবত সবচেয়ে বড় ব্যবহারিক পার্থক্য হ'ল গ্রাফকিউএল-এ এই মুহুর্ত পর্যন্ত বেশিরভাগ উদাহরণ এবং সম্ভবত কার্যকরী কাজগুলি তাদের ডেটা প্রয়োজনীয়তার সাথে রিঅ্যাকটিজেএস উইজেটগুলিকে একীকরণের জন্য ফেসবুকের সিস্টেম - রিলে - গ্রাহকের সাথে সংহত করার জন্য কেন্দ্রীভূত হয়েছে। অন্যদিকে ফ্যালকর্জেএস উইজেট সিস্টেম থেকে পৃথকভাবে কাজ করে থাকে যার অর্থ উভয়ই যে কোনও প্রতিক্রিয়াবিহীন / রিলে ক্লায়েন্টের সাথে সংহত করা আরও সহজ হতে পারে এবং উইজেটের সাথে ডেটা নির্ভরতার সাথে মেলে এমনটি স্বয়ংক্রিয়ভাবে আপনার পক্ষে কম করবে।
  • ফ্যালকর্জেএস-এর ফ্লিপ সাইডটি ক্লায়েন্ট সাইড ইন্টিগ্রেশনগুলিতে নমনীয় হ'ল এটি হ'ল সার্ভারকে কীভাবে কাজ করা দরকার তা সম্পর্কে খুব মতামত দেওয়া যেতে পারে। ফ্যালকর্জেএসের আসলে "এইচটিটিপি ওভার এইচটিটিপি-র উপরে কল করুন" সামর্থ্য রয়েছে - যদিও জাফর হোসেন এ সম্পর্কে খুব বেশি কথা বলে মনে হচ্ছে না - এবং একবার আপনি এটি অন্তর্ভুক্ত করলে ক্লায়েন্ট লাইব্রেরি সার্ভারের তথ্যে যেভাবে প্রতিক্রিয়া দেখায় তা ব্যতীত একই রকম হয় although গ্রাফকিউএল / রিলে কনফিগারেশনের একটি স্তর যুক্ত করে। ফ্যালকর্জেএস-এ, আপনি যদি সিনেমার জন্য কোনও মান ফিরিয়ে দিচ্ছেন তবে আপনার রিটার্নের মানটি ভালভাবে 'মুভি' বলবে, যেখানে গ্রাফকিউএলে আপনি বর্ণনা করতে পারেন যে ক্যোয়ারী 'ফিল্ম' ফেরত দিলেও, আপনি ক্লায়েন্ট সাইডের ডেটাস্তরে 'মুভি' হিসাবে যুক্ত করা উচিত '। - এটি পাওয়ার বনাম জটিলতা ট্রেড অফের একটি অংশ যা গজুস উল্লেখ করেছেন।
  • ব্যবহারিক ভিত্তিতে, গ্রাফকিউএল এবং রিলে আরও বিকাশিত বলে মনে হচ্ছে। জাফর হোসেইন উল্লেখ করেছেন যে নেটফ্লিক্স ফ্রন্ট্যান্ডের পরবর্তী সংস্করণটি কমপক্ষে ফ্যালকর্জেএস-তে চলবে যেখানে ফেসবুক দল উল্লেখ করেছে যে তারা গ্রাফকিউএল / রিলে স্ট্যাকের কিছু সংস্করণ ব্যবহার করে আসছে ৪ বছরেরও বেশি সময় ধরে।
  • গ্রাফকিউএল এবং রিলে চারপাশে ওপেন সোর্স বিকাশকারী সম্প্রদায়টি সমৃদ্ধ বলে মনে হচ্ছে। গ্রাফকিউএল এবং রিলে আশেপাশে প্রচুর পরিমাণে সজ্জিত সমর্থনকারী প্রকল্প রয়েছে যেখানে আমি ব্যক্তিগতভাবে ফ্যালকারজেএস-এর আশেপাশে খুব কম খুঁজে পেয়েছি। এছাড়াও রিলে ( https://github.com/facebook/relay/pulse ) এর বেস গিথুব সংগ্রহস্থলটি ফ্যালকর্জেএস ( https://github.com/netflix/falcor/pulse ) জন্য গিথুব সংগ্রহস্থলের চেয়ে উল্লেখযোগ্যভাবে সক্রিয় । আমি যখন প্রথম ফেসবুক রেপো টেনেছিলাম, উদাহরণগুলি নষ্ট হয়ে গেছে। আমি একটি গিথুব ইস্যু খুললাম এবং এটি কয়েক ঘন্টার মধ্যেই ঠিক হয়ে গেল। অন্যদিকে, আমি ফ্যালকর্জেএস-তে খোলা গিথুব ইস্যুটির দুই সপ্তাহের মধ্যে কোনও আনুষ্ঠানিক প্রতিক্রিয়া নেই।

1
গ্রাফকিউএল (2012) প্রায়শই প্রতিক্রিয়া এবং রিলে আগে ছিল, সুতরাং আপনার প্রথম পয়েন্টটি পুরোপুরি সঠিক নাও হতে পারে।
বুর্গী

তুমি ঠিক হতে পারো. আমি কোনও ফেসবুক নই, তাই আমি ইতিহাসের সাথে সত্যিই কথা বলতে পারি না। আমার মন্তব্য ফেসবুকের ডকুমেন্টেশন এবং আলোচনার বর্তমান অবস্থা থেকে আরও আসে। তাদের সংস্পর্শে ( ফেসবুক.github.io/react/blog/2015/02/20/… ) হিসাবে বিশ্বের সাথে পরিচয় করিয়ে দেওয়া হয়েছিল এবং উভয়ই বেশ কিছুটা পথ পিছিয়ে গেছে। 2015 সালের প্রথম দিকে দেওয়া মন্তব্যে রিলে 3 বছর পিছনে ফিরে যাওয়ার বিষয়ে আমি কিছু অস্পষ্ট হাতের কাজ দেখেছি যাতে সম্ভবত উভয়ই বাইরের বিশ্বের কাছে উপস্থাপনের আগে বেশ কয়েক বছর ধরে অভ্যন্তরীণভাবে বিকাশ লাভ করেছিল। তবে আমার অবশ্যই কোন বিশেষ জ্ঞান নেই।
ওভারক্লাকডটাইম

25

গ্রাফকিউএলের পিছনে একজন ইঞ্জিনিয়ার লি বায়রন হ্যাশনোডে একটি এএমএ করেছিলেন , এই প্রশ্ন জিজ্ঞাসা করা হলে তার উত্তর এখানে দেওয়া হয়েছে:

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

সম্পাদনা করুন: ফ্যালকার সত্যই অনুরোধগুলি ব্যাচ করতে পারে , যাতে নেটওয়ার্ক ব্যবহার সম্পর্কে মন্তব্যটি ভুল হয়। @ প্রজেওআরকে ধন্যবাদ


4
সত্য -> "" "ফ্যালাকর, অতিরিক্ত ডেটা সংগ্রহ করার জন্য প্রায়শই একাধিক রাউন্ড ট্রিপ করে forms এটি সিস্টেমের সরলতা এবং নেটওয়ার্কের নিয়ন্ত্রণের মধ্যে সত্যই একটি বাণিজ্য trade"। কেবল ফ্যালকার ব্যাচের কার্যকারিতা পরীক্ষা করুন এবং এটি রিলের চেয়ে একরকম বা আরও ভাল।
প্রিজোরআর

1
@ প্রজেওআর সংশোধনের জন্য আপনাকে ধন্যবাদ! পোস্টটি এডিট করলাম!
ইয়াসেরকাডদুর

আপনার এখানে স্বাগত :-) আরও তথ্যের জন্য ফ্যালকর্জেএস চেক সম্পর্কিত: reactjs.co/2016/02/03/…
প্রিজিওআর

গ্রেট নিবন্ধ প্রকৃতপক্ষে Falcor মহান, দুর্ভাগ্যবশত আমি a Scala বিকাশকারী আছি এবং সেখানে Scala এবং যে বিষয়টি জন্য অন্য কোন ভাষায় কোন Falcor বাস্তবায়ন, তবে আছে Sangria Scala একটি চমৎকার GraphQL বাস্তবায়ন
YasserKaddour

এবং রিলেতে অন্য বিকল্প রয়েছে যা অ্যাপোলো -ক্লায়েন্ট এবং ক্যাশেয়ের
ইয়াসেরকাডদুর

21

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

উদাহরণের অভাব সম্পর্কে, আপনি দুর্দান্ত-ফ্যালকর্জস রেপো ব্যবহারকারীর সন্ধান করতে পারেন, ফ্যালকারের সিআরইউডি ব্যবহারের বিভিন্ন উদাহরণ রয়েছে: https://github.com/przeor/awesome-falcorjs ... দ্বিতীয় কথা, একটি বই আছে " সম্পূর্ণ স্ট্যাক প্রতিক্রিয়া বিকাশকে আয়ত্ত করা "যার মধ্যে ফ্যালকারও অন্তর্ভুক্ত রয়েছে (এটি কীভাবে ব্যবহার করবেন তা শেখার ভাল উপায়):

এখানে চিত্র বর্ণনা লিখুন

নীচে মূল পোষ্ট:

ফ্যালকর্জেএস ( https://www.facebook.com/groups/falcorjs/ ) রিলে / গ্রাফকিউএল এর তুলনায় দক্ষ হতে অনেক বেশি সহজ।

গ্রাফকিউএল + রিলে শেখার বক্ররেখা বিশাল: এখানে চিত্র বর্ণনা লিখুন

আমার সংক্ষিপ্তসারে: ফ্যালকারের জন্য যান। আপনার দলের জন্য বাজেট এবং প্রচুর শেখার সময় না পাওয়া পর্যন্ত আপনার পরবর্তী প্রকল্পে ফ্যালকার ব্যবহার করুন তারপরে রিলে + গ্রাফকিউএল ব্যবহার না করে।

গ্রাফকিউএল + রিলে একটি বিশাল এপিআই রয়েছে যা আপনার অবশ্যই দক্ষ হতে হবে Fal ফ্যালকারের ছোট এপিআই রয়েছে এবং জেএসএনের সাথে পরিচিত কোনও ফ্রন্ট-এন্ড বিকাশকারীকে বুঝতে খুব সহজ।

আপনার যদি সীমিত সংস্থান সহ একটি এজাইল প্রকল্প থাকে -> তবে ফ্যালকর্জেএসে যান!

আমার সাবজেক্টিভ মতামত: ফ্যালকর্জেএস পুরো স্ট্যাক জাভাস্ক্রিপ্টে দক্ষ হতে 500% + আরও সহজ।

আমি আমার প্রকল্পে কিছু ফ্যালকর্জেএস স্টার্টার কিটও প্রকাশ করেছি (+ আরও পুরো স্ট্যাক ফ্যালকারের উদাহরণ প্রকল্পগুলি): https://www.github.com/przeor

প্রযুক্তিগত বিশদ আরও হতে:

1) আপনি যখন ফ্যালকার ব্যবহার করছেন তখন আপনি ফ্রন্ট-এন্ড এবং ব্যাকএন্ড উভয়ই ব্যবহার করতে পারেন:

'ফলক' থেকে ফলক আমদানি করুন;

এবং তারপরে আপনার মডেলটি তৈরি করুন।

... আপনার দুটি গ্রন্থাগারও দরকার যা ব্যাকএন্ডে ব্যবহার করা সহজ: ক) ফ্যালাকর-এক্সপ্রেস - আপনি এটি একবার ব্যবহার করেন (উদাঃ অ্যাপ্লিকেশন use ইউজ ('/ মডেল.জসন', ফ্যালকারসারভার.ডাটাসোর্স রুট (() => নতুন নাম রাউটার ())) )। সূত্র: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/index.js

খ) ফ্যালাকর-রাউটার - সেখানে আপনি সরল রুটগুলি নির্ধারণ করেন (উদাঃ রুট: '_ ভিউ.লেন্থ' )। সূত্র: https://github.com/przeor/falcor-netflix-shopping-cart-example/blob/master/server/router.js

ফ্যালকর হ'ল লাস্টিং বক্রের ক্ষেত্রে কেকের টুকরা।

এছাড়াও আপনি ডকুমেন্টেশন যা এফবি এর liberal এর সংক্ষিপ্ত রূপ তুলনায় অনেক সহজ কিনা দেখতে এবং নিবন্ধ "পরীক্ষা করতে পারবেন আপনি falcorjs কেন যত্ন করা উচিত (Netflix falcor) "।

2) রিলে / গ্রাফকিউএল সম্ভবত একটি বিশাল এন্টারপ্রাইজ সরঞ্জামের মতো।

উদাহরণস্বরূপ, আপনার কাছে দুটি পৃথক ডকুমেন্টেশন রয়েছে যা আলাদাভাবে কথা বলছে:

ক) রিলে: https://facebook.github.io/relay/docs/tutorial.html - ধারক - রুট - রুট ধারক - প্রস্তুত রাজ্য - মিউটেশনস - নেটওয়ার্ক স্তর - বাবেল রিলে প্লাগইন - জিআরএফকিউআল

  • গ্রাফকিউএল রিলে নির্দিষ্টকরণ
  • অবজেক্ট আইডেন্টিফিকেশন
  • সংযোগ
  • পরিব্যক্তি
  • আরও পড়া
  • এপিআই রেফারেন্স

  • রিলেই

  • RelayContainer
  • Relay.Route
  • Relay.RootContainer
  • Relay.QL
  • Relay.Mutation
  • Relay.PropTypes
  • Relay.Store
  • ইন্টারফেসগুলি

  • RelayNetworkLayer

  • RelayMutationRequest
  • RelayQueryRequest

খ) গ্রাফকিউএল: https://facebook.github.io/ographicql/

  • 2Language
  • 2.1 উত্স পাঠ্য
  • 2.1.1Unicode
  • ২.১.২ হোয়াইট স্পেস
  • 2.1.3 লাইন টার্মিনেটর
  • 2.1.4Comments
  • ২.১.৫ স্বতন্ত্র কমা
  • ২.১..6 লাইটিকাল টোকেন
  • 2.1.7 অবহিত টোকেন
  • 2.1.8Punctuators
  • 2.1.9Names
  • ২.২ ক্যোয়ারী ডকুমেন্ট
  • 2.2.1Operations
  • 2.2.2 নির্বাচন সেট
  • 2.2.3Fields
  • 2.2.4Arguments
  • 2.2.5 ফিল্ড এলিয়াস
  • 2.2.6Fragments
  • 2.2.6.1 টাইপ শর্তাবলী
  • 2.2.6.2 ইনলাইন টুকরা
  • 2.2.7 ইনপুট মান
  • 2.2.7.1 ইনট মান
  • 2.2.7.2 ফ্লোট মান
  • ২.২..7.৩ বুলিয়ান মান
  • ২.২..7.৪ স্ট্রিং মান
  • 2.2.7.5 এনাম মান n
  • 2.2.7.6 তালিকা মান
  • 2.2.7.7 ইনপুট অবজেক্টের মান Values
  • 2.2.8Variables
  • 2.2.8.1 টুকরা মধ্যে পরিবর্তনশীল ব্যবহার
  • 2.2.9 ইনপুট প্রকার
  • 2.2.10Directives
  • 2.2.10.1 ফ্রেগমেন্টের নির্দেশিকা ire
  • 3 টাইপ সিস্টেম
  • 3.1Types
  • 3.1.1Scalars
  • ৩.০.১.১.২ বিল্ট-ইন স্কেলার্স
  • 3.1.1.1.1Int
  • 3.1.1.1.2Float
  • 3.1.1.1.3String
  • 3.1.1.1.4Boolean
  • 3.1.1.1.5ID
  • 3.1.2Objects
  • ৩.১.২.১ অজেক্ট ফিল্ড আর্গুমেন্ট
  • ৩.১.২.২ অবজেক্ট ফিল্ড অবমূল্যায়ন
  • ৩.১.২.৩ অজেক্টের ধরণের বৈধতা
  • 3.1.3Interfaces
  • 3.1.3.1 ইন্টারফেস ধরণের বৈধতা
  • 3.1.4Unions
  • 3.1.4.1 ইউনিয়ন ধরণের বৈধতা
  • 3.1.5Enums
  • 3.1.6 ইনপুট অবজেক্টস
  • 3.1.7Lists
  • 3.1.8Non শূন্য
  • 3.2Directives
  • 3.2.1@skip
  • 3.2.2@include
  • 3.3 স্টার্টিং প্রকার
  • 4Introspection
  • ৪.১ সাধারণ নীতি
  • ৪.১.১ নামকরণের সম্মেলন
  • 4.1.2Documentation
  • 4.1.3Deprecation
  • ৪.১.৪ টাইপ নাম অন্তঃকরণ
  • ৪.২ স্কেমা অন্তর্মুখী
  • 4.2.1 "__ টাইপ" টাইপ করুন
  • 4.2.2 টাইপ ধরনের
  • 4.2.2.1Scalar
  • 4.2.2.2Object
  • 4.2.2.3Union
  • 4.2.2.4Interface
  • 4.2.2.5Enum
  • 4.2.2.6 ইনপুট অবজেক্ট
  • 4.2.2.7List
  • 4.2.2.8Non-নাল
  • 4.2.2.9 সংমিশ্রণ তালিকা এবং নন-নাল
  • ৪.২.৩ ফিল্ড প্রকার
  • 4.2.4The__ ইনপুটভ্যালু প্রকার
  • 5Validation
  • 5.1Operations
  • 5.1.1 নামকরণ অপারেশন সংজ্ঞা
  • 5.1.1.1 অপারেশন নাম স্বতন্ত্রতা
  • 5.1.2 অজ্ঞাতনামা অপারেশন সংজ্ঞা
  • 5.1.2.1 একক বেনামে অপারেশন
  • 5.2Fields
  • 5.2.1 অবজেক্টস, ইন্টারফেস এবং ইউনিয়নগুলির ধরণের নির্বাচনগুলি
  • 5.2.2 ফিল্ড নির্বাচন মার্জ করা
  • 5.2.3 মাঠের নির্বাচনগুলি নির্বাচন করুন
  • 5.3Arguments
  • 5.3.1 অরগমেন্ট নাম
  • 5.3.2আরগমেন্ট স্বতন্ত্রতা
  • 5.3.3 অরগমেন্ট মান মান ধরণের সঠিকতা
  • 5.3.3.1 সামঞ্জস্যপূর্ণ মান
  • 5.3.3.2 প্রয়োজনীয় আর্গুমেন্ট
  • 5.4Fragments
  • 5.4.1 ফ্রেগমেন্ট ঘোষণা
  • 5.4.1.1 অংশটির নাম স্বতন্ত্রতা
  • 5.4.1.2 ফ্রেগমেন্ট স্প্রেড প্রকারের উপস্থিতি
  • 5.4.1.3 সংমিশ্রিত প্রকারের অংশসমূহ
  • 5.4.1.4 অংশগুলি অবশ্যই ব্যবহার করা উচিত
  • 5.4.2 ফ্রেগমেন্ট ছড়িয়ে পড়ে
  • 5.4.2.1 ফ্র্যাগমেন্ট স্প্রেড লক্ষ্য সংজ্ঞায়িত
  • 5.4.2.2 ফ্রেম স্প্রেডগুলি অবশ্যই চক্র গঠন করতে পারে না
  • 5.4.2.3 ফ্রেগমেন্ট ছড়িয়ে দেওয়া সম্ভব
  • 5.4.2.3.1 অবজেক্ট স্কোপে অবজেক্ট স্প্রেড
  • 5.4.2.3.2 অবজেক্ট স্কোপ এস্ট্রাক্ট স্প্রেড
  • 5.4.2.3.3 অবজেক্ট স্কোপ অবজেক্ট স্প্রেড
  • 5.4.2.3.4 অ্যাবস্ট্রাক্ট ব্যাপ্তিতে বিস্তৃত
  • 5.5Values
  • 5.5.1 ইনপুট অবজেক্ট ফিল্ডের স্বতন্ত্রতা
  • 5.6Directives
  • 5.6.1 নির্দেশাবলী সংজ্ঞায়িত করা হয়
  • 5.7Variables
  • 5.7.1 পরিবর্তনশীল স্বতন্ত্রতা
  • 5.7.2 পরিবর্তনশীল ডিফল্ট মানগুলি সঠিকভাবে টাইপ করা হয়
  • 5.7.3 ভেরিয়েবলগুলি ইনপুট প্রকার
  • 5.7.4 সমস্ত পরিবর্তনশীল ব্যবহার সংজ্ঞায়িত
  • 5.7.5 সমস্ত চলক ব্যবহৃত
  • 5.7.6 সমস্ত পরিবর্তনশীল ব্যবহার অনুমোদিত
  • 6Execution
  • 6.1 অনুরোধ মূল্যায়ন
  • .2.২ কর্কশ চলক
  • .3.৩ মূল্যায়ন অপারেশন
  • 6.4 নির্বাচন সেট মূল্যায়ন
  • 6.5 একটি গোষ্ঠীযুক্ত ক্ষেত্রের সেট মূল্যায়ন
  • 6.5.1 ফিল্ড এন্ট্রি
  • .5.৫.২ সাধারণ মূল্যায়ন
  • .5.৫.৩ শরিয়ত কার্যকর
  • 6.5.4 ত্রুটি পরিচালনা
  • 6.5.5Nullability
  • 7Response
  • 7.1 সারিয়ালাইজেশন ফর্ম্যাট
  • 7.1.1JSON সিরিয়ালাইজেশন
  • 7.2 প্রতিক্রিয়া ফর্ম্যাট
  • 7.2.1Data
  • 7.2.2Errors
  • অ্যাপেনডিক্স: নোটেশন কনভেনশনস
  • এ .1 প্রবন্ধমুক্ত ব্যাকরণ
  • এ .২.লেক্সিকাল ও সিনট্যাকটিকাল ব্যাকরণ
  • এ .৩ গ্রামার নোটেশন
  • এ .4 গ্র্যামার শব্দার্থক
  • A.5Algorithms
  • বিপেনডিক্স: ব্যাকরণ সংক্ষিপ্তসার
  • বি .১৮ অবহিত টোকেন
  • বি .২ লেক্সিকাল টোকেন
  • B.3Query ডকুমেন্ট

এটা তোমার পছন্দ:

গ্রাফকিউএল এবং রিলে হিসাবে দীর্ঘ এবং উন্নত ডকুমেন্টেশন সহ সহজ মিষ্টি এবং সংক্ষিপ্ত নথিভুক্ত ফ্যালকার জেএস ভারসাস বিশাল-এন্টারপ্রাইজ-গ্রেড সরঞ্জাম

যেমনটি আমি আগেই বলেছি, আপনি যদি ফ্রন্ট-এন্ড দেব হন যিনি জেএসওএন ব্যবহারের ধারণাটি উপলব্ধি করেন তবে ফালকরের দল থেকে জেএসওন গ্রাফ বাস্তবায়ন আপনার ফুল-স্ট্যাক ডেভ প্রজেক্ট করার সর্বোত্তম উপায়।


13
বিষয়গত উত্তর। প্রযুক্তিগত তুলনা অন্তর্ভুক্ত নয়। মন্তব্য হিসাবে আরও উপযুক্ত।
গজুস

2
@ গজুসকুইজিনাস সাবজেক্টিভ উত্তর? উভয়ের ডকুমেন্টেশন চেক করুন ;-) আমি কেবল বলছি ফ্যালকার শিখতে দ্রুত এবং দ্রুত - এবং এটি একটি সত্য ;-) এছাড়াও আমি উভয়ের সাথে কাজ করে যাচ্ছি - সরলতা দীর্ঘমেয়াদেও জিতবে এমনকি এফবি দুর্দান্ত কাজ করছে হাইপ ;-) সহ চাকরি
প্রিজোরআর 14:51

2
এটি নিছক একটি মতামত এবং এটি প্রশ্নের কোনও উত্তর দেয় না।
মিচা মিস্জিজিজিন

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

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

5

সংক্ষেপে, ফ্যালকার বা গ্রাফকিউএল বা রেসফুল একই সমস্যাটি সমাধান করে - কার্যকরভাবে ডেটা ক্যোয়ারী / ম্যানিপুলেট করার জন্য একটি সরঞ্জাম সরবরাহ করুন।

তারা কীভাবে আলাদা হয় তারা কীভাবে তাদের ডেটা উপস্থাপন করে:

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

যখনই আমাদের ব্যবহারকারীর জন্য ডেটা সরবরাহ করার প্রয়োজন হয় তখন আমরা পছন্দসই কিছু দিয়ে শেষ করি: ক্লায়েন্ট -> কোয়েরি -> layer একটি স্তর কোয়েরি ডেটা অপ্স} -> ডেটাতে অনুবাদ করে।

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

এটি এখানে দেখুন:
https://github.com/giapnguyen74/nextql

এটি রিয়েল টাইম ক্যোয়ারী / মিউটেশনের জন্য ফেদারজগুলির সাথে একীভূত হয়। https://github.com/giapnguyen74/nextql-feathers


2

ঠিক আছে, শুধুমাত্র একটি সহজ কিন্তু গুরুত্বপূর্ণ পার্থক্য থেকে শুরু, GraphQL একটি ক্যোয়ারী যখন ভিত্তিক Falcor নয়!

তবে তারা আপনাকে কীভাবে সাহায্য করবে?

মূলত, তারা উভয় আমাদের পরিচালনা করতে সাহায্য করছেন এবং ডেটা অনুসন্ধান, কিন্তু GraphQL টি req / res মডেল এবং ডেটা ফিরিয়ে তাদেরকে JSON , মূলত এ ধারণা GraphQL এক লক্ষ্য সব আপনার ডেটা পেতে একটি একক অনুরোধ হচ্ছে না ... এছাড়াও, যথাযথ অনুরোধের সাথে যথাযথ প্রতিক্রিয়া জানাতে হবে, তাই 3 জি নেটওয়ার্কের মতো স্বল্প গতির ইন্টারনেট এবং মোবাইল ডিভাইসে চালানোর জন্য কিছু ... সুতরাং আপনার যদি অনেক মোবাইল ব্যবহারকারী থাকে বা কোনও কারণে আপনার কাছে কম অনুরোধ এবং দ্রুত প্রতিক্রিয়া থাকতে চান ব্যবহার GraphQL ... যদিও Faclor এই থেকে খুব বেশী দূরে না, তাই পড়তে ...

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

তবে আরও স্পষ্টতার জন্য, আসুন দেখুন প্রত্যেকে কীভাবে নিজের পরিচয় দেয়:

গ্রাফকিউএল, আপনার এপিআইয়ের জন্য একটি কোয়েরি ভাষা

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

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

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

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


ফলক, দক্ষ ডেটা আনার জন্য একটি জাভাস্ক্রিপ্ট লাইব্রেরি

ফ্যালকার আপনাকে ভার্চুয়াল জেএসএন গ্রাফের মাধ্যমে আপনার সমস্ত রিমোট ডেটা উত্সকে একক ডোমেন মডেল হিসাবে উপস্থাপন করতে দেয়। ক্লায়েন্টের মেমরিতে বা সার্ভারের নেটওয়ার্কের উপরে মেমরি থাকা হোক না কেন আপনি ডেটা যেখানেই থাকুক না কেন আপনি একইভাবে কোড করেন।

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

ফ্যালকার স্বয়ংক্রিয়ভাবে আপনার গ্রাফে রেফারেন্সগুলি ট্র্যাভার করে এবং প্রয়োজনীয়তার জন্য অনুরোধ করে। ফ্যালকার সমস্ত নেটওয়ার্ক যোগাযোগগুলি স্বচ্ছভাবে পরিচালনা করে, সুবিধাবাদীভাবে ব্যাচিং এবং ডি-ডুপিং অনুরোধগুলি।

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