Breaking the Browser Barrier 🔓
জাভাস্ক্রিপ্টকে ব্রাউজারের খাঁচা থেকে মুক্ত করে সার্ভারের বিশাল জগতে নিয়ে আসার কারিগর হলো Node.js। চলুন এই অধ্যায়ে আমরা জানবো কীভাবে এটি কাজ করে এবং কেন এটি বর্তমান ব্যাকএন্ড জগতের অন্যতম শক্তিশালী টুল।
১.১ Node.js কী? (Redefining the Runtime)
Node.js কোনো প্রোগ্রামিং ল্যাঙ্গুয়েজ নয়; এটি একটি Open-source, Cross-platform, JavaScript Runtime Environment। এটি Google Chrome-এর শক্তিশালী V8 Engine-এর উপর ভিত্তি করে তৈরি।
Node.js = V8 Engine (C++) + Libuv (C++) + JavaScript
💡 মূল কথা: এটি আপনাকে আপনার কম্পিউটারে বা সার্ভারে সরাসরি জাভাস্ক্রিপ্ট রান করার ক্ষমতা দেয়।
১.২ কেন Node.js ব্যবহার করবেন? (The Winning Edge)
কেন নেটফ্লিক্স, উবার বা লিঙ্কডইন-এর মতো জায়ান্ট কোম্পানিগুলো Node.js বেছে নিলো?
⚡ হাই-স্পিড এক্সিকিউশন
V8 ইঞ্জিন জাভাস্ক্রিপ্ট কোডকে সরাসরি মেশিন কোডে রূপান্তর করে, যা এক্সিকিউশন টাইম কমিয়ে দেয়।
🔄 নন-ব্লকিং I/O
এটি একসাথে হাজার হাজার রিকোয়েস্ট হ্যান্ডেল করতে পারে কোনো ল্যাগ ছাড়াই।
📦 NPM ইকোসিস্টেম
বিশ্বের বৃহত্তম সফটওয়্যার রেজিস্ট্রি (npm) আপনার হাতের নাগালে, যেখানে লাখ লাখ রেডিমেড প্যাকেজ পাওয়া যায়।
🚀 ইউনিফাইড ল্যাঙ্গুয়েজ
আপনি ফ্রন্টএন্ড এবং ব্যাকএন্ড—উভয় ক্ষেত্রেই জাভাস্ক্রিপ্ট ব্যবহার করতে পারছেন, যা ডেভেলপমেন্ট প্রসেসকে করে তোলে অত্যন্ত দ্রুত।
১.৩ Browser JS বনাম Node.js (The Comparison)
| বৈশিষ্ট্য | Browser JavaScript | Node.js |
|---|---|---|
| Environment | শুধুমাত্র ব্রাউজারে রান করে | সার্ভার বা কম্পিউটারে রান করে |
| DOM/Window | সরাসরি অ্যাক্সেস আছে (Window, Document) | কোনো অ্যাক্সেস নেই |
| System Access | ফাইল বা ওএস অ্যাক্সেস করতে পারে না | ফাইল সিস্টেম এবং নেটওয়ার্ক অ্যাক্সেস করতে পারে |
| Global Object | window হলো গ্লোবাল অবজেক্ট |
global হলো গ্লোবাল অবজেক্ট |