জাভা স্ক্রিপ্ট মূলত স্ক্রিপ্টিং ল্যাঙ্গুয়েজ। ঐ সব প্রোগ্রামিং ল্যাঙ্গুয়েজকে স্ক্রিপ্টিং ল্যাঙ্গুয়েজ বলে যার কোড গুলো কম্পাইল ছাড়াই রান করা যায়। যেমন সি, জাভা এসব ল্যাঙ্গুয়েজ গুলোতে লেখা প্রোগ্রাম গুলো রান করার জন্য প্রথমে কম্পাইল করে নিতে হয়। স্ক্রিপ্টিং ল্যাঙ্গুয়েজে লেখা প্রোগ্রাম গুলো কম্পাইল না করে সরাসরি রান হয়।
বলা যায় এমন কোন ওয়েব সাইট নেই, যেটাতে জাভাস্ক্রিপ্ট কোড নেই। আমরা যত ওয়েব সাইট ব্রাউজ করি, প্রায় সব গুলোতেই বলা যায় জাভাস্ক্রিপ্ট কোড রয়েছে। একটা ওয়েব সাইটের জন্য ব্যাসিক তিনটে জিনিস লাগে। HTML, CSS আর JavaScript। HTML দিয়ে কন্টেন্ট গুলো লেখা হয়। CSS দিয়ে এই কন্টেন্ট গুলো সাজানো হয়। আর জাভাস্ক্রিপ্ট দিয়ে বিভিন্ন ফাংশনালিটি যোগ করা হয়। কোন বাটনে ক্লিক করলে কি হবে, কোথায় মাউস নিলে কেমন এনিমেশন হবে, কোন ফরমে ভুল লিখলে কি এরর দেখাবে এসবই সাধারণত জাভাস্ক্রিপ্ট দিয়ে করা হয়। এগুলো মূলত ব্যাসিক জিনিস। জাভা স্ক্রিপ্ট এখন আর এই ব্যাসিক জিনিসের মধ্যে সীমাবদ্ধ নেই। বর্তমানে কি কি করা যায় জাভাস্ক্রিপ্ট দিয়ে, তাই আমরা জানব এই লেখা থেকে।
স্ট্যাকওভারফ্লো প্রতিবছর একটা সার্ভে করে। তো এই সার্ভে অনুযায়ী সবচেয়ে বেশি ব্যবহৃত প্রোগ্রামিং ল্যাঙ্গুয়েজ হচ্ছে জাভাস্ক্রিপ্ট। আর জাভাস্ক্রিপ্ট প্রথম পজিশনে আছে টানা ৯ বছর ধরে!
ওয়েব সাইট তৈরি করতে অনেক গুলো লাইব্রেরি এবং ফ্রেমওয়ার্কই ব্যবহার করা যায়। সবচেয়ে বেশি ব্যবহৃত লাইব্রেরি এবং ফ্রেমওয়ার্ক হচ্ছে জাভাস্ক্রিপ্টের ফ্রেমওয়ার্ক। টপে রয়েছে React.js এরপরে রয়েছে jQuery, Express ইত্যাদি।
আগে জাভাস্ক্রিপ্ট দিয়ে শুধু মাত্র ক্লায়েন্ট সাইড (ব্রাউজার) কোড লেখার জন্য ব্যবহার করা হত। এখন জাভাস্ক্রিপ্ট দিয়ে ব্যাকএন্ড কোডও লেখা হয়। জাভাস্ক্রিপ্টের লাইব্রেরি বা ফ্রেমওয়ার্কের অভাব নেই। এই লেখাটি লেখার সময় টোটাল 1,444,231 লাইব্রেরি রয়েছে জাভাস্ক্রিপ্টের। লেখা শেষ হতে হতে আরো দুই একটা বেড়ে যাওয়ার সম্ভাবনা রয়েছে! এই লাইব্রেরি গুলোর মধ্যে একেক লাইব্রেরি একেক কাজের জন্য। যেমন সার্ভার সাইডে জাভাস্ক্রিপ্ট কোড রান করার জন্য রয়েছে Node.js প্লাটফর্ম। রয়েছে অনেক অনেক লাইব্রেরি।
জাভাস্ক্রিপ্টের জন্মই হয়েছে ইউজার এক্সপেরিয়েন্স এবং ইউজার ইন্টারফেসের জন্য। বর্তমানে সবচেয়ে জনপ্রিয় ইউজার ইন্টারফেস লাইব্রেরি হচ্ছে React। ফেসবুকের তৈরি এই লাইব্রেরি খুবি দ্রুত জনপ্রিয়তা লাভ করে। এছাড়া রয়েছে Vue.js, Angular, jQuery ইত্যাদি।
ক্রসপ্লাটফর্ম মোবাইল অ্যাপ তৈরি করার জন্যও সবচেয়ে বেশি যে প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহৃত হয়, তা হচ্ছে এই জাভাস্ক্রিপ্ট। জাভাস্ক্রিপ্ট বেজড জনপ্রিয় ক্রসপ্লাটফর্ম মোবাইল অ্যাপ ডেভেলপমেন্ট ফ্রেমওয়ার্ক গুলো হচ্ছে React Native, Ionic, Sencha, PhoneGap ইত্যাদি। একই কোড অ্যান্ড্রয়েড এবং আইওএস দুই প্লাটফর্মেই কাজ করে।
যারা ডেটা নিয়ে কাজ করতে, তারা ডেটা ভিজুয়ালাইজেশনের জন্য দেখতে পারেন D3.js, Recharts, Victory ইত্যাদি। এখনকার বেশির ভাগ বড় প্রজেক্টে ডেটা ভিজুয়ালাইজেশনের দরকার হয়। এসব লাইব্রেরি তখন কাজে দিবে।
এছাড়া মেশিন লার্নিং এর জন্যও রয়েছে অনেক গুলো জাভাস্ক্রিপ্ট লাইব্রেরি। TensorFlow.js এর মাধ্যমে জাভাস্ক্রিপ্ট দিয়েই মেশিন লার্নিং মডেল তৈরি করা যাবে। সে মডেল চাইলে ক্লায়েট সাইডে অথবা Node.js ব্যবহার করে সার্ভার সাইডে রানও করা যাবে।
বর্তমান সময়ে কেউ যদি সহজে জব পেতে চায়, তাহলে আমি বলব জাভাস্ক্রিপ্ট শিখতে। ব্যাসিক জাভাস্ক্রিপ্ট শিখে এরপর উপরের যে কোন একটা ফ্রেমওয়ার্ক ভালো ভাবে শিখে নিলেই মোটামুটি সহজে জব পাওয়া যাবে। যদি কেউ জিজ্ঞেস করে কোন ফ্রেমওয়ার্ক শিখব, আমি বলব React শিখতে। এছাড়া কেউ যদি জাভাস্ক্রিপ্ট দিয়ে সার্ভার সাইড কোড লিখতে চায়, আমি বলব Node.JS সম্পর্কে ধারণা নিয়ে এরপর Express.js শিখতে।
জাভাস্ক্রিপ্ট একটা টুল। এই টুল ব্যবহার করে আপনার পছন্দ মত যে কোন কিছুই করতে পারেন। দিন দিন এই ল্যাঙ্গুয়েজের ব্যবহার বাড়ছে। তাই শিখে রাখলে কাজে লাগানো যাবে।
কোথায় থেকে শিখবেনঃ
ব্যাসিক জাভাস্ক্রিপ্ট শেখার জন্যঃ
- w3schools JavaScript
- freeCodeCamp JavaScript
- এবং ইউটিউবে দারুণ সব টিউটোরিয়াল পাওয়া যাবে।
এছাড়া অন্যান্য লাইব্রেরি এবং ফ্রেমওয়ার্ক গুলোর জন্য ফ্রেমওয়ার্ক গুলোর নিজস্ব টিউটোরিয়ালের পাশা পাশী ইউটিউব, Udemy এসবে দারুণ সব ফ্রি টিউটোরিয়াল রয়েছে। একটু সময় দিলেই শিখে নেওয়া যাবে।
Nc