ফ্লাটার আর্কিটেকচার ) Flutter
Architecture(
এই অধ্যায়ে আমরা ফ্লাটার ফ্রেমওয়ার্কের আর্কিটেকচার নিয়ে আলোচনা
করতে যাচ্ছি। ফ্লাটার আর্কিটেকচার প্রধানত চারটি components নিয়ে গঠিত।
·
ফ্লাটার ইঞ্জিন ) Flutter
Engine(
·
ফাউন্ডেশন লাইব্রেরি ) Foundation
Library(
·
উইজেট ) Widgets(
·
ডিজাইন নির্দিষ্ট উইজেট ) Design
Specific Widgets(
ফ্লাটার ইঞ্জিন )Flutter Engine(
এটি high-quality মোবাইল অ্যাপের
জন্য একটি পোর্টেবল রানটাইম এবং প্রাথমিকভাবে C++ ভাষার উপর ভিত্তি করে
তৈরি করা হয়েছে। এটি ফ্লাটার কোর লাইব্রেরি প্রয়োগ করে যার মধ্যে অ্যানিমেশন এবং
গ্রাফিক্স, ফাইল এবং নেটওয়ার্ক I/O, প্লাগইন আর্কিটেকচার, অ্যাক্সেসিবিলিটি সাপোর্ট
এবং ফ্লাটার অ্যাপ্লিকেশন ডেভেলপ করা, কম্পাইল করা এবং চালানোর জন্য একটি ডার্ট রানটাইম
রয়েছে। নিম্ন-স্তরের গ্রাফিক্স রেন্ডার করতে Google এর ওপেন সোর্স গ্রাফিক্স লাইব্রেরি
Skia লাগে ।
ফাউন্ডেশন লাইব্রেরি )Foundation Library(
এটিতে একটি ফ্লাটার অ্যাপ্লিকেশন
লেখার প্রাথমিক বিল্ডিং ব্লকগুলির জন্য প্রয়োজনীয় সমস্ত প্যাকেজ রয়েছে৷ এই লাইব্রেরিগুলো
ডার্ট ভাষায় লেখা।
উইজেট )Widgets(
ফ্লাটারে, সবকিছুই একটি উইজেট, যা
এই ফ্রেমওয়ার্কের মূল ধারণা। ফ্লাটারে উইজেট মূলত একটি ইউজার ইন্টারফেস
উপাদান যা অ্যাপটির ভিউ এবং ইন্টারফেসকে প্রভাবিত করে এবং নিয়ন্ত্রণ করে। এটি ব্যবহারকারী
ইন্টারফেসের অংশের একটি অপরিবর্তনীয় বর্ণনা উপস্থাপন করে এবং এতে graphics, text,
shapes, এবং animations অন্তর্ভুক্ত থাকে যা উইজেট ব্যবহার করে তৈরি করা হয়। উইজেটগুলি
React components এর অনুরূপ।
ফ্লাটারে অ্যাপ্লিকেশনটি নিজেই একটি
উইজেট যাতে অনেকগুলি সাব উইজেট থাকে। এর অর্থ হল অ্যাপটি শীর্ষ-স্তরের উইজেট এবং এর
UI এক বা একাধিক চাইল্ড উইজেট ব্যবহার করে তৈরি করা হয়েছে, যা আবার সাব চাইল্ড উইজেট
অন্তর্ভুক্ত করে। এই feature টি আপনাকে খুব সহজে একটি জটিল ইউজার
ইন্টারফেস তৈরি করতে সাহায্য করে।
আমরা আগের অধ্যায়ে তৈরি হ্যালো ওয়ার্ল্ড উদাহরণ থেকে এটি বুঝতে পারি।
এখানে, আমরা নিম্নলিখিত চিত্রের সাথে উদাহরণটি ব্যাখ্যা করতে যাচ্ছি।
উপরের উদাহরণে, আমরা দেখতে পাচ্ছি
যে সমস্ত উপাদানগুলি উইজেট যা চাইল্ড উইজেট ধারণ করে। সুতরাং, ফ্লাটার অ্যাপ্লিকেশনটি
নিজেই একটি উইজেট।
ডিজাইন নির্দিষ্ট
উইজেট )Design Specific Widgets(
ফ্লাটার ফ্রেমওয়ার্কে দুটি সেট
উইজেট রয়েছে যা নির্দিষ্ট ডিজাইনের ভাষার সাথে সামঞ্জস্যপূর্ণ। এগুলি হল অ্যান্ড্রয়েড
অ্যাপ্লিকেশনের জন্য Material Design এবং আইওএস অ্যাপ্লিকেশনের জন্য Cupertino
Style.
অঙ্গভঙ্গি )Gestures(
GestureDetector ব্যবহার করে
Flutter-এ interaction (কীভাবে শুনতে এবং প্রতিক্রিয়া
জানাতে হয়) প্রদান করে। GestureDector হল একটি invisible উইজেট, যাতে এর চাইল্ড
উইজেটের tapping, dragging, এবং scaling
interaction
অন্তর্ভুক্ত থাকে। আমরা GestureDetector উইজেট দিয়ে কম্পোজ করে বিদ্যমান উইজেটগুলিতে
অন্যান্য ইন্টারেক্টিভ বৈশিষ্ট্যগুলিও ব্যবহার করতে পারি।
রাজ্য ব্যবস্থাপনা )State Management(
ফ্লাটার উইজেট একটি বিশেষ উইজেট, StatefulWidget ব্যবহার
করে তার অবস্থা বজায় রাখে। যখনই এর অভ্যন্তরীণ অবস্থা পরিবর্তিত হয় তখন এটি সর্বদা
স্বয়ংক্রিয়ভাবে পুনরায় রেন্ডার করা হয়। পুরানো এবং নতুন উইজেট UI এর মধ্যে দূরত্ব
গণনা করে পুনরায় রেন্ডারিং অপ্টিমাইজ করা হয় এবং শুধুমাত্র প্রয়োজনীয় জিনিসগুলি
রেন্ডার করে যা পরিবর্তন হয়৷
স্তরসমূহ ) Layers(
স্তরগুলি হল ফ্লাটার ফ্রেমওয়ার্কের
একটি গুরুত্বপূর্ণ ধারণা, যা জটিলতার পরিপ্রেক্ষিতে একাধিক বিভাগে বিভক্ত এবং উপরে-নীচ
পদ্ধতিতে সাজানো হয়েছে। সর্বোচ্চ স্তরটি হল অ্যাপ্লিকেশনটির UI, যা Android এবং
iOS প্ল্যাটফর্মের জন্য নির্দিষ্ট। দ্বিতীয় শীর্ষ স্তরে সমস্ত Flutter native উইজেট রয়েছে। পরবর্তী
লেয়ারটি হল রেন্ডারিং লেয়ার, যা ফ্লাটার অ্যাপে সবকিছু রেন্ডার করে। তারপরে, স্তরগুলি
Gestures, foundation library, engine, এবং অবশেষে, core platform-specific কোডে নেমে
যায়। নিচের চিত্রটি Flutter অ্যাপ ডেভেলপমেন্টের স্তরগুলিকে নির্দিষ্ট করে৷
আজ এ পর্যন্তই
No comments:
Post a Comment