ফ্লাটার বাংলা টিউটোরিয়াল পর্ব -১ (What is Flutter)

what is flutter in bangla
Spread the love

ফ্লাটার(What is Flutter) একটি UI টুলকিট যা প্রোগ্রামিংয়ের ল্যাঙ্গুয়েজ এবং একক কোডবেস সহ মোবাইল, ওয়েব এবং ডেস্কটপের জন্য দ্রুত, সুন্দর, নেটিভ সংকলিত অ্যাপ্লিকেশন তৈরির জন্যে ওপেন সোর্স প্লাটফর্ম । প্রথমদিকে, এটি গুগল থেকে তৈরি হয়েছিল এবং এখন এটি ECMA স্ট্যান্ডার্ড দ্বারা পরিচালিত হয়। ফ্লাটার একটি অ্যাপ তৈরির জন্য ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে।

ফ্লার্টারের প্রথম সংস্করণটি ২০১৫ সালে ডার্ট ডেভেলপার সামিটে ঘোষণা করা হয়েছিল। এটি প্রাথমিকভাবে কোডনাম স্কাই হিসাবে পরিচিত ছিল এবং অ্যান্ড্রয়েড OS এ চলতে পারে বলা হয়েছিল।ডিসেম্বর 4, 2018 এ, ফ্লাটার ফ্রেমওয়ার্কের প্রথম স্থিতিশীল সংস্করণ প্রকাশিত হয়েছিল, এটি ফ্লাটারকে 1.0 চিহ্নিত করে।

ফ্লাটার কি (What is Flutter)?

সাধারণভাবে, একটি মোবাইল অ্যাপ্লিকেশন তৈরি করা একটি খুব জটিল এবং চ্যালেঞ্জিং কাজ। অনেকগুলি ফ্রেমওয়ার্ক রয়েছে যা মোবাইল অ্যাপ্লিকেশনগুলি ডেভেলপের জন্য দুর্দান্ত বৈশিষ্ট্য সরবরাহ করে। মোবাইল অ্যাপ্লিকেশন ডেভেলপের জন্য অ্যান্ড্রয়েড জাভা এবং কোটলিন ল্যাঙ্গুয়েজের উপর ভিত্তি করে একটি নেটিভ ফ্রেমওয়ার্ক সরবরাহ করে, যেখানে iOS অভজেক্টিভ-সি/সুইফট ল্যাঙ্গুয়েজের উপর ভিত্তি করে একটি ফ্রেমওয়ার্ক সরবরাহ করে। সুতরাং, উভয় ওএসের জন্য অ্যাপ্লিকেশন ডেভেলপ করতে আমাদের দুটি পৃথক ল্যাঙ্গুয়েজ এবং ফ্রেমওয়ার্ক দরকার। আজ, এই জটিলতাটি কাটিয়ে উঠতে, এমন বেশ কয়েকটি ফ্রেমওয়ার্ক রয়েছে যা ডেস্কটপ অ্যাপ্লিকেশনগুলির পাশাপাশি উভয় ওএসকে সমর্থন করে। এই ধরণের ফ্রেমওয়ার্কটি ক্রস-প্ল্যাটফর্ম ডেভলপমেন্ট টুলস হিসাবে পরিচিত।

ক্রস-প্ল্যাটফর্ম ডেভেলপমেন্ট ফ্রেমওয়ার্কটিতে একবার কোড লিখার মাধ্যমে বিভিন্ন প্ল্যাটফর্মে (অ্যান্ড্রয়েড, আইওএস এবং ডেস্কটপ) ব্যবহার করা যেতে পারে। এটি ডেভেলপারদের অনেক সময় এবং ডেভেলপ সময় কমিয়ে দেয়। ওয়েব-ভিত্তিক টুলস গুলি সহ ক্রস-প্ল্যাটফর্ম ডেভেলপ এর জন্য বেশ কয়েকটি প্লাটফর্ম রয়েছে, যেমন ২০১৩ সালে ডিফটি কো থেকে Ionic, অ্যাডোব থেকে Phonegap, মাইক্রোসফ্টের Xamarin এবং ফেসবুকের React Native । এই প্রতিটি ফ্রেমওয়ার্ক মোবাইল শিল্পে সাফল্যের বিভিন্ন ডিগ্রী রয়েছে। সাম্প্রতিক সময়ে, গুগল থেকে প্রকাশিত ফ্লাটার নামে ক্রস প্ল্যাটফর্ম ডেভেলপমেন্ট পরিবারে একটি নতুন সূচনা করেছে ।

