Dart Language Overview
পরিচিতি
ডার্ট কি?
ডার্ট একটি বহুমুখী বা জেনারেল-পারপাস প্রোগ্রামিং ল্যাঙ্গুয়েজ। ২০১১ সালে Google ডার্ট ল্যাঙ্গুয়েজ লঞ্চ করে। এটি ব্যবহার করে ওয়েব, মোবাইল এবং ডেস্কটপ ডেভেলপমেন্ট সহ বিভিন্ন ধরণের অ্যাপ্লিকেশন তৈরি করা যায়। এটি একটি অবজেক্ট-অরিয়েন্টেড (Object-Oriented) প্রোগ্রামিং ল্যাঙ্গুয়েজ। ডার্ট তৈরির মুখ্য উদ্দেশ্য ছিলো একটি প্ল্যাটফর্ম-নির্বিশেষ বা ক্রস প্লাটফর্ম প্রোগ্রামিং ল্যাঙ্গুয়েজ তৈরি কড়া।ক্রস-প্লাটফর্ম অ্যাপ্লিকেশন ডেভেলপমেন্ট ফ্রেমওয়ার্ক ফ্লাটার এর মৌলিক ল্যাঙ্গুয়েজ হিসেবে ডার্ট বহুল পরিচিত।
ডার্ট এর ব্যাবহার
ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ এর সবচেয়ে জনপ্রিয় ব্যবহার হলো ফ্লাটার ফ্রেমওয়ার্ক এর মাধ্যমে নেটিভলি কম্পাইল্ড মোবাইল অ্যাপ্লিকেশন ডেভেলপ করা। এছাড়াও ফ্লাটার ফ্রেমওয়ার্ক ব্যবহার করে ওয়েব এবং ডেস্কটপ অ্যাপ্লিকেশন ডেভেলপ করতেও ডার্ট মৌলিক ভাষা হিসেবে ব্যবহার করা হয়। ডার্টকে মৌলিক প্রোগ্রামিং ভাষা হিসেবে ব্যবহার করে নিন্মক্ত ফ্রেমওয়ার্ক গুলো তৈরি করা হয়েছে:
Flutter ( https://flutter.dev/) : Flutter একটি জনপ্রিয় ক্রস-প্ল্যাটফর্ম মোবাইল অ্যাপ ডেভেলপমেন্ট ফ্রেমওয়ার্ক। এটি মোবাইল অ্যাপ এবং ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয় এবং একই কোডবেস দিয়ে অ্যাপটি মাল্টিপ্ল্যাটফর্মে চালানো যায়।
AngularDart ( https://angulardart.xyz/) : AngularDart হলো Angular ফ্রেমওয়ার্কের একটি ভার্শন যেখানে ডার্ট মৌলিক প্রোগ্রামিং ভাষা এটি ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্টে ব্যবহৃত হয়।
Aqueduct ( https://aqueduct.io/) : Aqueduct একটি সার্ভার-সাইড ফ্রেমওয়ার্ক। Aqueduct ডার্ট ভাষায় তৈরি হয়েছে এবং RESTful ও WebSocket API তৈরি করার জন্য ব্যবহার কড়া হয়। এটি সার্ভার সাইড ডেভেলপমেন্টে ডার্ট ল্যাঙ্গুয়েজ ব্যবহারের একটি উদাহরণ।
Angel ( https://angel-dart.dev/) : Angel-ও ডার্ট ভাষায় তৈরি একটি সার্ভার-সাইড ফ্রেমওয়ার্ক, যা RESTful ও WebSocket API ডেভেলপমেন্টে ব্যবহৃত হয়।
ডার্ট এর সুবিধা
পূর্বের অনুচ্ছেদ পড়ার পর এতক্ষণে নিশ্চই বুঝে গিয়েছেন যে ডার্ট ভাষা ব্যবহার করে আমরা ক্রস প্লাটফর্ম এপ্লিকেশন, ওয়েব অ্যাপ্লিকেশন, সার্ভার-সাইড অ্যাপ্লিকেশন বানাতে পারি। আসলে এগুলোই ডার্টের অন্যতম গুরুত্বপূর্ণ সুবিধা।
ডার্টের উল্লেখযোগ্য সুবিধাসমুহ হল:
- ক্রস-প্ল্যাটফর্ম: ডার্ট ব্যবহার করে একটি কোডবেস দিয়ে মোবাইল অ্যাপ এবং ওয়েব অ্যাপ তৈরি কড়া যায়, যা ভিন্ন ভিন্ন প্লাটফর্ম এর জন্য ভিন্ন ভিন্ন কোডবেইজ প্রস্তুত করা ও সংরক্ষণ করার তুলনায় সহজ এবং কম সময় সাপেক্ষ।
- JIT এবং AOT কম্পাইলেশন: ডার্ট Just-In-Time (JIT) and Ahead-Of-Time (AOT) উভয় কম্পাইলেশন সাপোর্ট করে। ফলে পারফরম্যান্স অপটিমাইজেশনে ফ্লেক্সিবিলিটি পাওয়া যায় ।
- ফাস্ট কম্পাইলেশন: ডার্ট প্রোগ্রাম দ্রুত কম্পাইল হয়।ডার্ট এর AOT কম্পাইলেশন অ্যাপ্লিকেশনকে খুবই দ্রুত নেটিভ মেশিন কোডে ট্রান্সলেট করে। ফলে ইনস্ট্যান্ট স্টার্টআপ পারফরমেন্স পাওয়া যায়। বিভিন্ন মডার্ন প্রোগ্রামিং ভাষার স্টার্টআপ পারফরমেন্স বেঞ্চমার্ক দেখার জন্যক্লিক করুণ।
- সার্ভার-সাইড এবং ক্লায়েন্ট সাইডে একই ভাষা: ডার্ট ব্যবহার করে একই ভাষায় ক্লায়েন্ট সাইড এবং সার্ভার-সাইড কোড লিখার সুবিধা দিয়ে থাকে। যা কোড শেয়ারিং এবং রিউসেবিলিটি দেয়।
- নির্দিষ্ট টাইপিং: ডার্টে স্ট্যাটিক টাইপ সিস্টেম রয়েছে যা কোডের রিফ্যাকটরিং এবং ব্যাবস্থাপনা সহজ করে এবং বাগ নির্ণয়ে সাহায্য করে।
- সহজবোধ্য এবং সংরক্ষণযোগ্য কোড: ডার্ট এ সহজবোধ্য সিনটেক্স এবং গুছানো কোড ফরম্যাটিং সাপোর্ট রয়েছে যার ফলে কোড পড়ে সহকেই বুঝা জয় এবং কোড সংরক্ষণ করাও সহজ হয়।ডার্ট এর একটি বড় সুবিধা হলো ডার্টের সিনটেক্সের সাথে বহুল পরিচিত সি লাঙ্গুয়েজের সিনটেক্সের সাথে মিল রয়েছে ।
- বিল্ট-ইন টেস্টিং ফ্রেমওয়ার্ক: ডার্ট ইউনিট টেস্টিং এর জন্য একটি বিল্ট-ইন টেস্টিং ফ্রেমওয়ার্ক দিয়ে থাকে যা কোড কোয়ালিটির জন্য খুবই গুরুত্বপূর্ণ।
এই সুবিধাসমূহের জন্য, ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ মডার্ন ওয়েব এবং মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টে একটি জনপ্রিয় ভাষা হিসেবে পরিচত।