ডার্ট ১০১ - ইনস্টলেশন

আজকের পোস্ট হবে ডার্ট ইনস্টলেশন নিয়ে। ডার্ট ইনস্টলেশন পেজে গেলে আমরা দেখতে পাব যে তিন ধরণের ইনস্টলেশনের কথা বলা হয়েছে। আমরা যেহেতু সামনের কিছুদিন ভেনিলা ডার্ট প্রোগ্রামিং নিয়ে আলোচনা করব তাই ডার্ট SDK ইনস্টলেশন এই পোস্টের স্কোপভুক্ত।

যদি আপনি এই মুহূর্তে ইনস্টল করতে না চান তাহলে ডার্টপ্যাডে কোড টাইপ করে দেখতে পারেন যদিও তা খুবই ছোট স্ক্রিপ্ট টাইপ স্নিপেটের জন্য।

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

১. অবশ্যই এনভায়রনমেন্ট ভ্যারিয়েবল সেট করে নিবেন ডার্ট এর জন্যে। অর্থাৎ কমান্ডলাইন থেকে যাতে ডার্ট প্রদত্ত কমান্ড রান করা যায়। ২. ডার্ট আমাদের বেশ কিছু কমান্ড টুল দিয়ে থাকে। আপাতত আমাদের প্রয়োজন হবে pub কমান্ডের। ৩. pub কমান্ড অনেকটা yarn কমান্ডের মত, পার্থক্য হল এটি কোর ল্যাঙ্গুয়েজে প্রদত্ত এবং এর জাতের কেবল একটাই এমন টুল রয়েছে ডার্টে, ১০০০ টি নয়, এর মাধ্যমে আপনি সোর্স কোড এক্সেকিউট, ডিপেন্ডেন্সি ফেচিং, টেস্ট রান, এবং ডার্ট সংশ্লিষ্ট টুল ইনস্টল করতে পারবেন। এর সাইট (https://www.dartlang.org/tools/pub) থেকে আরো জানতে পারবেন।

তো ডার্ট ইনস্টল করা হল, টেস্ট করা যাক এবার। আমরা একটি ফোল্ডার খুলি পছন্দসই কোন এক স্থানে (ভাল হবে যদি আমরা ডার্ট-১০১ এর সমস্ত টিউটোরিয়াল এবং অনুশীলনী একটা নির্দিষ্ট ফোল্ডার অর্গানিজশন (যেমন: ~/dart101/day_1/hello.dart) মেইনটেইন করে সাজাই। এটা একটা সাজেশান, বাধ্যতামূলক কিছু না। তো, আমাদের hello.dart ফাইল খুলি এবং সেখান লিখি-

main() {
  print("Hello Dart-101");
}

এবার টার্মিনাল থেকে cd করে যে ফোল্ডারে hello.dart রয়েছে যেখানে যায় এবং dart hello.dart লিখি, যদি রান করে তাহলে একটা বড় কাজ সারলাম। রান না করলে দেখুন কি বলে, ওই মেসেজ টাইপ করে গুগুল সার্চ করে দেখেন অন্যদের সমাধান কি ছিল? অথবা ফেইসবুক গ্রূপে গিয়ে প্রশ্নক্ষেপণ করেন, যদিও ৯৯% চান্স রয়েছে যে তা রান করবেই।

কিছু কথা পাইথন প্রোগ্রামারদের জন্য-

১. ডার্ট অফিসিয়ালি কোন REPL দেয় না। সব ফাইলে টাইপ করে করতে হবে ২. ফাইলকে রান করাতে হলে, রানাবল কোডকে main ফাংশনের অধীনস্ত করতে হবে, ফ্রি/ভাসমান কোড এররের সম্মুখীন করবে আপনাকে। অর্থাৎ print("Helio!"); ফাইলে ফেলে রাখলে চলবে না ৩. ডার্ট অনেকটা জাভা অথবা জাভাস্ক্রিপ্টের মত, তা এর ডিজাইন ডিসিশান। তবে এটি (ভার্সন ২ পরবর্তি) স্ট্যাটিক টাইপড, কিন্তু এর টাইপিং কিছুটা স্মার্ট, আপনি কোডে void main দিয়েও শুরু করতে পারতেন।

যে কোন বড় প্রজেক্ট হয়ে দাঁড়ায় সোর্সকোড, কনফিগারেশন ফাইল, টেস্ট ডাটা, রিসোর্স ফাইল, মেনিফেস্ট ফাইল ইত্যাদির সমষ্টি। আমরা এই মুহূর্তে পারদর্শী যে কোন ডার্ট প্রোগ্রাম রান করতে .dart ফাইল রান করার মাধ্যমে। কাজেই তাত্ত্বিকভাবে, আমরা ১০/১২টি ডার্ট ফাইল, কিছু ইমেজ, ডিপেন্ডেন্সি লিস্ট ইত্যাদিকে ফোল্ডারে রেখে তাকে আমাদের প্রজেক্ট দাবি করে চালিয়ে যেতে পারি। কিন্তু এর মাঝে দুটি জিনিস বাধা হয়ে দাঁড়াবে- রিডেবিলিটি ও স্ট্যান্ডার্ডাইজেশন। কিছুদিন পরে আপনি নিজেই বিরক্ত হবেন অতি ফ্ল্যাট স্ট্রাকচার নিয়ে, আবার অন্যদিকে, দুদিন পরপর স্ট্রাকচার পাল্টাতে ইচ্ছা করবে, যেমন, কনফিগারেশন কি জ্যাংগোর মত ল্যাংগুয়েজ ফাইলে রাখব (যেমন: settings.dart) নাকি মেইভেনের মতো (খোদা নাখাস্তা) XML? সোর্সকোড কি src নাকি lib? এহেন ঝামেলাতে যদি কেউ আমাদের জন্য সিদ্ধান্ত নিয়ে রাখত তাহলে কতই না ভাল হতো, pub ঠিক তা-ই করে থাকে।

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

১. pub কমান্ডকে বুঝতে হবে যে আপনি যে ফোল্ডারে রয়েছেন তা একটি pub বান্ধব প্রজেক্ট। এবং তা বোঝার উপায় হলো উক্ত ফোল্ডারে pubspec.yaml ফাইলের অস্তিত্ব। (yaml সম্পর্কে জানতে চাইলে এর সাইটে গিয়ে দেখুন, এটি একটা বেশ হিউমান রেডাবল ফরম্যাট (অন্তত ২/৩ লেভেল নেস্টিং পর্যন্ত) যা কনফিগারেশনের জন্য ভাল)। এই ফাইলটি তে রয়েছে আপনার প্রজেক্টের সেটাপ কনফিগারেশন। এই উদাহরণ থেকে দেখতে পারবেন কেমন হয় pubspec ফাইল।

২. আপনার সোর্স কোডকে lib/, রান করার সোর্সকোড তথা main.dart কে bin/, টেস্টকে test/ ফোলডারে রাখা উচিৎ হবে।

চলুন আমাদের খুদে ফাইলটিকে pub প্রজেক্টে পরিণত করি-

১. প্রথমে একটা hello/ নামক ফোল্ডার সৃষ্টি করা যাক।

২. যেহেতু আমাদের একটাই ফাইল, এবং তা main ফাংশন ধারণ করে, কাজেই একে hello/bin/ ফোল্ডারে রাখি।

৩. এটি এখনো pub বান্ধব হয়নি, কারন pubspec.yaml ফোল্ডার নেই- অবস্থার পরিবর্তন করা যাক hello/pubspec.yaml সৃষ্টির মাধ্যমে।

৪. pubspec.yaml কে খালি রাখলে চলবে না, অন্তত একটা নাম দেওয়া দরকার আমাদের প্রজেক্টের যা সে ফাইল থেকে pub কমান্ড পড়ে নেবে, ফাইলটিকে খুলে আমরা লিখি- name: hello এবং সেভ করি। (আরো অনেক কিছুই লিখা যেত কিন্তু সেটা আরেকদিনের স্কোপভুক্ত)

উপরের ধাপ সম্পন্ন করার পর আমরা cd করে hello ফোল্ডারে যাই এবং টাইপ করি pub run bin/main.dart এবং দেখি কি হয়! হল কিছু?

এই পোস্টার উদ্দেশ্য ছিল ইন্স্টলেশন এবং আপনি যদি এই পর্যন্ত এসে থাকেন সব বাধাবিঘ্ন পার করে তাহলে বুঝব উদ্দেশ্য সফল হয়েছে। আগামী পোস্টে থাকবে pub এর আরও কিছু তথ্য এবং আরেকটু সম্পূর্ণ একটা উদাহরণ।

যদি কোন প্রশ্ন থাকে তাহলে ফেইসবুক গ্রুপে অথবা এইখানে কমেন্ট দিয়ে রাখুন। গুড লাক!

comments powered by Disqus