ডার্ট প্রোগ্রামিংটি অন্যান্য প্রোগ্রামিং ল্যাঙ্গুয়েজ যেমন Kotlin এবং সুইফটের মতো বিভিন্ন বৈশিষ্ট্য ভাগ করে এবং জাভাস্ক্রিপ্ট কোডে ট্রান্স-কম্পাইল করা যায়।
ফ্লাটার মূলত 2D মোবাইল অ্যাপ্লিকেশনগুলির জন্য অপটিমাইজ হয়েছে যা অ্যান্ড্রয়েড এবং আইওএস প্ল্যাটফর্ম উভয়ই চলতে পারে। আমরা এটি ক্যামেরা, স্টোরেজ, জিওলোকেশন, নেটওয়ার্ক, তৃতীয় পক্ষের এসডিকে এবং আরও অনেকগুলি সহ পূর্ণ বৈশিষ্ট্যযুক্ত অ্যাপ্লিকেশনগুলি তৈরি করতেও ব্যবহার করতে পারি।

এটি অন্যান্য ফ্রেমওয়ার্কগুলির থেকে আলাদা কারণ এটি WebView বা ডিভাইসটির সাথে প্রেরিত OEM উইজেটগুলি ব্যবহার করে না। পরিবর্তে, উইজেটগুলি আঁকতে এটি নিজস্ব উচ্চ-কার্যকারিতা রেন্ডারিং ইঞ্জিন ব্যবহার করে। এটি এর বেশিরভাগ সিস্টেমে যেমন অ্যানিমেশন, অঙ্গভঙ্গি এবং ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজে উইজেটগুলি প্রয়োগ করে যা ডেভেলপারদের সহজেই জিনিসগুলি পড়তে, পরিবর্তন করতে, প্রতিস্থাপন করতে বা সরিয়ে ফেলতে সাহায্য করে। এটি সিস্টেমের মাধ্যমে ডেভেলপারদের দুর্দান্ত নিয়ন্ত্রণ এ সাহায্য করে।

ফ্লাটার এর বৈশিষ্ট্য

features of flutter

ফ্লাটারের ম্যাটারিয়াল ডিজাইন এবং উইটজেট গুলির সমৃদ্ধ একটি সুন্দর মোবাইল এবং ডেস্কটপ অ্যাপ্লিকেশন ডেভেলপ করার জন্যে সহজ এবং সাধারণ পদ্ধতি হিসাবে কাজ করে। এখানে, আমরা মোবাইল কাঠামোটি ডেভেলপের জন্য এর প্রধান বৈশিষ্ট্যগুলি নিয়ে আলোচনা করতে যাচ্ছি।

ওপেন সোর্স: মোবাইল অ্যাপ্লিকেশন ডেভেলপের জন্য ফ্লাটার একটি ফ্রি এবং ওপেন সোর্স ফ্রেমওয়ার্ক।

ক্রস প্ল্যাটফর্ম: এই বৈশিষ্ট্যটি ফ্লাটারকে কোডটি একবার লিখতে, মেইনটেইন করতে এবং বিভিন্ন প্ল্যাটফর্মে চালাতে সাহায্য করে। এটি ডেভেলপারদের সময়, প্রচেষ্টা এবং অর্থ সাশ্রয় করে।

হট রিলোড: যখনই ডেভেলপার কোডে পরিবর্তন করে তখন হট রিলোডের মাধ্যমে এই পরিবর্তনগুলি তাত্ক্ষণিকভাবে দেখা যায়। এর অর্থ হ’ল অ্যাপগুলিতে তত্ক্ষণাত পরিবর্তনগুলি দৃশ্যমান। এটি খুব কার্যকর বৈশিষ্ট্য, যা ডেভেলপারকে তাত্ক্ষণিকভাবে বাগগুলি ঠিক করতে সাহায্য করে।

অ্যাক্সেসযোগ্য Native ফিচারস এবং SDK: এই বৈশিষ্ট্যটি ফ্লাটারের নেটিভ কোড, থার্ড পার্টি ইন্টিগ্রেশন এবং প্ল্যাটফর্ম এপিআইয়ের মাধ্যমে অ্যাপ্লিকেশন ডেভেলপ প্রক্রিয়াটিকে সহজ এবং আনন্দদায়ক করে। সুতরাং, আমরা সহজেই দুটি প্ল্যাটফর্মের SDK অ্যাক্সেস করতে পারি।

ন্যূনতম কোড: ফ্লাটার অ্যাপটি ডার্ট প্রোগ্রামিং ল্যাঙ্গুয়েজ দ্বারা ডেভেলপ করা হয়েছে, যা সবদিক দিয়ে প্রাথমিক সময়, কার্য সম্পাদন এবং পারফাম্যান্স বাড়াতে JIT এবং AOT ব্যবহার করে। JIT ডেভেলপমেন্ট সিস্টেম উন্নত করে এবং নতুন করে ডেভেলপমেন্ট এ অতিরিক্ত প্রচেষ্টা না করে UI কে সতেজ করে।

