এই পোস্ট ২৩ মে ২০২৪-এ আপডেট করা হয়েছে রেলস এবং হানামির মডেল ও ডেটা পাৰসিস্টেন্সের পার্থক্য স্পষ্ট করার জন্য।
রুবি ইকোসিস্টেমে রুবি অন রেলস সবচেয়ে জনপ্রিয় ওয়েব ফ্রেমওয়ার্ক এবং এর বড় একটি ইউজার বেস আছে—ফ্রিল্যান্সার থেকে বড় প্রতিষ্ঠানлар সকল। সক্রিয় কমিউনিটি এবং ব্যাপক ডকুমেন্টেশন সহ, এটি সিম্পল অ্যাপ্লিকেশন থেকে জটিল ওয়েব প্ল্যাটফর্ম সবকিছু তৈরিতে ব্যবহার করা যায়।
তবুও, রেলস-এর فول-স্ট্যাক রুবি ফ্রেমওয়ার্কের সিংহাসনে চ্যালেঞ্জ দিতে একটি নতুন প্রতিযোগী এসেছে: হানামি (Hanami)। এটি একটি দ্রুত, মডুলার রুবি ফ্রেমওয়ার্ক যা রেলসের চেয়ে উন্নত পারফরম্যান্স এবং মেইনটেইনেবিলিটি দেয়।
এই আর্টিকেলে আমরা পারফরম্যান্স, ফিচার, টেস্টিং ইত্যাদি দিক থেকে দুটি ফ্রেমওয়ার্কের সুবল এবং দুর্বল পক্ষ অন্বেষণ করব। তাই আপনি কাস্টমার-ফেসিং ওয়েব অ্যাপ, ইন্টারনাল টুল বা বড় স্কেলেবল API তৈরি করতে চান—এই পোস্ট পড়ার পর আপনি আপনার পরবর্তী প্রজেক্টের জন্য কী ব্যবহার করবেন সেটা ভালোভাবে জানে যাবেন।
চলুন শুরু করি প্রতিটি ফ্রেমওয়ার্কের সংক্ষিপ্ত পরিচিতি দিয়ে।
রুবি অন রেলস পরিচিতি
রুবি অন রেলস সবচেয়ে পরিচিত রুবি ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক যার লক্ষ্য ডেভেলপার প্রোডাক্টিভিটি বেড়ানো (অ্যাপ কীভাবে বানানো উচিত সে সম্পর্কে অনুমান করে, যাকে প্রায়শই "রেলস ওয়ে" বলা হয়)।
এই অনুমানগুলোতে থাকে—ডেভেলপাররা কনফিগারেশনে সময় বয়িত না করে, অর্থাৎ "কনভেনশন ওভার কনফিগারেশন" এবং DRY ("ডোনট রিপিট ইউরসেলফ") সিদ্ধান্তের উপর জোর দেওয়া। DRY সিদ্ধান্ত ডেভেলপারকে বারবার একই কোড রিপিট না করে অ্যাপ ফাংশনালিটির একক ও ফোকাসড রিপ্রেজেন্টেশন ব্যবহার করতে উৎসাহিত করে যাতে মেইনটেইনেবিলিটি এবং অর্গানাইজেশন নিশ্চিত হয়।
হানামি পরিচিতি
রুবি কমিউনিটিতে রেলস খুব পরিচিত হলেও, হানামি কম পরিচিত। এটি একটি আধুনিক রুবি ফ্রেমওয়ার্ক যা রেলসের فول-স্ট্যাক ওয়েব ফ্রেমওয়ার্ক স্পেসে প্রভুত্বকে চ্যালেঞ্জ দিতে চাইছে।
হানামি গ্রাউন্ড-আপ থেকে স্মল মেমরি ফুটপ্রিন্ট এবং মডুলারিটির ওপর ফোকাস করে তৈরি, যা এর জন্য একটি খুব দ্রুত এবং চমৎকার ফ্রেমওয়ার্ক করে তোলেছে।
এই সংক্ষিপ্ত পরিচিতিগুলো আপনাকে সেরা ফ্রেমওয়ার্ক বেছে নেওয়ার জন্য পুরো তথ্য দেবে না। সেজন্য আমাদের গভীরে যেতে হবে, শুরু করা যাক কীভাবে স্ট্রাকচার করা হয়েছে সেটা থেকে।
রেলস এবং হানামির স্ট্রাকচার ও আর্কিটেকচার
রেলস এবং হানামি কিছুটা সাদৃশ্য রেখেছে যেহেতু দুটোই রুবি ফ্রেমওয়ার্ক। কিন্তু প্রতিটি কীভাবে বানানো হয়েছে এবং তাদের অ্যাপ্লিকেশন আর্কিটেকচার—ইহিই তে অধিকাংশ পার্থক্য রয়েছে।
শুরু করি, রেলসে কম ফাইল বা অ্যাবস্ট্রাকশন (অ্যাপ বানाने ব্যবহৃত বিল্ডিং ব্লক) থাকে, যা অ্যাপ ডেভেলপ করার সাথে সাথে আকারে বড় হয়ে যায়। অন্যদিকে, হানামি অ্যাবস্ট্রাকশনকে একে নitchie লেভেলে নিয়ে গেছে, অনেক ফাইল থাকে যা আকারে ছোট থাকে।
নিচের ডায়াগ্রামগুলো বিষয়টি আরও স্পষ্ট করবে। শুরু করা যাক রেলস দিয়ে।

