ফ্লাটার (সফটওয়্যার)
ফ্লাটার গুগলের নির্মিত একটি ওপেন-সোর্স ইউআই সফটওয়্যার ডেভলপমেন্ট কিট, যেটা ব্যবহার করে একক কোডভিত থেকে অ্যান্ড্রয়েড, আইওএস, উইন্ডোজ, ম্যাক, লিনাক্স, গুগল ফুসিয়া এবং ওয়েবের জন্য অ্যাপ্লিকেশন নির্মান করা সম্ভব। [৪]
মূল উদ্ভাবক | গুগল |
---|---|
উন্নয়নকারী | গুগল এবং কমিউনিটি |
প্রাথমিক সংস্করণ | আলফা(সংস্করণ০.০.৬) / মে ২০১৭[১] |
স্থিতিশীল সংস্করণ | 3.24.4[২]
/ ২৪ অক্টোবর ২০২৪ |
রিপজিটরি | |
যে ভাষায় লিখিত | সি, সি++, ডার্ট ও স্কিয়া গ্রাফিক্স ইঞ্জিন[৩] |
প্ল্যাটফর্ম | উইন্ডোজ, ম্যাক ওএস এবং লিনাক্স, অ্যান্ড্রয়েড, আইওএস, গুগল ফুশিয়া, ওয়েব প্লাটফর্ম এবং ডেস্কটপ |
ধরন | অ্যাপলিকেশন ফ্রেমওয়ার্ক |
লাইসেন্স | নতুন বিএসডি লাইন্সেন্স |
ওয়েবসাইট | flutter |
ফ্লাটারের প্রথম সংস্করণের কোডনাম ছিলো "স্কাই" যেটা শুধুমাত্র অ্যান্ড্রয়েডে চলতো। ২০১৫ সালের ডার্ট ডেভেলপার শীর্ষ সম্মেলনে ধারাবাহিকভাবে প্রতি সেকেন্ডে ১২০টি ফ্রেম রেন্ডারের সক্ষমতার বর্ণনা করে এটাকে উন্মোচিত করা হয়। [৫] শাংহাইয়ে গুগল ডেভেলপার দিবসের মূল বক্তব্যে গুগল ফ্লাটার রিলিজ প্রিভিউ ২-এর ঘোষণা দেয়, যেটা ৪ ডিসেম্বর ২০১৮ সালে মুক্তি পাওয়া ফ্লাটার ১.০-এর আগে ফ্লাটারের সবচেয়ে বড় মুক্তি, যেটা ফ্লাটার লাইভ ইভেন্টে প্রকাশিত হয়, এবং ফ্লাটারের প্রথম স্টেবল সংস্করণ। [৬] ২০১৯ সালের ১১ ডিসেম্বর ফ্লাটার ইন্টারেক্টিভ ইভেন্টে ফ্লাটার ১.১২ প্রকাশিত হয়।
৬ মে ২০২০ সালে ডার্ট এসডিকে ২.৮ ও ফ্লাটার সংস্করণ ১.১৭.০ প্রকাশিত হয়। এ সংস্করণে অ্যাপলের মেটাল এপিআইর জন্য সমর্থন সংযুক্ত করা হয়, যেখানে আইওএস যন্ত্রসমূহে ফ্লাটারের পারফরমেন্স প্রায় ৫০% বৃদ্ধি পায়। এ সংস্করণে নতুন মেটারিয়েল উইজেট ও নতুন নেটওয়ার্ক ট্র্যাকিং টুলও যুক্ত করা হয়।
৪ মার্চ ২০২১ তে গুগল একটা অনলাইন ফ্লাটার এংগেজমেন্ট ইভেন্টে ফ্লাটার ২ মুক্ত করে। এ বিশাল হালনাগাদটি ওয়েব-ভিত্তিক অ্যাপ্লিকেশনের জন্য প্রাতিষ্ঠানিক সমর্থন যুক্ত করে, সাথে সাথে উইন্ডোজ, ম্যাকওএস এবং লিনাক্সের জন্য ডেস্কটপ অ্যাপলিকেশন সমর্থন যুক্ত করে, যদিও এটা এখনও প্রারম্ভিক অবস্থায় আছে।
ফ্রেমওয়ার্ক আর্কিটেকচার
সম্পাদনাফ্লাটারের প্রধান উপাদানগুলোর মধ্যে রয়েছে:
- ডার্ট প্ল্যাটফর্ম
- ফ্লাটার ইঞ্জিন
- ফাউন্ডেশন লাইব্রেরি
- ডিজাইন-স্পেসিফিক উইজেট
ডার্ট প্ল্যাটফর্ম
সম্পাদনাফ্লাটার অ্যাপলিকেশনগুলো ডার্ট প্রোগ্রামিং ভাষায় লেখা হয় এবং যেখানে অন্য অনেক প্রোগ্রামিং ভাষা যেমন জাভা, জাভাস্ক্রিপ্টের উল্লেখযোগ্য অনেক বৈশিষ্ট্যের দেখা মিলে। [৭]
উইন্ডোজ, ম্যাক ওএস এবং লিনাক্স ফ্লাটার জাস্ট-ইন-টাইম এক্সিকিউশন ইঞ্জিন ডার্ট ভার্চুয়াল মেশিনে চলে। ফ্লাটারের বিশেষ একটা সুবিধা হলো হট রিলোড, যেখানে অ্যাপলিকেশন চলা অবস্থায়ই উৎস কোডের পরিবর্তন অ্যাপলিকেশনে ইনজেক্ট করা সম্ভব।[৮]
ফ্লাটার ব্যবহার করে মুক্তি পাওয়া অ্যাপলিকেশনগুলো অ্যাহেড-অভ-টাইম বা এওটি কম্পিলেশন ব্যবহার করে, যেটা অ্যান্ড্রয়েড ও আইওএসে তুলনামূলক ভালো পারফরমেন্স নিশ্চিত করে।
ফ্লাটার ইঞ্জিন
সম্পাদনাপ্রাথমিকভাবে সি ++ তে লেখা লিফ্টারের ইঞ্জিন গুগলের স্কিয়া গ্রাফিক্স লাইব্রেরি ব্যবহার করে নিম্ন-স্তরের রেন্ডারিং সহায়তা সরবরাহ করে। এছাড়াও এটি প্ল্যাটফর্ম-নির্দিষ্ট এসডিকে যেমন অ্যান্ড্রয়েড এবং আইওএস দ্বারা সরবরাহিত ইন্টারফেস ব্যবহার করতে পারে। [৭] ফ্লাটার ইঞ্জিন হ'ল ফ্লাটার অ্যাপ্লিকেশনগুলি হোস্ট করার জন্য একটি বহনযোগ্য রানটাইম। এটি অ্যানিমেশন এবং গ্রাফিক্স, ফাইল এবং নেটওয়ার্ক ইনপুট/আউটপুট , অ্যাক্সেসিবিলিটি সমর্থন, প্লাগইন আর্কিটেকচার এবং একটি ডার্ট রানটাইম এবং সংকলন সরঞ্জামচয়ন সহ ফ্লার্টারের মূল লাইব্রেরিগুলি প্রয়োগ করে। বেশিরভাগ ডেভেলপাররা ফ্লাটার ফ্রেমওয়ার্কের মাধ্যমে ফ্লাটারের সাথে যোগাযোগ করে যা একটি আধুনিক, প্রতিক্রিয়াশীল কাঠামো এবং প্ল্যাটফর্মের একটি সমৃদ্ধ সেট, লেআউট এবং ফাউন্ডেশন উইজেট সরবরাহ করে।
ফাউন্ডেশন লাইব্রেরি
সম্পাদনাডার্টে লেখা ফাউন্ডেশন লাইব্রেরি প্রাথমিক ক্লাস এবং ফাংশন সরবরাহ করে যা ইঞ্জিনের সাথে যোগাযোগের জন্য এপিআই এর মতো উপাদানগুলো ব্যবহার করে ফ্লাটার অ্যাপ্লিকেশন তৈরি করতে ব্যবহার করা হয়। [৭][৯]
ডিজাইন স্পেসিফিক উইজেট
সম্পাদনাফ্লাটার ফ্রেমওয়ার্কটিতে দুই সেট উইজেট থাকে যা নির্দিষ্ট ডিজাইনের জন্য ব্যবহার করা হয়। ম্যাটেরিয়াল ডিজাইন উইজেট একই নামে গুগলের ডিজাইন ভাষা প্রয়োগে ব্যবহার করা হয় আর কুপার্টিনো উইজেট অ্যাপলের হিউম্যান ইন্টারফেস গাইডলাইন আইওএস যন্ত্রে প্রয়োগ করে। [৭][১০][১১][১২]
হ্যালো ওয়ার্ল্ড উদাহরণ
সম্পাদনাহ্যালো, ওয়ার্ল্ড প্রোগ্রাম ফ্লাটারে যেমন দেখায়:
import 'package:flutter/material.dart';
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World App',
home: Scaffold(
appBar: AppBar(
title: Text('Hello World App'),
),
body: Center(
child: Text('Hello World'),
),
),
);
}
}
তথ্যসূত্র
সম্পাদনা- ↑ ক্রিস ব্র্যাকেন। "Release v0.0.6: Rev alpha branch version to 0.0.6, flutter 0.0.26 (#10010) · flutter/flutter"। গিটহাব। সংগ্রহের তারিখ ৮ আগস্ট ২০১৮।
- ↑ https://github.com/flutter/flutter/releases/tag/3.24.4.
- ↑ "FAQ - Flutter"। সংগ্রহের তারিখ ২০১৮-০৮-০৮।
- ↑ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI"। আরস টেকনিকা।
- ↑ আমাডেও, রন (১ মে ২০১৫)। "Google's Dart language on Android aims for Java-free, 120 FPS apps"। আরস টেকনিকা।
- ↑ "Speed Up Native Development As Google Flutter Comes Out Of Beta" (ইংরেজি ভাষায়)। অ্যাপিটাইজার অ্যাপস। সংগ্রহের তারিখ ২১ ডিসেম্বর ২০১৮।
- ↑ ক খ গ ঘ "Technical Overview - Flutter"। flutter.dev (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ১৩ ডিসেম্বর ২০১৭।
- ↑ লেলেল, উইম (২৬ ফেব্রুয়ারি ২০১৮)। "Why Flutter Uses Dart"। হ্যাকারনুন। সংগ্রহের তারিখ ৫ ডিসেম্বর ২০১৮।
- ↑ "foundation library - Dart API"। docs.flutter.dev (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ১৩ ডিসেম্বর ২০১৭।
- ↑ "Material Design Widgets - Flutter"। flutter.dev (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ১৩ ডিসেম্বর ২০১৭।
- ↑ "Cupertino (iOS-style) Widgets - Flutter"। flutter.dev (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ১৩ ডিসেম্বর ২০১৭।
- ↑ "Human Interface Guidelines"। developer.apple.com (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ৮ অক্টোবর ২০১৯।