উইজেটস: ফ্লাটার ফ্রেমওয়ার্ক উইজেটসমূহ ব্যবহার করে, যা নির্দিষ্ট ডিজাইন ডেভেলপ করতে সক্ষম। সর্বাধিক গুরুত্বপূর্ণ, ফ্লাটারের দুটি সেট উইজেট রয়েছে: Material Design এবং Cupertino widgets যা সমস্ত প্ল্যাটফর্মগুলিতে একটি ত্রুটি-মুক্ত এপ করতে সহায়তা করে।

ফ্লাটার এর সুবিধা

– হট-লোড বৈশিষ্ট্যের কারণে এটি অ্যাপ্লিকেশন ডেভেলপ প্রক্রিয়াটিকে অত্যন্ত দ্রুত করে তোলে। এই বৈশিষ্ট্যটি পরিবর্তনগুলি পরিবর্তন করার সাথে সাথেই কোডটি পরিবর্তন করতে দেয়।
– এটি অনেক হ্যাং বা কাট ছাড়াই অ্যাপ্লিকেশন ব্যবহারের মসৃণ এবং বিরামবিহীন স্ক্রোলিংয়ের অভিজ্ঞতা সরবরাহ করে যা অন্যান্য মোবাইল অ্যাপ্লিকেশন ডেভেলপের ফ্রেমওয়ার্কগুলির তুলনায় দ্রুততর করে তোলে।
– ডেভেলপের এবং টেস্টিং এর সময় কমায়। যেমনটি আমরা জানি, ফ্লাটার অ্যাপগুলি ক্রস প্ল্যাটফর্ম যাতে টেস্টারদের সর্বদা একই অ্যাপ্লিকেশনের জন্য বিভিন্ন প্ল্যাটফর্মে একই সেট টেস্ট চালানোর প্রয়োজন না হয়।
-এটিতে একটি দুর্দান্ত ইউজার ইন্টারফেস রয়েছে কারণ এটিতে একটি ডিজাইন কেন্দ্রিক উইজেট, উচ্চ-ডেভেলপমেন্ট টুলস, উন্নত এপিআই এবং আরও অনেকগুলি বৈশিষ্ট্য রয়েছে।
– এটি প্রতিক্রিয়াশীল ফ্রেমওয়ার্ক অনুরূপ যেখানে ডেভেলপারদের ম্যানুয়ালি UI সামগ্রী আপডেট করার দরকার নেই।
– এটির দ্রুত ডেভেলপ প্রক্রিয়া এবং ক্রস প্ল্যাটফর্ম প্রকৃতির কারণে এটি MVP (Minimum Viable Product) অ্যাপ্লিকেশনগুলির জন্য উপযুক্ত।

ফ্লাটার এর অসুবিধা

– ফ্লাটার একটি তুলনামূলকভাবে নতুন ল্যাঙ্গুয়েজ যা স্ক্রিপ্টগুলির মেইনটেইনের মাধ্যমে কন্টিনিউয়াস ইন্টিগ্রেশন সাপোর্ট প্রয়োজন।
– এটি SDK লাইব্রেরীগুলিতে খুব সীমিত অ্যাক্সেস প্রদান করে। এর অর্থ একটি মোবাইল অ্যাপ্লিকেশন তৈরি করতে কোনও ডেভেলপার এর অনেক ফাংশনালিটি নেই। এ জাতীয় ক্রিয়াকলাপগুলি তাদের ফ্লাটার এর ডেভেলপারদের দ্বারা ডেভেলপ করা দরকার।
– এটি কোডিংয়ের জন্য ডার্ট প্রোগ্রামিং ব্যবহার করে, তাই ডেভেলপারকে নতুন প্রযুক্তি শেখার প্রয়োজন হবে।

পূর্বশর্ত

ফ্লাটারকে(What is Flutter) গভীরভাবে শেখার আগে আপনার অবশ্যই ডার্ট প্রোগ্রামিং, অ্যান্ড্রয়েড স্টুডিও এবং ওয়েব স্ক্রিপ্টিং ফ্রেমওয়ার্ক যেমন এইচটিএমএল, জাভাস্ক্রিপ্টএবং সিএসএসের বোঝা উচিত।

পরবর্তী পোস্টটি পড়ুন –  ফ্লাটার বাংলা টিউটোরিয়াল পর্ব – ২ (How to Install Flutter)

Leave a Reply

Your email address will not be published. Required fields are marked *