টাইপস্ক্রিপ্ট কি? টাইপস্ক্রিপ্ট এডপ্ট করা উচিত?

বাংলা ব্লগওয়েব ডেভেলপমেন্ট৭ ডিসেম্বর, ২০২৩

টাইপস্ক্রিপ্ট কি? টাইপস্ক্রিপ্ট এডপ্ট করা উচিত?

টাইপস্ক্রিপ্ট একটি জাভাস্ক্রিপ্ট বেজড অব্জেক্ট অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। এটিকে আলাদা প্রোগ্রামিং ল্যাঙ্গুয়েজ না বলে জাভাস্ক্রিপ্টের একটা ফ্লেভারও বলা যেতে পারে। সহজ কথায় বললে, টাইপস্ক্রিপ্টে আপনি জাভাস্ক্রিপ্টের সব ফিচার তো পাবেনই, সাথে এডিশনাল কিছু ফিচারও পাবেন। জাভাস্ক্রিপ্ট এর লিমিটেশনগুলি সল্ভ করে এবং বেটার কোডিং এক্সপেরিএন্স দেয়ার জন্য ডেভেলপ করা হয়েছে। যদিও টাইপস্ক্রিপ্ট একটি ওপেন সোর্স প্রোগ্রামিং ল্যাঙ্গুয়েজ, তবে এর ডেভেলপমেন্টের পিছনে রয়েছে দ্য জায়ান্ট মাইক্রোসফট।

টাইপস্ক্রিপ্ট এ হাজার হাজার এডিশনাল ফিচার নেই, টাইপস্ক্রিপ্ট ব্যবহারের প্রধান কারন হলো ভ্যারিয়েবল টাইপ কে স্ট্যাটিক করা। নরমালি জাভাস্ক্রিপ্টে কোডের যেকোনো পয়েন্টে ভ্যারিয়েবল টাইপ চেঞ্জ করা যায়, যেটা মাঝে মাঝে বাগ-ভাল্লুকের জন্ম দেয়। লার্জ স্কেল এপ্লিকেশনে এই ভ্যারিয়েবল টাইপ ট্র্যাক রাখার প্যারা থেকে মুক্তি পেতে টাইপস্ক্রিপ্ট এর উত্থান।

// জাভাস্ক্রিপ্ট
let amarpocket = "500";
amarpocket = 200; // স্ট্রিং টাইপের ভ্যারিয়েবল এখানে নাম্বার হয়ে গেলো
// টাইপস্ক্রিপ্ট
let amarpocket = "500";
amarpocket = 200; // এখানে এরর আসবে, আলাদা টাইপের ভ্যালু এসাইন ই করতে দিবে নাCode language: JavaScript (javascript)

ধরা যাক কোন ভ্যারিয়েবলের ভ্যালু “500” আছে এজ স্ট্রিং, ভ্যানিলা জাভাস্ক্রিপ্টে এটাতে নাম্বার 200 এড করলেন, রেজাল্ট আসবে 500200, এটাই হচ্ছে ডাইনামিক টাইপ ভ্যারিয়েবলের সমস্যা।

টাইপস্ক্রিপ্ট এর ফিচারগুলির মধ্যে ইন্টারফেস, enum, ইউনিয়ন টাইপ, টাইপ গার্ড, ইত্যাদি কোডিং এক্সপেরিয়েন্স অনেক মজার করে, সাথে কোড কুয়ালিটিতেও ভালো কন্ট্রিবিউট করে।

টেকনিক্যালি টাইপস্ক্রিপ্ট আলাদা কোন ল্যাঙ্গুয়েজ না, টাইপস্ক্রিপ্ট প্রজেক্ট করতে গেলে আপনাকে জাস্ট কোডিং স্টাইলে সামান্য পরিবর্তন আনতে হবে এই যা।

টাইপস্ক্রিপ্ট এডপ্ট করা উচিত নাকি উচিত না?

লার্জ স্কেল এপ্লিকেশন না হলে হলে টাইপস্ক্রিপ্ট এ প্রজেক্ট না করলেও খুব একটা ক্ষতি নাই। টাইপস্ক্রিপ্ট এ কোড করতে প্লেইন জাভাস্ক্রিপ্টের চেয়ে একটু বেশি সময় লাগে। প্রতিবার ভ্যারিয়েবল ক্রিয়েট করার সময় টাইপ ডিক্লেয়ার করার মাঝেও একটা প্যারা আছে, হাহা। তবে ভেরিয়েবল টাইপ রিলেটেড বাগগুলি আরও বেশি প্যারা দেয়। টাইপ ডিক্লেয়ারড কোডগুলি ওয়েল ডকুমেন্টেড কোড মনে হয় আমার কাছে। কোড করার সময় বারবার ভ্যারিয়েবল টাইপ ট্র্যাক রাখতে হয় না।

টাইপস্ক্রিপ্ট জাভাস্ক্রিপ্ট এর এন্টারপ্রাইজ ভ্যারিয়েন্ট হিসেবে ভালোই পরিচিতি পেয়েছে, বেশিরভাগ এন্টারপ্রাইজ এপ্লিকেশনগুলি টাইপস্ক্রিপ্ট এ করা। সো, জাভাস্ক্রিপ্ট ডেভেলপার হিসেবে টাইপস্ক্রিপ্ট জানা থাকা একটা প্লাস পয়েন্ট হিসেবেই ধরা যায়।

টাইপস্ক্রিপ্ট এর আইডিই সাপোর্ট জাভাস্ক্রিপ্টের চেয়ে অনেক বেটার, অনেক সহজেই ডিবাগ তো করা যায় ই, কোড করার সময় এটা হেল্পিং হ্যান্ডের মতো তথ্য দিতে থাকে।

এজ আ ডেভেলপার নতুন টুল নিয়ে ঘাটাঘাটি করা উচিৎ, ইউজ করার পর নিজেই বুঝবেন আপনার এটা এডপ্ট করা উচিৎ কি উচিৎ না। তবে টাইপস্ক্রিপ্ট এর কমিউনিটি দিঙ্কে দিন বেড়েই চলেছে, সো জাভাস্ক্রিপ্ট ডেভেলপার হিসেবে টাইপস্ক্রিপ্ট জেনে রাখা বুদ্ধিমানের মতোই কাজ হবে।

টাইপস্ক্রিপ্ট নিয়ে বেশিকিছু নাই আসলে এক্সপ্লেইন করার মতো। প্ল্যান আছে খুব শিঘ্রই টাইপস্ক্রিপ্টের ফিচারগুলি নিয়ে আলাদা একটা পোস্ট করার।

এই টপিকের আরও কিছু পোস্টঃ

© সোলায়মান হায়দার