24/10/2023
Flutter ডেভেলপার হবার রোডম্যাপ
🧐বর্তমান আইটি ইন্ডাস্ট্রিতে ওপেন সোর্স মোবাইল ডেভেলপ ফ্রেমওয়ার্ক হিসেবে Flutter বেশ জনপ্রিয়।
আপনি জানেন কি স্ট্যাক ওভারফ্লো-এর 2023 ডেভেলপার সার্ভে অনুসারে, পপুলার ফ্রেমওয়ার্ক টপ লিস্টে রয়েছে Flutter এর নাম। আর এ কারণে, 64% প্রফেশনাল ডেভেলপার এই প্রোগ্রামিং ল্যাঙ্গুয়েজটি ইউজ করে।
👇তাই আপনি যদি Flutter এ ক্যারিয়ার ডেভেলপমেন্ট করতে চান তাহলে আজ নিম্নোক্ত রোডম্যাপটি ফলো করুন -
✅স্টেপ ১-
Flutter এর জার্নি শুরু করার ক্ষেত্রে আপনাকে সবার আগে OOP কনসেপ্ট সম্পর্কে ক্লিয়ার থাকতে হবে। এক্ষেত্রে Native Android শেখা একটা ভালো আইডিয়া হতে পারে, কারণ এতে করে আপনি ফ্লাটার আরও ভালোভাবে বুঝতে পারবেন।
✅স্টেপ ২-
একদম বেসিক থেকে শুরু করুন! ডার্ট খুবই ওয়াইড একটা ভাষা, আর এটা শিখতে সময়ও লাগাটা বেশ স্বাভাবিক একটি ব্যাপার। অ্যাপ ডেভেলপমেন্টে যাওয়ার আগে এডভান্স ডার্টের বেসিকগুলো শিখে নিতে হবে আপনি যদি জাভা যেনে থাকেন, তাহলে জাভা থেকে ডার্টে মুভ করা বেশ ইজি হবে । তবে ডার্ট না জেনে ফ্লাটারে আসাটা একদম বোকামি হবে। পাশাপাশি এঈ কনসেপ্ট শিখে নিতে পারেন -
-Lists
-Map
-Lambda Function
-mixins
-await and async
ডার্টের বেসিক শেখা হয়ে গেলে, নির্দ্বিধায় ফ্লাটারে এক্সপ্লোর করুন।
✅স্টেপ ৩ :
প্রথম প্রথম ইউআই ডেভেলপমেন্ট আমাদের স্বস্তি দেয়। যখন আপনার প্রথম অ্যাপের স্ক্রিনের আশানুরূপ পপ-আপ আসে, আপনি মোটিভেটেড হবেন। আবার, ইউআই ডেভেলপমেন্ট নিয়ে কাজ করার সময়ে একজন ডেভেলপার বিভিন্ন ইস্যু আর এরোরের সম্মুখীন হবেন। তো এখন, কীভাবে করবেন ইউআই ডেভেলপমেন্ট?
Dribbble থেকে যেকোনো একটা ইউআই নিয়ে নিন, আর ফ্লাটারে হোয়াটসঅ্যাপ, টিকটিক ইত্যাদির মত সেটার ক্লোন বানানো শুরু করুন।
✅স্টেপ ৪-্
এবার API কল নিয়ে শেখা শুরু করে দিন। আপনি যখনই কোনো অ্যাপ বানাবেন, API শেখার প্রয়োজন পড়বেই। এপিআই কল নানারকম প্যাকেজ যেমন http, dio, retrofit, chopper ইত্যাদি দিয়েও করা যায়। সবচেয়ে বেসিকটা হচ্ছে HTTP আর অন্যান্য প্যাকেজগুলো হচ্ছে HTTP এর উপরে wrapper, কিছু অতিরিক্ত সুবিধাসহ। তবে http দিয়ে শুরু করাই সবচেয়ে ভালো, এরপর অন্যগুলো চাইলে ট্রাই করতে পারেন। আপনি চাইলে অনেক ফেক API দিয়েও আপনার অ্যাপ ইন্টিগ্রেড করতে পারেন, সেগুলো পাবেন jsonplaceholder.typicode.com এ।
একবার API ইন্টিগ্রেড আর এপিআই কল করা হয়ে গেলে আপনাকে ওই API রেসপন্সকে একটি মডেল ক্লাসের ভেতরে parse করতে হবে।
✅স্টেপ ৫:
যেকোনো অ্যাপের ইন্টিগ্রাল অংশ হচ্ছে ডাটাবেজ। কিছু ডাটা অ্যাপ থেকে নিয়ে স্টোর করতে হবে সবসময়েই। ফ্লাটারে ব্যবহার করা যায় এমন কিছু ডাটাবেজ হচ্ছে:
-Firebase
-Supabase
-SQLite (লোকাল ডাটাবেজ)
-Hive (লোকাল ডাটাবেজ)
-Moor (লোকাল ডাটাবেজ) এবং আরও অনেক
✅স্টেপ ৬:
ফ্লাটারে স্টেট ম্যানেজমেন্ট হচ্ছে সবচেয়ে গুরুত্বপূর্ণ বিষয়গুলোর একটি। আমাদের অ্যাপ যখন আকারে আর কমপ্লেক্সিটিতে বাড়তে থাকে, তখন স্ক্রিন আর অ্যাপ্লিকেশন ম্যানেজ করা বেশ কঠিন হয়ে পড়ে। ধরুন আপনি পেজ ১ থেকে পেজ ২ তে ডাটা পাস করতে চাচ্ছেন। এটা ইজি কাজ। আমরা Navigation দিয়ে এটা করে ফেলতে পারি। তবে ধরুন আপনি চান পেজ ১ থেকে পেজ ৫ এ ডাটা পাস করতে। এই ক্ষেত্রে স্টেট ম্যানেজমেন্ট হেল্পফুল। স্টেট ম্যানেজমেন্টের অসংখ্য টেকনিক আর প্যাকেজ রয়েছে। কিন্তু সেটাই ইউজ করুন যেটা আপনার কাছে সহজ মনে হবে। শুরুতে আপনি Provider ইউজ করতে পারেন, কারণ এটা সবচেয়ে বেসিক স্টেট ম্যানেজমেন্ট প্যাকেজগুলোর একটি।
✅স্টেপ ৭:
একটা প্রজেক্ট স্ট্রাকচার মেইন্টেইন করা খুবই গুরুত্বপূর্ণ। তরুণ ডেভেলপাররা এর সাহায্যে দ্রুত কোড রিভিউ করতে পারে। পূর্বের ফাংশন ব্রেক না করেই বাগ খুঁজে বের করা কিংবা ফাংশন যুক্ত বা অপসারণ করার ক্ষেত্রেও এটি কার্যকরী। বেশ কিছু প্রিডিফাইনড আর্কিটেকচার রয়েছে যেমন MVVM, MVC, TDD ইত্যাদি। পর্যাপ্ত গবেষণার পরেই এগুলো তৈরি হয়েছে। তবে এগুলোই যে ব্যবহার করতে হবে এমন বাধ্যবাধকতা নেই। আপনি চাইলে আপনার ও আপনার টিমের সাথে মানানসই আর্কিটেকচার বানিয়ে নিতে পারেন নিজেই। আর্কিটেকচার মেইন্টেইনের ক্ষেত্রে এই বিষয়গুলো সবসময় মনে রাখবেন:
-KISS (Keep It Simple, Stupid!)
-স্ক্যালেবল
-ফাংশনালিটির মধ্যে সবচেয়ে কম ইন্টার-ডিপেন্ডেন্সি
-কোডের নবায়নযোগ্যতা
যদি আপনার আর্কিটেকচার উপরের বিষয়গুলো মেনে চলে, তাহলে আপনি নিশ্চিন্ত থাকতে পারেন
✅ স্টেপ ৮ঃ
আপনি ফ্লটারের সাথে আরও স্বাচ্ছন্দ্য বোধ করার সাথে সাথে আপনি অ্যানিমেশন, Gesture এবং স্টেট ম্যানেজমেন্ট পরিচালনার মতো আরও আধুনিক ফিচার সার্চ করা শুরু করতে পারেন। আপনি আপনার অ্যাপে অতিরিক্ত ফাংশানিলিটি যোগ করতে ফ্লাটার কমিউনিটি প্যাকেজগুলো ব্যবহার করে দেখতে পারেন।
✅স্টেপ ৯
আপনার অ্যাপটি নির্ভরযোগ্য এবং ভাল পারফর্ম করে তা নিশ্চিত করতে টেস্টিং বেশ গুরুত্বপূর্ণ একটি ধাপ। ফ্লাটার ইউনিট টেস্টিং, উইজেট টেস্টিং এবং ইন্টিগ্রেশন টেস্টিং সহ আপনার অ্যাপ টেস্টিং করার জন্য বিভিন্ন টুল সরবরাহ করে।
✅Build a complex app:
আপনি যখন ফ্লাটার ডেভেলপার হিসেবে শেখা শুরু করবেন, আপনি কমপ্লেক্স অ্যাপ তৈরি করার চেষ্টা করতে পারেন। এটি হতে পারে পার্সোনাল প্রজেক্ট। অথবা আপনি কোন হ্যাকাথনে অংশগ্রহণ করতে পারেন। এ বিষয়গুলো Flutter এ আপনার স্কিল ডেভেলপমেন্ট করার পাশাপাশি রিয়েল ক্লায়েন্টের জন্য একটি অ্যাপ তৈরি করতে সাহায্য করবে।
তবে Flutter এ একজন প্রফেশনাল হয়ে উঠার ক্ষেত্রে টাইম এবং ডেডিকেশন প্রয়োজন। এই রোডম্যাপ অনুসরণ করে এবং Flutter ফ্রেমওয়ার্ক ব্যবহারে মোবাইল অ্যাপ্লিকেশন তৈরি করতে আপনার প্রয়োজনীয় স্কিল ডেভেলপ করুন।