Create React App (CRA) vs VITE
Vite আর Create React App (CRA) এই দুইটি টুল আলাদা bundler ব্যবহার করে।
🔹 ১. Create React App (CRA) → ✅ Webpack ব্যবহার করে
যখন তুমি
npx create-react-app my-app
দিয়ে প্রজেক্ট তৈরি করো, তখন Webpack স্বয়ংক্রিয়ভাবে setup হয়ে যায়।
📦 এর ভিতরে Webpack ছাড়াও অনেক কিছু থাকে:
Babel (JS compile করার জন্য)
-
Webpack (bundler)
-
ESLint, PostCSS, Autoprefixer ইত্যাদি
তবে সবকিছুই abstracted, মানে তুমি সরাসরি Webpack config দেখতে বা edit করতে পারো না, যতক্ষণ না eject করো।
🔹 ২. Vite → ❌ Webpack ব্যবহার করে না
Vite Webpack না, বরং ESBuild + Rollup ব্যবহার করে।
⚡ Vite অনেক দ্রুত কারণ:
ESBuild (Go-তে লেখা, super fast)
-
Development time এ কোনো bundle করে না, বরং native ES Modules ব্যবহার করে
📦 তবে final build করার সময় Vite Rollup দিয়ে bundle তৈরি করে।
🧠 সংক্ষেপে:
Tool | Uses Webpack? | Notes |
---|---|---|
Create React App | ✅ হ্যাঁ | ভিতরে Webpack setup করা থাকে |
Vite | ❌ না | Webpack বাদ দিয়ে ESBuild & Rollup ব্যবহার করে |
🔚 Final উত্তর:
তুমি যদি CRA ব্যবহার করো, তাহলে হ্যাঁ — Webpack অটো setup হয়ে যায়।
কিন্তু যদি Vite ব্যবহার করো, তাহলে Webpack না, বরং Vite নিজস্ব bundling system ব্যবহার করে।
---
✅ ESBuild আর Rollup — দুটোই bundler। তবে এদের কাজের ধরন আর উদ্দেশ্য একটু আলাদা। নিচে আলাদা করে বিস্তারিতভাবে বলছি।
🔹 ১. ESBuild – সুপার ফাস্ট bundler & transpiler
🧠 এটা কী?
ESBuild হলো একদম নতুন ধরণের bundler যেটা Go ভাষায় লেখা হয়েছে, এবং একে বলা হয় super-fast bundler।
✅ ESBuild কী করতে পারে?
JavaScript/TypeScript কে bundle করে
-
Transpile করে (যেমন: ES6 → ES5)
-
JSX, TSX সাপোর্ট করে
-
খুব কম সময়ে অনেক বড় প্রজেক্ট bundle করতে পারে
⚡ গুণ:
অসাধারণ performance (CRA/Webpack এর চেয়ে অনেক দ্রুত)
-
Development server এর জন্য Vite এটা ব্যবহার করে
🔹 ২. Rollup – Production-optimized bundler
🧠 এটা কী?
Rollup হলো আরেকটা bundler, যেটা production build বানানোর জন্য খুবই উপযোগী।
✅ Rollup কী করতে পারে?
ছোট ও optimized bundle বানায়
-
Tree-shaking (unused code remove) করে
-
ESM (ES Module) based bundling সাপোর্ট করে
-
CSS, JSON, images bundle করতে পারে plugins দিয়ে
⚡ গুণ:
Clean output
-
Better performance in production
-
Modern JavaScript bundling system
🔧 Vite কিভাবে ব্যবহার করে?
কাজ | ব্যবহার করে |
---|---|
Development time | ✅ ESBuild (ফাস্ট dev server, hot reload) |
Production build | ✅ Rollup (optimize করে final bundle বানায়) |
🔚 সংক্ষেপে:
✅ ESBuild এবং Rollup — দুটোই bundler।
- তবে:
ESBuild → দ্রুত কাজ করে, dev time এ ব্যবহৃত হয়
Rollup → production build-এর জন্য ব্যবহৃত হয়
👉 তুমি যদি Vite ব্যবহার করো, তাহলে তুমি দুইটাই পাচ্ছো:
fast dev + optimized production।
---
Tool | Transpiler | Bundler | উদ্দেশ্য |
---|---|---|---|
Create React App (CRA) | ✅ Babel | ✅ Webpack | Traditional React setup |
Vite | ✅ ESBuild (Transpile & Dev) ✅ Rollup (Build) | ⚡ ESBuild → Dev time 🎯 Rollup → Production | Modern, faster setup |