ডার্ট এবং ফ্লাটার শুরুর আগে, অ্যাপের কোড লেখার জন্য আমাদের প্রথমে প্রোগ্রামিং এনভায়রমেন্ট তৈরি করে নিতে হবে।
যে দুটো প্রধান IDE ডার্ট এবং ফ্লাটারের সবচেয়ে বেশি ফিচারের সুবিধা দেয় সেগুলো হল Visual Studio Code (VS Code) এবং Android Studio। এটা আপনার সিদ্ধান্ত আপনি কোনটা ব্যবহার করবেন, তবে আমার কাছে ভিএস কোডটা বেশি পছন্দ কারণ এটা দেখতেও অসাধারণ।
আপনার যদি coc বা native Isp এবং ফ্লাটারের এক্সটেনশনগুলো ইন্সটল করা থাকে, তাহলে চাইলে আপনি Vimও ব্যবহার করতে পারেন।
সঠিক IDE বেছে নেয়া খুবই গুরুত্বপূর্ণ কারণ এর মাধ্যমে আপনি ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজের প্রোভাইডেড ফিচারগুলো পাবেন। একবার IDE বা টেক্সট এডিটর পেয়ে গেলে আপনাকে এবার Dart Extension এবং Flutter Extension ইন্সটল করতে হবে। এই এক্সটেনশনগুলোতে আমাদের IDE/Text Editor খুবই নিখুঁত এরোর চেকিং, টাইপ চেকিং (type checking), নাল সেফটি চেক (null safety checks), আর ফরম্যাটিং করবে, যাতে করে আমাদের ডেভেলপার জীবন হবে আরও সহজ।
এনভায়রনমেন্ট সাজানো শেষ হলে, এবার সামনে যাওয়ার পালা-
১।Dart শেখা :
ফ্লাটার ফ্রেমওয়ার্কের মেরুদণ্ড হচ্ছে ডার্ট (Dart), যা গুগলের তৈরি একটি ল্যাঙ্গুয়েজ। এই ভাষা ফ্লাটার ফ্রেমওয়ার্কে অ্যাপ বানাতে কাজে লাগবে। একটা সলিড আউটলাইন ধরে সামনে এগুলে ডার্ট শেখাটা অনেকটাই সহজ হয়ে যাবে।
আউটলাইন:
- ভ্যারিয়েবল (variables)
- ফাংশন (functions)
- কন্ডিশনাল (conditionals)
- লুপ (loops)
- ক্লাস, অবজেক্ট ও কন্সট্রাক্টর (Classes, Objects, and Constructors)
- অন্যান্য ডার্ট রিসোর্স
**২।Flutter UI শেখাঃ **
ডার্টে মোটামোটি ভালো মানের দক্ষতা চলে এলে ফ্লাটার শেখা শুরু করা উচিৎ ।
আউটলাইন:
- ইন্সটলেশন (Installation)
- উইজেটস (Widgets)
- লেআউট (Layout)
- ফরম্যাটিং (Formatting)
- স্টেটলেস উইজেটস (Stateless Widgets)
- স্টেটফুল উইজেটস (Stateful Widgets)
- নাল সেফটি (Null Safety)
- আরও ফ্লাটার রিসোর্স (More Flutter Resources)
৩।ফায়ারবেজ (Firebase) শেখা
বেশিরভাগ প্রজেক্টের মূল ব্যাকএন্ড একটা ডাটাবেজ ব্যবহার করে, যেটা ফায়ারবেজ তার ক্লাউড Firestore database দিয়ে সরবরাহ করে। এই ফায়ারস্টোর ডাটাবেজের মূল কাঠামো খুবই সাধারণ, কিন্তু প্রচলিত, রিয়েল-টাইম ডাটাবেজ যেমন SQL এর থেকে খুবই আলাদা। ফায়ারস্টোর বরং একটা No-SQL ডাটাবেজ।
৪।ফ্লাটারের সাথে ফায়ারবেজ সংযোগ
আমরা এই কাজের জন্য একটা StreamBuilder
ব্যবহার করতে পারি। একটা ‘স্ট্রিম’ মূলত একটা ডাটার স্ট্রিম যেটার পরিবর্তন আমরা একাধারে পর্যবেক্ষণ করছি। স্ট্রিমের একপাশে থাকে ফায়ারস্টোর ডাটাবেজ। আরেকপাশে থাকে আমাদের অ্যাপ।
কাজেই, যখন ফায়ারস্টোর ডাটাবেজে কিছু চেঞ্জ হয় (ধরা যাক একটা নতুন প্রোডাক্ট অ্যাড করা), ওই চেঞ্জটা ডাটা স্ট্রিম দিয়ে ফ্লাটার অ্যাপে চলে যায়। একবার চেঞ্জটা লক্ষ করা হলে
StreamBuilder
উইজেট নিজেকে রিবিল্ড করে যাতে করে সেই পরিবর্তনের সাথে সংযুক্ত হতে পারে।>>StreamBuilders
দারুণ, তবে কেমন হত যদি আপনাকে ফায়ারস্টোরের চেঞ্জ সম্পর্কে জানতেই না হত? যদি আপনি কিছু ইনফরমেশন উদ্ধার করতে চাইতেন, যেমন ম্যাকবুকের দাম, আর কিছু না (আপনি জানেন যে ওই ভ্যালুটা চেঞ্জ হবে না)?FutureBuilder
দিয়ে আমরা সেটাই করতে পারি।FutureBuilders
প্যারামিটার হিসেবে একটা অ্যাসিনক্রোনাস ফাংশনকে নেয় আর নেয় একটা বিল্ডার, যেটা দিয়ে ফাংশন এক্সিকিউশনের পর কিছু বিল্ড করা যাবে (StreamBuilder
এর মত)।৫।স্টেট ম্যানেজমেন্ট (State management)
আপনি চাইলে ইউজারনেমটাকে একটা প্যারামিটার হিসেবে পাস করতে পারেন আলাদা আলাদা পেজের সকল স্টেটলেস আর স্টেটফুল উইজেটের জন্য। তবে বাস্তবে, আপনি চাইবেন আপনার ইউজারনেম ভ্যালু এমনভাবে হোল্ড করা থাকবে যাতে সেটাকে সব স্ক্রিন/পেজ থেকে অ্যাক্সেস করা যায়।
এই কাজটা করা যাবে একটা ‘Provider’ উইজেট ব্যবহার করে, যা একটি বিল্ট-ইন স্টেট ম্যানেজমেন্ট সলিউশন।
Comments
Post a Comment