ফ্লাটার টিউটোরিয়াল (Flutter
Tutorial)
আমাদের Flutter
টিউটোরিয়াল থেকে Flutter ফ্রেমওয়ার্কের বেসিক এবং এডভান্স ধারণা
পাবেন। Flutter হল একটি UI টুলকিট,
যা একটি প্রোগ্রামিং ভাষা এবং সেঙ্গেল কোডবেস
দিয়ে মোবাইল, ওয়েব এবং ডেস্কটপের জন্য দ্রুত, সুন্দর,
natively অ্যাপ্লিকেশন তৈরি করা যায়। এই
ফ্রেমওয়ার্কটি বিনামূল্যে এবং ওপেন সোর্স। প্রাথমিকভাবে,
এটি Google ডেভেলপ করেছে এবং এখন একটি ECMA standard দ্বারা
পরিচালিত হয় । ফ্লাটারে অ্যাপস তৈরি
করার জন্য ডার্ট প্রোগ্রামিং ভাষা ব্যবহার করে।
ফ্লাটার কি? (What is
Flutter?)
সাধারণভাবে,
একটি মোবাইল অ্যাপ্লিকেশন তৈরি করা অত্যন্ত জটিল এবং চ্যালেঞ্জিং কাজ। অনেকগুলি ফ্রেমওয়ার্ক
রয়েছে, যা মোবাইল অ্যাপ্লিকেশন তৈরি করার জন্য চমৎকার
ফিচার প্রদান করে৷ মোবাইল অ্যাপস ডেভেলপ করার জন্য,
অ্যান্ড্রয়েডে জাভা এবং কোটলিন ভাষার উপর ভিত্তি করে একটি নেটিভ
ফ্রেমওয়ার্ক ব্যবহার করা হয়, যেখানে আইওএস
এ অবজেক্টিভ-সি/সুইফট ভাষার উপর ভিত্তি করে একটি ফ্রেমওয়ার্ক
ব্যবহার করা হয়। সুতরাং, উভয় OS-এর জন্য অ্যাপ্লিকেশন
তৈরি করতে আমাদের দুটি ভিন্ন ভাষা এবং ফ্রেমওয়ার্ক এর প্রয়োজন।
বর্তমানে এই জটিলতা কাটিয়ে উঠতে, বেশ কিছু ফ্রেমওয়ার্ক
চালু করা হয়েছে যা ডেস্কটপ অ্যাপের সাথে OS উভয়কেই সমর্থন করে। এই ধরনের ফ্রেমওয়ার্ক
ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট টুল হিসাবে পরিচিত।
ক্রস-প্ল্যাটফর্ম
ডেভেলপমেন্ট ফ্রেমওয়ার্কের একটি কোড লেখার ক্ষমতা রয়েছে এবং বিভিন্ন প্ল্যাটফর্মে
(Android, iOS, এবং Desktop) deploy করতে পারে। এটি ডেভেলপারদের অনেক সময় বাঁচায়
এবং development efforts. ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্টের জন্য বেশ কিছু টুল available রয়েছে, যার মধ্যে রয়েছে ওয়েব-ভিত্তিক
টুলস, যেমন 2013 সালে Drifty Co. থেকে
Ionic, Adobe থেকে Phonegap, Microsoft থেকে Xamarin এবং
Facebook থেকে React Native . এই ফ্রেমওয়ার্কগুলির প্রত্যেকটির মোবাইল শিল্পে সাফল্যের বিভিন্ন
মাত্রা রয়েছে। সাম্প্রতিক সময়ে, Google মোবাইল অ্যাপ্লিকেশন তৈরি
করার জন্য Flutter নামে ক্রস-প্ল্যাটফর্ম ফ্রেমওয়ার্ক তৈরি করেছে।
Flutter হল
একটি UI টুলকিট, যা একটি প্রোগ্রামিং
ভাষা এবং সেঙ্গেল কোডবেস দিয়ে মোবাইল,
ওয়েব এবং ডেস্কটপের জন্য দ্রুত, সুন্দর, natively অ্যাপ্লিকেশন তৈরি করা
যায়। এই ফ্রেমওয়ার্কটি
বিনামূল্যে এবং ওপেন সোর্স। প্রাথমিকভাবে, এটি Google ডেভেলপ
করেছে এবং এখন একটি ECMA standard দ্বারা পরিচালিত হয় । ফ্লাটারে
অ্যাপস তৈরি করার জন্য ডার্ট প্রোগ্রামিং
ভাষা ব্যবহার করে। ডার্ট প্রোগ্রামিং অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন কোটলিন
এবং সুইফটের মতো একই বৈশিষ্ট্য শেয়ার করে এবং জাভাস্ক্রিপ্ট
কোডে ট্রান্স-কম্পাইল করা যেতে পারে।
Flutter প্রধানত
2D মোবাইল অ্যাপের জন্য অপ্টিমাইজ করা হয়েছে যা Android এবং iOS উভয় প্ল্যাটফর্মে
চলতে পারে। আমরা ক্যামেরা, স্টোরেজ, জিওলোকেশন, নেটওয়ার্ক, থার্ড-পার্টি SDK এবং আরও
অনেক কিছু সহ পূর্ণ-বৈশিষ্ট্যযুক্ত অ্যাপ তৈরি করতেও এটি ব্যবহার করতে পারি।
ফ্লাটারকে কি অনন্য করে তোলে?
(What makes Flutter unique?)
ফ্লাটার
অন্যান্য ফ্রেমওয়ার্ক থেকে আলাদা কারণ এটি WebView বা ডিভাইসের
সাথে পাঠানো OEM উইজেট ব্যবহার করে না। পরিবর্তে, এটি উইজেট আঁকতে নিজস্ব high-performance
রেন্ডারিং ইঞ্জিন ব্যবহার করে। এটি তার বেশিরভাগ সিস্টেম যেমন animation,
gesture এবং widgets কে
ডার্ট প্রোগ্রামিং ভাষায় প্রয়োগ করে যা বিকাশকারীদের সহজেই জিনিসগুলি পড়তে, পরিবর্তন
করতে, প্রতিস্থাপন করতে বা অপসারণ করতে দেয়। এটি সিস্টেমের উপর ডেভেলপারদের
দুর্দান্ত নিয়ন্ত্রণ দেয়।
ফ্লাটারের বৈশিষ্ট্য (Features of
Flutter)
Flutter মোবাইল এবং ডেস্কটপ অ্যাপ তৈরি করার জন্য easy and simple methods প্রদান করে এবং rich set of material design and widgets. এখানে, আমরা মোবাইল ফ্রেমওয়ার্ক ডেভেলপের জন্য এর প্রধান বৈশিষ্ট্যগুলি নিয়ে আলোচনা করতে যাচ্ছি।
Open-Source: ফ্লাটার
হল মোবাইল অ্যাপ্লিকেশন ডেভেলপ করার জন্য একটি ফ্রি এবং ওপেন সোর্স ফ্রেমওয়ার্ক।
Cross-platform: এই
বৈশিষ্ট্যটি ফ্লাটারকে একবার কোড লিখতে, বজায় রাখতে এবং বিভিন্ন প্ল্যাটফর্মে চালানোর
অনুমতি দেয়। এটি ডেভেলপারদের সময়, প্রচেষ্টা
এবং অর্থ সাশ্রয় করে।
Hot Reload: যখনই
ডেভেলপার কোডে পরিবর্তন করেন, তখনই হট রিলোডের মাধ্যমে এই পরিবর্তনগুলি তাৎক্ষণিকভাবে
দেখা যায়। এর অর্থ হল পরিবর্তনগুলি অবিলম্বে অ্যাপে দৃশ্যমান। এটি একটি খুব সহজ বৈশিষ্ট্য,
যা ডেভেলপারদের তাত্ক্ষণিকভাবে বাগগুলি ঠিক করতে দেয়৷
Accessible Native
Features and SDKs: এই
বৈশিষ্ট্যটি Flutter এর নেটিভ কোড, থার্ড-পার্টি ইন্টিগ্রেশন এবং প্ল্যাটফর্ম API-এর
মাধ্যমে অ্যাপ ডেভেলপমেন্ট প্রক্রিয়াকে সহজ এবং আনন্দদায়ক করতে দেয়। সুতরাং, আমরা
উভয় প্ল্যাটফর্মে সহজেই SDK গুলি অ্যাক্সেস করতে পারি৷
Minimal code: ফ্লাটার
অ্যাপটি ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ দ্বারা তৈরি করা হয়েছে, যা JIT এবং AOT সংকলন
ব্যবহার করে সামগ্রিক স্টার্ট-আপ সময়, কার্যকারিতা এবং কর্মক্ষমতাকে ত্বরান্বিত করতে।
JIT ডেভেলপমেন্ট সিস্টেমকে উন্নত করে এবং একটি নতুন তৈরিতে অতিরিক্ত প্রচেষ্টা না করেই
UI রিফ্রেশ করে।
Widgets: ফ্লাটার ফ্রেমওয়ার্ক উইজেট অফার
করে, যা কাস্টমাইজযোগ্য নির্দিষ্ট ডিজাইন তৈরি করতে সক্ষম। সবচেয়ে গুরুত্বপূর্ণভাবে,
ফ্লাটারের উইজেটের দুটি সেট রয়েছে: Material
Design এবং Cupertino widgets যা সমস্ত
প্ল্যাটফর্মে একটি ত্রুটি-মুক্ত অভিজ্ঞতা প্রদান করতে সহায়তা করে।
ফ্লাটারের সুবিধা (Advantage of
Flutter)
ফ্লাটার মোবাইল
অ্যাপ্লিকেশন ডেভেলপের জন্য কাস্টম চাহিদা এবং প্রয়োজনীয়তা
পূরণ করে। এটি অনেক সুবিধাও দেয়, যা নীচে তালিকাভুক্ত করা হয়েছে।
·
হট-রিলোড বৈশিষ্ট্যের কারণে এটি অ্যাপ ডেভেলপ প্রক্রিয়াটিকে
অত্যন্ত দ্রুত করে তোলে। এই বৈশিষ্ট্যটি আমাদের কোড পরিবর্তন বা আপডেট করার অনুমতি
দেয় যত তাড়াতাড়ি পরিবর্তন করা হয়।
·
এটি অনেক হ্যাং বা কাট ছাড়াই অ্যাপটি ব্যবহার করার
মসৃণ এবং বিরামহীন স্ক্রলিং অভিজ্ঞতা প্রদান করে, যা অন্যান্য মোবাইল অ্যাপ ডেভেলপমেন্ট
ফ্রেমওয়ার্কের তুলনায় অ্যাপ্লিকেশনগুলিকে দ্রুততর করে তোলে।
·
ফ্লাটার reduces করে time এবং
efforts. আমরা জানি, ফ্লাটার
অ্যাপগুলি ক্রস-প্ল্যাটফর্ম যাতে পরীক্ষকদের সবসময় একই অ্যাপের জন্য বিভিন্ন প্ল্যাটফর্মে
একই সেট পরীক্ষা চালানোর প্রয়োজন হয় না।
·
এটির একটি চমৎকার ইউজার ইন্টারফেস রয়েছে কারণ এটি
একটি design-centric widget, high-development tools,, উন্নত API
এবং আরও অনেক বৈশিষ্ট্য ব্যবহার করে।
·
এটি একটি reactive
framework এর মতো
যেখানে ডেভেলপারদের ম্যানুয়ালি
UI সামগ্রী আপডেট করার প্রয়োজন নেই।
·
এটি দ্রুত ডেভেলপ
এবং ক্রস-প্ল্যাটফর্ম প্রকৃতির MVP (Minimum Viable Product) অ্যাপগুলির
জন্য উপযুক্ত।
ফ্লাটারের অসুবিধা (Disadvantages
of Flutter)
আমরা আগে দেখেছি
যে ফ্লাটারের অনেক সুবিধা রয়েছে, তবে এর কিছু অসুবিধাও রয়েছে,
যা নীচে দেওয়া হল।
·
ফ্লাটার একটি তুলনামূলকভাবে নতুন ভাষা যার স্ক্রিপ্ট
রক্ষণাবেক্ষণের মাধ্যমে ক্রমাগত একীকরণ সমর্থন প্রয়োজন।
·
এটি SDK লাইব্রেরিতে খুব সীমিত অ্যাক্সেস প্রদান
করে। এর অর্থ হল একটি মোবাইল অ্যাপ্লিকেশন তৈরি করার জন্য একজন ডেভেলপারের
অনেক functionalities নেই। এই ধরনের functionalities ফ্লাটার ডেভেলপারদের নিজেদেরি
তৈরি করতে হয়।
·
Flutter অ্যাপস ব্রাউজার সমর্থন করে না। এটি শুধুমাত্র
Android এবং iOS প্ল্যাটফর্ম সমর্থন করে।
·
এটি কোডিংয়ের জন্য ডার্ট প্রোগ্রামিং ব্যবহার করে,
তাই একজন ডেভেলপারকে নতুন প্রযুক্তি
শিখতে হবে। যাইহোক, ডেভেলপারদের জন্য এটি শেখা
সহজ।
ফ্লাটার ইতিহাস (History of
Flutter)
Flutter হল
একটি বিনামূল্যের এবং ওপেন সোর্স UI সফ্টওয়্যার ডেভেলপমেন্ট কিট যা Google দ্বারা
প্রবর্তিত হয়েছে৷ এটি অ্যান্ড্রয়েড, আইওএস, উইন্ডোজ এবং ওয়েবের জন্য অ্যাপ্লিকেশন
তৈরি করতে ব্যবহৃত হয়। 2015 সালে ডার্ট ডেভেলপার সামিটে ফ্লাটারের প্রথম
সংস্করণ ঘোষণা করা হয়েছিল। এটি প্রাথমিকভাবে "স্কাই" নামে পরিচিত ছিল এবং
এটি অ্যান্ড্রয়েড অপারেটিং সিস্টেমে চলতে পারতো। Flutter
ঘোষণার পর, প্রথম Flutter Alpha সংস্করণ (v-0.06) প্রকাশিত হয়েছিল মে 2017 সালে ।
পরে, সাংহাইতে
Google ডেভেলপার দিবসের মূল বক্তব্যের সময়, Google সেপ্টেম্বর 2018 -এ Flutter-এর
দ্বিতীয় প্রিভিউ চালু করেছিল যেটি Flutter 1.0 সংস্করণের আগে শেষ বড় রিলিজ ছিল।
4 ডিসেম্বর, 2018 -এ, Flutter ফ্রেমওয়ার্কের প্রথম স্থিতিশীল সংস্করণ Flutter
Live ইভেন্টে প্রকাশ করা হয়েছিল, Flutter 1.0 নির্দেশ করে। ফ্রেমওয়ার্কের বর্তমান
স্থিতিশীল রিলিজ হল Flutter v1.9.1+hotfix.6 অক্টোবর 24, 2019-এ।
পূর্বশর্ত (Prerequisite)
ফ্লাটার গভীরভাবে
শেখার আগে, আপনার অবশ্যই Dart programming, Android Studio এবং
HTML, JavaScriptএবং CSS-এর
মতো ওয়েব স্ক্রিপ্টিং ভাষা সম্পর্কে ভালো ধারণা থাকতে হবে।
শ্রোতা (Audience)
আমরা এই টিউটোরিয়ালটি
beginners এবং
professionals দের জন্য তৈরি করেছি যারা ফ্লাটার
দিয়ে
ক্যারিয়ার গড়তে চায়
বা নির্বিঘ্নে ফ্লাটারের নিয়মগুলি শিখতে চায়। অনেকগুলি বিষয় উপলব্ধ রয়েছে
যা আপনাকে সহজেই ফ্লাটার প্রযুক্তি শিখতে সাহায্য করবে।
সমস্যা (Problems)
আমরা আপনাকে
আশ্বস্ত করছি যে আপনি আমাদের ফ্লাটার টিউটোরিয়ালের
সাথে কোন সমস্যা পাবেন না। কিন্তু, যদি আপনি কোন ভুল খুঁজে পান, আপনি আমাদের মন্তব্য
বিভাগে পোস্ট করতে পারেন।
ধন্যবাদ
আজ এ পর্যন্তই