DEV Community

Cover image for GraphQL vs tRPC: Picking the Best Fit for Your Project
Fahim Ahammed Firoz
Fahim Ahammed Firoz

Posted on

GraphQL vs tRPC: Picking the Best Fit for Your Project

GraphQL *এর সাথে বর্তমান সময়ে **tRPC *নামে একটি টেকনোলজির নাম বেশি শোনা যাচ্ছে। এটি একটি **remote procedure call (RPC) framework যা বিশেষভাবে TypeScript এর জন্য ডিজাইন করা হয়েছে। এটিতে ক্লায়েন্ট সাইট থেকেই সার্ভার ডিফাইন ফাংশন কল করা যায়। tRPC বেশ first এবং তুলনামূলক ব্যবহার করা সহজ। এছাড়াও এর এমন কিছু features রয়েছে যার জন্য এটিকে microservices-based applications তৈরির জন্য আদর্শ বলা যেতে পারে।

কি!! এই কথাটুকু শুনে graphql শেখা বাদ দিয়ে tRPC শিখবেন? নাকি কনফিউশনে পড়ে গেলেন কোনটি শেখা ভালো হবে? আবার এমনটিও মনে হতে পারে যে পুরান পাগলে ভাত পায় না নতুন পাগলের আমদানি।

তাহলে আগে এই পাগল দ্বয়ের উদয় হলো কোন সময়ে সেটি জানার চেষ্টা করি। ২০১২ সালে মার্ক সাইমন, জোসেফ উইলিয়ামস এবং জোয়েল ওয়াল্টন GraphQL তৈরি করেছিল এবং ২০১৫ সালে এটির প্রথম ভার্সন রিলিজ করা হয়েছিল। ২০১৬ সাল থেকে এটি বেশ জনপ্রিয় হতে থাকে এবং facebook, Google, Microsoft এর মতো বড় বড় কোম্পানি এটি ব্যবহার করা শুরু করে।

অন্যদিকে, ২০২০ সালে ডেভিড ক্রাউন tRPC নামে একটি RPC framework তৈরি করে এবং ২০২১ সালে tRPC 1.0 রিলিজ করা হয়েছিল। ২০২২ সাল থেকে এটি বেশ জনপ্রিয় হতে শুরু করে।

_GraphQL এবং tRPC দুটিই API তৈরির জন্য ব্যবহৃত টেকনোলজি। তবে এদের মধ্যে কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। যেমনঃ _
GraphQL একটি query language, & tRPC একটি RPC Framework. এর মানে হল যে GraphQL ব্যবহার করে, আপনি একটি API তৈরি করতে পারেন যা ক্লায়েন্টকে সার্ভার থেকে data access করতে দেয়। অন্যদিকে, tRPC ব্যবহার করে, আপনি একটি API তৈরি করতে পারেন যা ক্লায়েন্ট এবং সার্ভার মধ্যে data transfer করতে দেয়। পার্ফমেন্সের দিক থেকে tRPC কিছুটা এগিয়ে থাকলেও GraphQL flexibility এর দিক থেকে এগিয়ে রয়েছে। GraphQL API তৈরিতে বিভিন্ন ধরনের ল্যাগুয়েজ ব্যবহার করা যায়, কিন্তু tRPC শুধু মাত্র TypeScript এর জন্য ডিজাইন করা।

দুটিই বেশ ভালো টেকনোলজি এবং দুটিরই ভালো সুবিধা রয়েছে আবার কিছু লিমিটেশনও রয়েছে। তাহলে কোন ধরনের প্রজেক্টে কোনটি use করা উচিত?

আপনি যদি একটি powerful & flexible API তৈরি করতে চান যার মাধ্যমে ক্লায়েন্ট থেকে স্পেসিফিক ডেটার জন্য রিকোয়েস্ট করতে পারবেন তাহলে GraphQL ভালো পছন্দ হতে পারে। যেমনঃ Social Media API, Content Management System (CMS), Data Analytics API.

আবার অন্যদিকে, আপনি যদি simple & ব্যবহার করা সহজ এমন API তৈরি করতে চান যা data transfer করতে পারবে, তাহলে tRPC ভালো পছন্দ হতে পারে। tRPC মূলত microservice based application এর জন্য ডিজাইন করা হয়েছে। এছাড়াও real-time chat application, gaming application তৈরিতেও এটি ব্যবহার করা যেতে পারে।

সবশেষে বলতে পারি যে, GraphQL এবং tRPC উভয়ই শক্তিশালী এবং কার্যকর টেকনোলজি। দুটিরই বেশ জনপ্রিয়তা এবং প্রয়োজনীয়তা রয়েছে। এখন আপনার কাজের ধরন এবং প্রয়োজনীয়তার উপর নির্ভর করছে আপনি আপনার প্রজেক্টে/এপ্লিকেশনে কোনটি ব্যবহার করবেন।

_References: _

Top comments (0)