এখন রেলস অ্যাবস্ট্রাকশন ডায়াগ্রামকে হানামির সাথে তুলনা করুন।

দেখতে পাচ্ছেন, উভয় ফ্রেমওয়ার্ক সাধারণত মডেল-ভিউ-কন্ট্রোলার (MVC) স্ট্রাকচার ফলো করে। কিন্তু হানামি অ্যাবস্ট্রাকশনকে পরবর্তী লেভেলে নিয়ে গিয়েছে।
প্রতিটি ফ্রেমওয়ার্ক কীভাবে অর্গানাইজড সেটার সরল আউटलাইন:
- রাউটস (Routes) - দুটি ফ্রেমওয়ার্কই আপনার অ্যাপের এন্ডপয়েন্টসহ রাউটস ডেফিনিশন রাখে।
- কন্ট্রোলার বনাম অ্যাকশন (Controllers vs. Actions) - রেলসে কন্ট্রোলার থাকে যেটাতে এক বা কয়েকটি অ্যাকশন থাকে। কন্ট্রোলার রাউট রিকোয়েস্ট রিসিভ করে এবং প্রাসঙ্গিক অ্যাকশনের দিকে দিয়ে দেয়। হানামিতে কন্ট্রোলার নেই। বরং আপনি সরাসরি সেলফ-কন্টেইনড অ্যাকশনে যান (প্রতিটি অ্যাকশনের নিজস্ব সেলফ-কন্টেইনড ক্লাস থাকে)।
- মডেল এবং পাৰসিস্টেন্স (Models and Persistence) - রেলস মডেল লেয়ার ডেটা ভ্যালিডেশন এবং ডাটাবেস কমিউনিকেশন হ্যান্ডেল করে, আপনার অ্যাপের যেকোনো কুয়েরিসহ। পাৰসিস্টেন্স হ্যান্ডেল করা হয় Ruby Object Mapper (ROM) দিয়ে। হানামিতে মডেল লেয়ার আরও অ্যাবস্ট্রাক্ট, এন্টিটি এবং রিপোজিটরিতে ভাগ করা হয়। এন্টিটি ডোমেন লজিক হ্যান্ডেল করে এবং ডাটাবেস-অগ্নস্টিক, আর রিপোজিটরি (repos) ডাটাবেসের সাথে কমিউনিকেশন করতে ব্যবহৃত হয়। হানামি ২.০ থেকে প্রি-কনফিগার্ড পাৰসিস্টেন্স লেয়ার ছাড়া শিপ করে, যাতে আপনি আপনার প্রয়োজনের জন্য উপযুক্ত ORM বেছে নিতে পারেন বা ORM-ফ্রি প্রোগ্রামিং করতে পারেন।
- ভিউ রেন্ডারিং (View Rendering) - পাৰসিস্টেন্স লেয়ারের মতই, রুবি অন রেলস ভিউতে রেন্ডারিং এর জন্য সবকিছু এক জায়গায় থাকে—HTML স্ট্রাকচার, ভিউ হেল্পার, ভিউ লজিক। হানামিতে ভিউ রেন্ডারিং আরও অ্যাবস্ট্রাক্ট। শুরুতেই থাকে ভিউস যা অ্যাপের যেকোনো ভিউ হেল্পার ব্যবহার করে এবং টেমপ্লেট রেন্ডার করে। টেমপ্লেট আসল HTML স্ট্রাকচার হ্যান্ডেল করে, আর পার্টস প্রেজেন্টেশন লজিক দায়িত্ব নেয়।
তাহলে অ্যাপ বানানোর সময় এগুলো কী বোঝায়? কম অ্যাবস্ট্রাকশন থাকায় রেলস আপনার অ্যাপ দ্রুত শুরু করার জন্য ভালো চয়েস এবং বেগinners-ফ্রেন্ডলি (যেমন আমরা পরে দেখব)। রেলস দিয়ে খুব রবাস্ট মোনোলিথ অ্যাপ বানানো যায়, কিন্তু স্কেল করার সাথে সাথে কোডে কমপ্লেক্সিটি বাড়ে। অন্যদিকে, হানামির জটিল স্ট্রাকচার শিখতে ভয়ঙ্কর লাগতে পারে, কিন্তু এটি আপনাকে বিশাল স্কেলেবল অ্যাপ্লিকেশন বানাতে দেয় এবং কোড অর্গানাইজেশন অনেক ভালো করতে পারে।
এখন প্রতিটি ফ্রেমওয়ার্কের ইকোসিস্টেম দেখি।
ইকোসিস্টেম এবং কমিউনিটি
আগে বলা মতে, রেলস হানামির চেয়ে অধিক প্রতিষ্ঠিত ফ্রেমওয়ার্ক। রেলস বেশি দিন থেকে আছে, তাই এর বড় এবং মেচিউর কমিউনিটি আছে।
ইকোসিস্টেম এবং কমিউনিটির পার্থক্য নিচে সারাংশে দেওয়া হলো:
- ডকুমেন্টেশন - আপনি কী বানাতে চান সেটা মনে করুন, রেলস ব্যবহার করলে আপনার কাছে খুব ভালো ডকুমেন্টেশন আছে। অ্যাপ বানানোর সব 파্ট—অথেন্টিকেশন থেকে ডেটা পাৰসিস্টেন্স, ভিউ প্রেজেন্টেশন সবকিছুতে গাইড করা থাকে। পাশাপাশি, থার্ড-পার্টি টিউটোরিয়ালের ব্যাপক রেঞ্জ আছে যা অ্যাপ বানানোর প্রায় সবকিছু কভার করে।
হানামি পক্ষ থেকে সেটা এত প্রতিষ্ঠিত নয়। আপেক্ষিক নতুন ফ্রেমওয়ার্ক হওয়ায় হানামির ডকুমেন্টেশন বেস সীমিত। হানামি টিম অফিশিয়াল গাইডসের সাথে চমৎকার কাজ করেছে, কিন্তু রেলস ডকুমেন্টেশন বেসের তুলনায় এটা দাঁড়ায় না।
- কমিউনিটি - এখানেও ডকুমেন্টেশনের মতই রেলস বিজয়ী। রেলস বেশি দিন থেকে থাকায় সবচেয়ে বেশি এডপ্ট করা হয়েছে। আপনি বেগিনার হোন বা অ্যাডভান্সড ডেভেলপার, রেলস কমিউনিটি পাবেন রিলেভেন্ট সাবরেডডিট, স্ল্যাক গ্রুপ, ডিসকোর্ডে ইত্যাদি। অন্যদিকে, হানামি এখনো বড় হচ্ছে, তাই এর কমিউনিটি ছোট।
- জেমস এবং লাইব্রেরি (Gems and Libraries) - যেহেতু হানামি এবং রেলস দুটোই রুবি ফ্রেমওয়ার্ক, তাই বলা যায় রেলসে কাজ করার জেমস হানামিতেও কাজ করবে। যদিও টেকনিক্যালি এটা সত্য, কিন্তু আপনি দেখবেন রেলসে সব স্পেশালাইজড ফাংশনের জন্য আরও প্রতিষ্ঠিত জেমস এবং লাইব্রেরির বেস আছে।
আবার হানামির অ্যাবস্ট্রাকশন ও স্পেশালাইজেশনের ফোকাসের কারণে, এর কিছু খুব অ্যাডভান্সড জেম আছে যা আপনার রেলস অ্যাপকে পরবর্তী লেভেলে নিয়ে যেতে পারে। উদাহরণস্বরূপ, হানামির ডিফল্ট dry-rb জেমগুলো রেলস অ্যাপে ব্যবহার করলে ভালো কোড অর্গানাইজেশন এবং অ্যাবস্ট্রাকশন দিতে পারে।
চলুন, এখন প্রতিটি ফ্রেমওয়ার্কের লার্নিং কার্ভ এবং অ্যাডপশন তুলনা করি।
সহজ ব্যবহার, অ্যাডপশন, গভর্ন্যান্স এবং লার্নিং কার্ভ
পূর্বের সেকশনের কারণগুলোর জন্য, রুবি অন রেলস সহজ ব্যবহার, ইন্ডাস্ট্রি অ্যাডপশন এবং লার্নিং কার্ভে হানামিকে সহজে পিছিয়ে দেয়, বিশেষ করে:
- শেখা (Learning) - কল্পনা করুন, আপনি একটি কমপ্লিট বেগিনার যিনি নতুন প্রোগ্রামিং ল্যাঙ্গুয়েজ শিখতে চান। আপনার প্রথম চিন্তা হবে অনলাইন লার্নিং রিসোর্স চেক করা। যদি কোনো ফ্রেমওয়ার্কের/Apple এবং টু-এন্ড আপ্লিকেশন বানানোর লার্নিং মেটিরিয়াল широко উপলব্ধ থাকে, তবে আপনি সেটাই বেছে নেবেন। এবং যেহেতু রেলসের আরও প্রতিষ্ঠিত ডকুমেন্টেশন বেস আছে, তাই বেগিনারদের ফ্রেমওয়ার্ক হিসেবে এটি হানামিকে হারিয়ে দেয়। পাশাপাশি, রেলস বেগিনারদের জন্য খুব ফ্রেন্ডলি যেহেতু এটি আন্ডার দি হুড অনেক অনুমান করে (হানামির সাথে তুলনায়, যা অ্যাপ বানানোর আরও অ্যাবস্ট্রাক্ট পদ্ধতি অফার করে)। হানামির অ্যাবস্ট্রাকশনগুলো 설립করা রেলস ডেভেলপারদের জন্যও ভয়ঙ্কর লাগতে পারে।
- ইন্ডাস্ট্রি অ্যাডপশন (Industry Adoption) - পাইথন, রিয়েক্ট, C# এবং অন্যান্য জনপ্রিয় প্রতিষ্ঠিত ফ্রেমওয়ার্কের অ্যাডপশন বাদ দিয়ে, যদি রুবি ফ্রেমওয়ার্কের অ্যাডপশন বিবেচনা করি, তবে রেলস সহজে হানামিকে পিছিয়ে দেয়। রেলস হোমপেজে কিছু বিগ-নেম অর্গানাইজেশন যারা ফ্রেমওয়ার্কটি ব্যবহার করে তালিকাভুক্ত আছে। অন্যদিকে, নতুন खिलাড়ি হলে হানামি এত широко অ্যাডপ্টেড নয়। ভবিষ্যতে কী হবে সেটা দিয়ে দেখতে হবে।
- জব মার্কেট প্রস্পেক্টস (Job Market Prospects) - জব প্রস্পেক্টস দৃষ্টিতে, রেলস ডেভেলপারের জন্য জব অপেনিং হানামি ডেভেলপারের চেয়ে বেশি পাওয়া যায়।
- গভর্ন্যান্স (Governance) - একটি এবং গুরুত্বপূর্ণ দিক যা উপেক্ষা করা যায় না সেটা গভর্ন্যান্স। পরিবর্তনশীল ল্যান্ডস্কেপ বাড়ে ওপেন-সোর্স ফ্রেমওয়ার্ক কীভাবে развиত ও এডভান্স হয় সেটা গাইড করে। কিন্তু এর চেয়ে বেশি, এই ফ্রেমওয়ার্কের কোর টিম মেম্বাররা প্রায়শই বিশাল ক্ষমতা রাখেন এবং ডিক্টেট করতে পারেন কী ফ্রেমওয়ার্কে যাবে, কীভাবে এটি ডেভেলপ হবে, ইত্যাদি।
একটি ভালো উদাহরণ হলো জানুয়ারিতে ডেভিড হাইনেমায়ার হ্যানসন (DHH), রেলস স্রষ্টার ঘোষণা। তিনি বলেন, ভবিষ্যতে তিনি রেলসকে ফুল-স্ট্যাক প্রোগ্রেসিভ ওয়েব অ্যাপ্লিকেশন এবং নেটিভ নোটিফিকেশন বানাতে ফার্স্ট-ক্লাস সাপোর্ট দিতে চান। এই ফিচারগুলো রেলসকে মোবাইল ডেভেলপারদের জন্য খুব আকর্ষণীয় করবে।
প্রতিক্রিয়ায়, অনেক ডেভেলপার—রুবি ইকোসিস্টেমের বাইর থেকেও এবং এমনকি যারা বছরের পর বছর রেলস ছেড়ে দিয়েছিল—বহুপ্রশংসা জানান এবং বললেন তিনি সহজে ফ্রেমওয়ার্কটি আবার পিক আপ করবেন বা শিখবেন যদি DHH কথা রাখেন। এই উদাহরণ শুধু দেখাচ্ছে গভর্ন্যান্স ফ্রেমওয়ার্ক বেছে নেওয়ার সময় অত্যন্ত গুরুত্বপূর্ণ বিবেচনা।
চলুন গিয়ার চেঞ্জ করি এবং অ্যাপ্লিকেশন পারফরম্যান্সে নজর দি।
পারফরম্যান্স: রুবি অন রেলস বনাম হানামি
একজন ডেভেলপার হিসেবে আপনি আপনার অ্যাপের নির্ভরযোগ্যতা, রেসপন্সিভনেস এবং প্রোডাকশনে ডিপ্লয় হওয়ার পর সার্ভার রিসোর্স কীভাবে ইউটিলাইজ করবে সেটা নিয়ে চিন্তিত হবেন। এগুলো মৌলিক উদ্বেগ যেটা আপনার ফ্রেমওয়ার্ক চয়েনকে ব্যাপকভাবে প্রভাবিত করতে পারে।
অ্যাপের পারফরম্যান্স টেস্ট করার জন্য অনেক মেথড ব্যবহার করা যায়, সবচেয়ে জনপ্রিয় একটা Apache JMeter। বেঞ্চмар্ক নাম্বার দিয়ে হানামি এবং রেলস তুলনা করি।
এখানে একটি কুইক বেঞ্চмар্ক টেস্ট দেখানো হয়েছে প্রতি সেকেন্ডে প্রতিটি ফ্রেমওয়ার্ক কত রিকোয়েস্ট হ্যান্ডেল করতে পারে:

