ডার্ট প্যাকেজ

এখন আমরা দেখব কিভাবে ডার্ট বা ফ্লাটার ইকোসিস্টেমে মডিউলারাইজেশন প্রয়োগ করা হয়। সাধারণত এখানে প্যাকেজের মাধ্যমে মডিউলারাইজেশন নিশ্চিত করা হয়। ডার্ট বা ফ্লাটার ইকোসিস্টেমে ডার্ট প্যাকেজ হলো কোড ফাইল এবং অ্যাসেট যেগুলি একটি একক একক ইউনিট হিসেবে সংগ্রহিত এবং বিতরণ করা হয়। ডার্ট হলো গুগলের তৈরি প্রোগ্রামিং ভাষা, এবং এটি সাধারণভাবে ওয়েব, মোবাইল, এবং ডেস্কটপ অ্যাপ্লিকেশন তৈরি করার জন্য ব্যবহৃত হয়। ডার্ট প্যাকেজ ডার্টের প্যাকেজ ম্যানেজমেন্ট সিস্টেমের একটি মৌলিক অংশ এবং কোড শেয়ার এবং পুনর্ব্যবহার সহজ করে।

প্যাকেজের স্ট্রাকচার

একটি ডার্ট প্যাকেজ সাধারণত একটি ডিরেক্টরি নিয়ে গঠিত যাতে সমস্ত প্রয়োজনীয় কোড ফাইল এবং অ্যাঁসেট থাকে। একটি ডার্ট প্যাকেজের গঠনে কোডবেসের বিভিন্ন অংশ সংগঠিত করার জন্য সাবডিরেক্টরি অন্তর্ভুক্ত থাকতে পারে।

১। লাইব্রেরি ফাইল: ডার্ট প্যাকেজে সাধারণভাবে একটি বা একটির বেশি ডার্ট সোর্স কোড ফাইল থাকে, যেগুলি সাধারণভাবে লাইব্রেরি রূপে সংগঠিত করা হয়। লাইব্রেরিগুলি পুনর্ব্যবহার করার জন্য ইম্পোর্ট করা এবং অন্যান্য ডার্ট প্রোগ্রামে ব্যবহার করা যেতে পারে। প্রতিটি লাইব্রেরির মধ্যে তার নিজের ক্লাস, ফাংশন, এবং ভেরিয়েবলের সেট থাকতে পারে।

২। pubspec.yaml: pubspec.yaml ফাইল ডার্ট প্যাকেজের একটি গুরুত্বপূর্ণ অংশ। এটি প্যাকেজের সম্পর্কে মেটাডেটা সরবরাহ করে, যেমন প্যাকেজের নাম, সংস্করণ, ডিপেন্ডেন্সিগুলি, এবং অন্যান্য কনফিগারেশন বিকল্পগুলি। এই ফাইলটি প্যাকেজ পরিচালনার জন্য অপরিহার্য এবং নিশ্চিত করে যে প্যাকেজটি সহজেই শেয়ার করা যায় এবং অন্যদের দ্বারা ব্যবহার করা যায়।

৩। অ্যাসেট: কোড ফাইলের সাথে অ্যাসেট এমন ইমেজ, ফন্ট, বা কনফিগারেশন ফাইল ইত্যাদি থাকতে পারে, যা প্যাকেজের অংশ হিসেবে অন্তর্ভুক্ত হতে পারে। এই অ্যাসেটগুলি ওই প্যাকেজ দ্বারা অথবা প্যাকেজের উপর নির্ভর করা অ্যাপ্লিকেশনগুলি দ্বারা ব্যবহৃত হতে পারে।

৪। ডিপেন্ডেন্সি ম্যানেজমেন্ট: ডার্ট প্যাকেজ অন্যান্য ডার্ট প্যাকেজের উপর নির্ভর করতে পারে। pubspec.yaml ফাইলটি প্যাকেজের উপর নির্ভরশীলতাগুলি নির্দিষ্ট করে। ডার্ট প্যাকেজ ম্যানেজার, pub নামে পরিচিত, প্যাকেজ ইনস্টল করা হলে এই নির্ভরতাগুলি স্বয়ংক্রিয়ভাবে সমাধান করে এবং আনয়ন করে।

