Flutter Developer হওয়ার জন্য রোডম্যাপ-
যেকোনো প্রযুক্তি বা ভাষা শিখতে প্রয়োজন সময় এবং ধৈর্যের। কখনও মাঝখান থেকে শুরু করবেন না, বা এক লাফে অ্যাডভান্স শিখতে শুরু করবেন না, এবং কখনোই নিজের শেখার সাথে অন্যদের তুলনা করতে যাবেন না।
বর্তমান আইটি ইন্ডাস্ট্রিতে সবচেয়ে প্রিয় এবং গৃহীত প্রযুক্তির মধ্যে ফ্লাটার অন্যতম। কিন্তু কেন? কেন ফ্লাটার এত শীর্ষে? এত এত ফ্রেমওয়ার্ক থাকতে ফ্লাটারই কেন? এই আর্টিকেলে, আমরা দেখবো কেন ফ্লাটার সবচেয়ে শীর্ষে, এবং জানবো কীভাবে এটা শিখতে হয়।
ফ্লাটার কী? ফ্লাটার হচ্ছে সুন্দর ও নেটিভভাবে কম্পাইল্ড অ্যাপ্লিকেশন নির্মাণের জন্য গুগলের ইউআই টুলকিট, যার সাহায্যে ওয়েব, ডেস্কটপ, মোবাইল, এবং এমবেডেড ডিভাইসের জন্য অ্যাপ তৈরি করা যায় মাত্র একটা কোডবেজে। তার মানে এটা বলা যায় যে, আপনি যদি ফ্লাটার দিয়ে আপনার অ্যাপ বা ওয়েবসাইট বানান, তাহলে এটা হবে আরও বেশি সুন্দর, আর হবে অন্যান্য ফ্রেমওয়ার্ক দিয়ে বানানো অ্যাপ বা ওয়েবসাইটের চেয়ে বেশি দ্রুতগতির! তো ফ্লাটার কীভাবে এত জনপ্রিয়তা পাচ্ছে?
- ফ্লাটার নেটিভ ল্যাঙ্গুয়েজে কোড কম্পাইল করে।
- স্টার্টাপগুলো ফ্লাটার সহজেই শিখে এমভিপি বানিয়ে ফেলতে পারে।
- ওয়াইড প্ল্যাটফর্ম সাপোর্ট (অ্যান্ড্রয়েড, আইওএস, উইন্ডোজ, ম্যাকওএস, লিনাক্স, এমবেডেড এবং আরও অনেক!)
- অসাধারণ ডকুমেন্টেশন এবং শেখার জন্য যথেষ্ট পরিমাণে রিসোর্স
- বিশাল সহায়ক কমিউনিটি
- ওপেনসোর্স
ফ্লাটারকে হাতের মুঠোয় আনার রোডম্যাপ!
ধাপ ০: শুরু করার আগে আপনাকে জানতে হবে OOP কনসেপ্টস। ফ্লাটারের ভাষার নাম Dart এবং এটা Dart এর ওওপি ব্যবহার করে। কাজেই অন্তত যেকোনো একটা ভাষায় (জাভা হলে ভালো) ওওপিতে দক্ষতা আনতে হবে। Native Android শেখা একটা ভালো আইডিয়া, কারণ এতে করে আপনি ফ্লাটার আরও ভালোভাবে বুঝতে পারবেন। এতে বাধ্যবাধকতা নেই, তবে শেখার জন্য ভালো। আপনি যদি সদ্য পাস করা গ্র্যাজুয়েট হন, তাহলে আপনার দায়িত্ব হবে নিজের একটা পোর্টফোলিও অথবা অনলাইন প্রেসেন্স বানিয়ে ফেলে ভীড়ের মাঝে মাথা তুলে দাঁড়ানো। কাজেই, শিখে ফেলুন GIT। আপনার প্রজেক্টগুলো গিটহাবে হোস্ট করুন, সেটা যাই হোক না কেন! ফ্লাটার ইন্সটল করে ফেলুন আপনার সিস্টেমে, আর শুরু করে দিন আপনার যাত্রা!
ধাপ ১: একদম বেসিক থেকে শুরু করুন! ডার্ট খুবই ওয়াইড একটা ভাষা, আর এটা শিখতে সময়ও লাগে ব্যাপক। অ্যাপ ডেভেলপমেন্টে যাওয়ার আগে একজনের উচিত অন্তত ডার্টের বেসিকগুলো শিখে নেয়া। আপনি যদি জাভা জেনে থাকেন, তাহলে জাভা থেকে ডার্টে আসা হবে খুবই সোজা। তবে ডার্ট না জেনে ফ্লাটারে একদম আসবেন না। অল্প কিছু কনসেপ্ট যেগুলো শিখে নেবেন:
- Lists
- Map
- Lambda Function
- mixins
- await and async
ডার্টের বেসিক শেখা হয়ে গেলে, নির্দ্বিধায় ফ্লাটারে এক্সপ্লোর করতে বেরিয়ে পড়ুন।
ধাপ ২: এবার পালা ইউআই ডেভেলপমেন্টে হাত দেয়ার। যখনই আমরা কোনো নতুন ভাষা শিখতে শুরু করি, আমাদের প্রতিদিন শেখার মোটিভেশন দরকার হয়। প্রথম প্রথম ইউআই ডেভেলপমেন্ট আমাদের স্বস্তি দেয়। যখন আপনার প্রথম অ্যাপের স্ক্রিনের আশানুরূপ পপ-আপ আসে, আপনি মোটিভেটেড অনুভব করেন। আবার, ইউআই ডেভেলপমেন্ট নিয়ে কাজ করার সময়ে একজন ডেভেলপার অজস্র ইস্যু আর এরোরের সম্মুখীন হবেন। তো এখন, কীভাবে করবেন ইউআই ডেভেলপমেন্ট?
Dribbble থেকে যেকোনো একটা ইউআই নিয়ে নিন, আর ফ্লাটারে সেটার ক্লোন বানানো শুরু করুন– হোয়াটসঅ্যাপ, টিকটিক ইত্যাদির মত।
ধাপ ৩: API Calls শিখুন
একবার ইউআই ডেভেলপমেন্ট নিয়ে আত্মবিশ্বাস চলে আসলে এবার এপিআই কল নিয়ে শেখা শুরু করে দিন। আপনি যখনই কোনো অ্যাপ বানাবেন, এপিআই লাগবেই। এপিআই কল নানারকম প্যাকেজ যেমন http, dio, retrofit, chopper ইত্যাদি দিয়েও করা যায়। সবচেয়ে বেসিকটা হচ্ছে HTTP আর অন্যান্য প্যাকেজগুলো হচ্ছে HTTP এর উপরে wrapper, কিছু অতিরিক্ত সুবিধাসহ। আপনি এগুলোর যেকোনোটা বেছে নিতে পারেন, তবে http দিয়ে শুরু করাই সবচেয়ে ভালো, এরপর অন্যগুলো। আপনি চাইলে অনেক ফেক এপিআই দিয়েও আপনার অ্যাপ ইন্টিগ্রেড করতে পারেন, সেগুলো পাবেন jsonplaceholder.typicode.com এ।
একবার এপিআই ইন্টিগ্রেড আর এপিআই কল করা হয়ে গেলে আপনাকে ওই এপিআই রেসপন্সকে parse করতে হবে একটা মডেল ক্লাসের ভেতরে।
ধাপ ৪: ডাটাবেজ ইন্টিগ্রেশন শিখুন
যেকোনো অ্যাপের ইন্টিগ্রাল অংশ হচ্ছে ডাটাবেজ। কিছু ডাটা অ্যাপ থেকে নিয়ে স্টোর করতে হবে সবসময়েই। ফ্লাটারে ব্যবহার করা যায় এমন কিছু ডাটাবেজ হচ্ছে:
- Firebase
- Supabase
- SQFLite (লোকাল ডাটাবেজ)
- Hive (লোকাল ডাটাবেজ)
- Moor (লোকাল ডাটাবেজ) এবং আরও অনেক
ধাপ ৫: State Management শিখুন
ফ্লাটারে স্টেট ম্যানেজমেন্ট হচ্ছে সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলোর একটি। আমাদের অ্যাপ যখন আকারে আর কমপ্লেক্সিটিতে বাড়তে থাকে, তখন স্ক্রিন আর অ্যাপ্লিকেশন ম্যানেজ করা বেশ কঠিন হয়ে পড়ে। ধরুন আপনি পেজ ১ থেকে পেজ ২ তে ডাটা পাস করতে চাচ্ছেন। এটা সোজা কাজ। আমরা Navigation দিয়ে এটা করে ফেলতে পারি। তবে ধরুন আপনি চান পেজ ১ থেকে পেজ ৫এ ডাটা পাস করতে। এই ক্ষেত্রে স্টেট ম্যানেজমেন্ট সহায়ক। স্টেট ম্যানেজমেন্টের অসংখ্য টেকনিক আর প্যাকেজ রয়েছে। কিন্তু উত্তেজিত হবার দরকার নেই, সেটাই ব্যবহার করুন যেটা আপনার কাছে সহজ লাগে। শুরুতে আপনি Provider ব্যবহার করতে পারেন, কারণ এটা সবচেয়ে বেসিক স্টেট ম্যানেজমেন্ট প্যাকেজগুলোর একটি।
ধাপ ৬: Project Structure বা Architecture শিখুন
একটা প্রজেক্ট স্ট্রাকচার মেইন্টেইন করা খুবই গুরুত্বপূর্ণ। নবীন ডেভেলপাররা এর সাহায্যে দ্রুত কোড রিভিউ করতে পারে। পূর্বের ফাংশন ব্রেক না করেই বাগ খুঁজে বের করা কিংবা ফাংশন যুক্ত বা অপসারণ করার ক্ষেত্রেও এটি কার্যকরী। বেশ কিছু প্রিডিফাইনড আর্কিটেকচার রয়েছে যেমন MVVM, MVC, TDD ইত্যাদি। পর্যাপ্ত গবেষণার পরেই এগুলো তৈরি হয়েছে। তবে এগুলোই যে ব্যবহার করতে হবে এমন বাধ্যবাধকতা নেই। আপনি চাইলে আপনার ও আপনার টিমের সাথে মানানসই আর্কিটেকচার বানিয়ে নিতে পারেন নিজেই। আর্কিটেকচার মেইন্টেইনের ক্ষেত্রে এই বিষয়গুলো সবসময় মনে রাখবেন:
- KISS (Keep It Simple, Stupid!)
- স্কেলেবল
- ফাংশনালিটির মধ্যে সবচেয়ে কম ইন্টার-ডিপেন্ডেন্সি
- কোডের নবায়নযোগ্যতা
যদি আপনার আর্কিটেকচার উপরের বিষয়গুলো মেনে চলে, তাহলে আপনি নিশ্চিন্ত থাকতে পারেন।
Comments
Post a Comment