হানামি রেলসকে পুরোপুরি পিছিয়ে দিয়েছে, রেলস যা হ্যান্ডেল করতে পারে তার ৩ গুণ বেশি রিকোয়েস্ট হ্যান্ডেল করতে পারে।
নিচের স্ক্রিনশটে প্রতিটি ফ্রেমওয়ার্কের গড় লেটেন্সি ভ্যালু দেখানো হয়েছে:

এখানেও হানামি রেলসকে হারিয়ে দিয়েছে প্রায় ৩ গুণ ছোট গড় লেটেন্সি টাইমের মাধ্যমে।
আপনি যদি একটি জ্বলদর্চি দ্রুত রুবি ফ্রেমওয়ার্ক খুঁজেন (মান लीজিয়ে, আপনাকে একটি দ্রুত এবং বিশাল স্কেলেবল API-তে কাজ করতে হয়), তবে রুবি ল্যান্ডস্কেপে হানামির চেয়ে ভালো কিছু খুঁজে পাওয়া কঠিন।
টেস্টিং (Testing)
কোড টেস্ট করার কথা হলে, দুটি ফ্রেমওয়ার্কই প্রায় সমান যেহেতু দুটোই ভার্সেটাইল RSpec লাইব্রেরি দিয়ে টেস্ট করা যায়।
হানামি অ্যাপের জন্য RSpec hanami-rspec জেমের মাধ্যমে ইনক্লুড হয়, আর রেলস অ্যাপে ব্যবহার করতে rspec-rails জেম ইনস্টল করতে হয়। নিচে একটি বেসিক টেস্ট স্পেক দেখানো হয়েছে যা নতুন হানামি অ্যাপের সাথে আয়ত্ত থাকে:
এটি $ bundle exec rspec spec/requests/root_spec.rb দিয়ে রান করলে পাসিং টেস্ট দেখাবে (আপনি ডিফল্ট ভিউ টেমপ্লেট এডিট না করলে):
রেলস পক্ষ থেকে, আপনাকে কিছুটা নিজে হ্যান্ডেল করতে হয়। প্রথমে, RSpec জেমটি ডেভেলপমেন্ট/টেস্ট ব্লকে Gemfile-এ যোগ করতে হয় নিচের মতো, তারপর bundle রান করুন:
পরবর্তী ধাপ হলো RSpec ইনস্টল রান করা কমান্ড bundle exec rails generate rspec:install দিয়ে আপনার রেলস প্রজেক্টের জন্য রেডি করা।
শেষে, টেস্ট লিখতে ও রান করার আগে আপনার রেলস অ্যাপের টেস্ট ডেটা ডিফাইন করার জন্য আরেকটি জেম ইনস্টল করতে হবে: FactoryBot।
এবং ধরে নিই আপনি টেস্ট সুইট ঠিকমতো সেটআপ করেছেন এবং কিছু টেস্ট ডিফাইন করেছেন, তাহলে হানামির মতই টেস্ট রান করতে পারেন bundle exec rspec spec/models/user_spec.rb দিয়ে। টেস্ট রেজাল্টও হানামি অ্যাপের মতই পাবেন:
শেষে, ডিপ্লয়মেন্টের ক্ষেত্রে ফ্রেমওয়ার্ক দুটি কীভাবে পারফর্ম করে সেটা দেখি।
ডিপ্লয়মেন্ট (Deployment)
আজকাল রুবি অ্যাপ প্রোডাকশনে ডিপ্লয় করার অনেক অপশন আছে।
শুরু করতে পারেন Platform-as-a-Service (PaaS) প্রোভাইডার যেন Heroku, বা Fly একে আরও সিমলেস এক্সপেরিয়েন্সের জন্য। অথবা একটু DevOps করে VPS-এ Docker ইনস্টল করে অ্যাপ ডিপ্লয় করতে পারেন।
আপনি যেকোনো অপশন বেছে নিন, ডিপ্লয়মেন্ট দুটি কেসেই প্রায় সমান হবে। একমাত্র সমস্যা হলো হানামি অ্যাপ ডিপ্লয় করার জন্য ব্যাপক ডকুমেন্টেশন এবং টিউটোরিয়ালের অভাব।
আগে বলা মতে, আপেক্ষিক নতুন ফ্রেমওয়ার্ক হওয়ায় হানামির এখনো ডিপ্লয়মেন্ট প্রসেস এবং উত্থান করতে পারে চ্যালেঞ্জগুলো কভার করে ব্যাপক ডকুমেন্টেশন নেই। আপনি যদি এখানে হ্যাক করার বাধা না মনে করেন, তবে আপনি ঠিক থাকবেন।
শেষ কথা
এই আর্টিকেলে আমরা দুটি রুবি ফ্রেমওয়ার্ক—রুবি অন রেলস এবং হানামি—ফিচার, আর্কিটেকচার, পারফরম্যান্স এবং আরও অনেক কিছুর দৃষ্টিতে তুলনা করেছি। চূড়ান্তভাবে, আমাদের প্রশ্নের উত্তর দিতে হবে: "আমি কোন ফ্রেমওয়ার্ক ব্যবহার করব এবং কেন?"। সারাংশ নিচে:
- আপনি যদি বেগিনার রুবি ডেভেলপার হন, রেলস দিয়ে শুরু করুন: শেখা সহজ এবং দ্রুত। আপনি যদি অ্যাডভান্সড রুবি ডেভেলপার হন, হানামি স্কিলসেট ডেভেলপ করুন, কারণ এটি আপনাকে আরও রবাস্ট রুবি অ্যাপ্লিকেশন ডেভেলপ করতে সাহায্য করবে।
- আপনাকে যদি একটি দ্রুত অ্যাপ ডেভেলপ করতে হয়, মানিয়ে একাধিক ক্লায়েন্ট সার্ভ করার একটি API, তবে হানামির স্মল মেমরি ফুটপ্রিন্ট, জ্বলদর্চি ফাস্ট রেসপন্স এবং কম লেটেন্সি আপনার কাজে আসবে। কিন্তু আপনি শুধু একটি মোনোলিথিক ফুল-স্ট্যাক অ্যাপ বানাতে চান একটি SaaS আইডিয়া ভ্যালিডেট করার জন্য, তবে রেলস আপনাকে দ্রুত সেখানে পৌঁছে দেবে।
চূড়ান্তভাবে, আপনি কী বেছে নেবেন সেটা সম্পূর্ণ আপনার ইচ্ছা। দুটি ফ্রেমওয়ার্কই শিখা বুরা আইডিয়া নয়। সেক্ষেত্রে, আপনার প্রজেক্টের প্রয়োজন অনুযায়ী সেরা ফ্রেমওয়ার্ক বেছে নেওয়া যাবে।
হ্যাপি কোডিং!
P.S. রুবি ম্যাজিক পোস্টগুলো প্রেস থেকে বের होते সাথে পেতে চাইলে আমাদের রুবি ম্যাজিক নিউজলেটার সাবস্ক্রাইব করুন এবং একটিও পোস্ট মিস করবেন না!
P.P.S. আপনি কি জানেন AppSignal-এর রেলস এবং হানামি উভয়ের জন্য ইন্টিগ্রেশন আছে?