৫। টেস্ট এবং ডকুমেন্টেশন: উন্নত ডার্ট প্যাকেজগুলিতে সাধারণত কোডের নির্ভূলতা নিশ্চিত করতে টেস্ট যোগ করা হয় এবং কীভাবে প্যাকেজটি সঠিকভাবে ব্যবহার করা হবে ডকুমেন্টেশন যোগ করা হয়ে থাকে।

প্যাকেজ বিতরণ

ডার্ট প্যাকেজগুলি ডার্ট প্যাকেজ রিপোজিটরির মাধ্যমে প্রকাশ এবং বিতরণ করা যেতে পারে, যা pub.dev এ অ্যাক্সেসযোগ্য। ডেভলোপারগন তাদের প্যাকেজগুলি pub.dev-এ আপলোড করতে পারে, যাতে অন্যরা সহজেই ব্যবহার করতে পারে এবং প্রয়োজনে সেখানে অবদান রাখতে পারে৷
প্যাকেজ বিতরণ নিয়ে আমরা পরের দিকে বিস্তারিত আলোচনা করব।

সংস্করণ নির্ধারণ

ডার্ট প্যাকেজ পরিবর্তন এবং আপডেট নির্দেশ করতে সেমান্টিক ভার্সনিং ( semver ) ব্যবহার করে। এই ভার্সনিং স্কিম ডেভেলপারদের প্যাকেজে আপডেটের সামঞ্জস্য এবং প্রভাব বুঝতে সাহায্য করে।

ডার্ট প্যাকেজ তৈরি, ব্যবস্থাপনা, এবং প্রকাশ করতে, ডেভেলপাররা সাধারণত ডার্ট এসডিকে সহযোগী টুল হিসেবে ব্যবহার করেন, যা ডার্ট এসডিকের সাথে সংযুক্ত থাকে। এই টুলটি প্যাকেজ তৈরি করতে, ডিপেন্ডেন্সি ব্যবস্থাপনা করতে, এবং প্যাকেজগুলি pub.dev সাইটে এ প্রকাশ করতে সম্পর্কিত কমান্ড সরবরাহ করে।
ডার্ট প্যাকেজগুলি ডার্ট ইকোসিস্টেমের গুরুত্বপূর্ণ অংশ, উচ্চ মানের অ্যাপ্লিকেশন তৈরি এবং ডেভেলপারদের মধ্যে পুনর্ব্যবহার এবং সহযোগিতা বৃদ্ধি করার সুযোগ তৈরি করে।

ডার্ট প্যাকেজ তৈরি

এবার দেখি একটি ডার্ট প্যাকেজ কিভাবে তৈরি করা যায়। ধরা যাক আমরা একটি my_package নামে প্রোজেক্ট ক্রিয়েট করবো। এজন্য নিচের কমান্ডটি রান করতে হবে। dart create -t package my_package উপরোক্ত কমান্ডটি রান করলে my_package নামে একটা ডিরেকটরি তৈরি হয় এবং নিচের ফাইলগুলি সেখানে তৈরি হয়।

নিম্নে একটা ডার্ট প্যাকেজ চিত্রের মাধ্যমে দেখানো হলঃ

my_package/
│
├── lib/
│   ├── src/
│   │   ├── my_package_base.dart
│   │   ├── utils.dart
│   │
│   ├── my_package.dart
│
├── test/
│   ├── my_package_test.dart
│   ├── utils_test.dart
│
├── example/
│   ├── my_package_example.dart
│
├── pubspec.yaml
 

আপনার লাইব্রেরি অন্যরা কীভাবে ব্যবহার করবে তার একটি উদাহরণ অন্তর্ভুক্ত করতে পারেন । এটি প্যাকেজের শীর্ষে example ডিরেক্টরিতে থাকবে। এছাড়া অ্যারও কিছু ফাইল তৈরি হয় যেমন changelog.md, README.md, analysis_option.yaml ইত্যাদি ।