ফ্লাটার (সফটওয়্যার)
ফ্লাটার গুগল দ্বারা নির্মিত একটি ওপেন-সোর্স ইউআই সফটওয়্যার ডেভলপমেন্ট কিট । এটি অ্যান্ড্রয়েড, আইওএস, উইন্ডোজ, ম্যাক, লিনাক্স, গুগল ফুসিয়া এবং ওয়েবের জন্য অ্যাপ্লিকেশন করতে ব্যবহৃত হয়। [5]
![]() | |
মূল উদ্ভাবক | গুগল |
---|---|
উন্নয়নকারী | গুগল এবং কমিউনিটি |
প্রাথমিক সংস্করণ | আলফা(ভা০.০.৬) / মে ২০১৭[1] |
স্থায়ী মুক্তি | ভা১.৯.১+হটফিক্স.২ / ৯ সেপ্টেম্বর ২০১৯[2] |
পরীক্ষামূলক সংস্করণ | ১.৮.৩ / ৮ আগস্ট ২০১৯[3] |
লেখা হয়েছে | সি, সি++, ডার্ট এবং স্কিয়া গ্রাফিক্স ইঞ্জিন[4] |
প্লাটফর্ম | ডেভেলপমেন্ট: উইন্ডোজ, ম্যাক ওএস এবং লিনাক্স, টার্গেট: অ্যানড্রয়েড, আইওএস, গুগল ফুশিয়া, ওয়েব প্লাটফর্ম এবং ডেস্কটপ |
ধরণ | এপ্লিকেশন ফ্রেমওয়ার্ক |
লাইসেন্স | নতুন বিএসডি লাইন্সেন্স |
ওয়েবসাইট | flutter |
ফ্লাটারের প্রথম সংস্করণ "স্কাই" কোডনামে পরিচিত ছিল এবং এটি অ্যান্ড্রয়েড অপারেটিং সিস্টেমে চলেছিল। ২০১৫ তে এটি প্রতি সেকেন্ডে ১২০ ফ্রেমে ধারাবাহিকভাবে রেন্ডার করতে সক্ষম হওয়ার বর্ণিত উদ্দেশ্য নিয়ে ডার্ট ডেভেলপারের শীর্ষ সম্মেলনে উন্মোচিত হয়েছিল। [6] সাংহাইয়ে গুগল ডেভেলপার দিবসের মূল বক্তব্য চলাকালীন সময়ে গুগল ফ্লাটার রিলিজ প্রিভিউ ২ ঘোষণা করেছিল যা ফ্লটার ১.০ এর আগে শেষ বড় রিলিজ। ৪ ই ডিসেম্বর, ২০১৮ এ ফ্রেমওয়ার্কের প্রথম "স্থিতিশীল" সংস্করণটি ফ্লটার লাইভ ইভেন্টে ফ্লটার ১.০ প্রকাশিত হয়েছিল। [7]
ফ্রেমওয়ার্ক আর্কিটেকচার
ফ্লাটারের প্রধান উপাদানগুলির মধ্যে রয়েছে:
- ডার্ট প্ল্যাটফর্ম
- ফ্লাটার ইঞ্জিন
- ফাউন্ডেশন লাইব্রেরি
- নির্দিষ্ট নকশা উইজেট
ডার্ট প্ল্যাটফর্ম
ফ্লাটার অ্যাপসগুলো ডার্ট প্রোগ্রামিং ভাষায় লিখিত এবং প্রোগ্রামিং ভাষার আরও অনেক উন্নত বৈশিষ্ট্যগুলি ব্যবহার করে। [8]
উইন্ডোজ, ম্যাক ওএস এবং লিনাক্স -এ আধা-অফিসিয়াল ফ্লাটার ডেস্কটপ এম্বেডিং প্রকল্পের মাধ্যমে ফ্লাটার, ডার্ট ভার্চুয়াল মেশিনে চালিত হয় যা জাস্ট ইন টাইম এক্সিকিউশন ইঞ্জিন বৈশিষ্ট্যযুক্ত। কোনও অ্যাপ্লিকেশন লেখার সময় এবং ডিবাগ করার সময়,ফ্লাটার জাস্ট ইন টাইম সংকলন ব্যবহার করে "হট রিলোড" -এর জন্য অনুমতি দেয়, যার সাহায্যে উৎস ফাইলে পরিবর্তনগুলি একটি চলমান অ্যাপ্লিকেশনে ইনজেকশনের ব্যবস্থা করতে পারে। এটি স্টেটফুল হটলোডের সমর্থন করে, যেখানে বেশিরভাগ ক্ষেত্রে সোর্স কোডে পরিবর্তনগুলি পুনরায় চালু করা বা কোনও ক্ষতি ছাড়াই চলমান অ্যাপে তৎক্ষণাত প্রতিফলিত হতে পারে। [9] ফ্লাটারে প্রয়োগ করা এই বৈশিষ্ট্যটি ব্যাপক প্রশংসা পেয়েছে ফ্লাটার অ্যাপ্লিকেশনগুলির রিলিজ সংস্করণগুলি অ্যান্ড্রয়েড এবং আইওএস উভয়কেই এহেড অফ টাইম(এওটি) সংকলন দিয়ে সংকলিত করা হয়েছে [10] যা মোবাইল ডিভাইসে ফ্লাটারের উচ্চ পারফরম্যান্সকে সম্ভব করে তোলে।
ফ্লাটার ইঞ্জিন
প্রাথমিকভাবে সি ++ তে লেখা লিফ্টারের ইঞ্জিন গুগলের স্কিয়া গ্রাফিক্স লাইব্রেরি ব্যবহার করে নিম্ন-স্তরের রেন্ডারিং সহায়তা সরবরাহ করে। এছাড়াও এটি প্ল্যাটফর্ম-নির্দিষ্ট এসডিকে যেমন অ্যান্ড্রয়েড এবং আইওএস দ্বারা সরবরাহিত ইন্টারফেস ব্যবহার করতে পারে। [8] ফ্লাটার ইঞ্জিন হ'ল ফ্লাটার অ্যাপ্লিকেশনগুলি হোস্ট করার জন্য একটি বহনযোগ্য রানটাইম। এটি অ্যানিমেশন এবং গ্রাফিক্স, ফাইল এবং নেটওয়ার্ক ইনপুট/আউটপুট , অ্যাক্সেসিবিলিটি সমর্থন, প্লাগইন আর্কিটেকচার এবং একটি ডার্ট রানটাইম এবং সংকলন সরঞ্জামচয়ন সহ ফ্লার্টারের মূল লাইব্রেরিগুলি প্রয়োগ করে। বেশিরভাগ ডেভেলপাররা ফ্লাটার ফ্রেমওয়ার্কের মাধ্যমে ফ্লাটারের সাথে যোগাযোগ করে যা একটি আধুনিক, প্রতিক্রিয়াশীল কাঠামো এবং প্ল্যাটফর্মের একটি সমৃদ্ধ সেট, লেআউট এবং ফাউন্ডেশন উইজেট সরবরাহ করে।
ফাউন্ডেশন লাইব্রেরি
ডার্টে লিখিত ফাউন্ডেশন লাইব্রেরি বেসিক ক্লাস এবং ফাংশন সরবরাহ করে যা ইঞ্জিনের সাথে যোগাযোগের জন্য এপিআই এর মতো উপাদানগুলি ব্যবহার করে ফ্লাটার অ্যাপ্লিকেশন তৈরি করতে ব্যবহৃত হয়। [8][11]
উইজেট
ফ্লাটারে ইউআই ডিজাইনে অন্যান্য উইজেটগুলি থেকে "উইজেটগুলি" একত্রিত/তৈরি করতে কম্পোজিশন ব্যবহার করে। এটি বোঝার কৌশলটি হল যে কোনও একক বিল্ড () পদ্ধতির অধীনে কোনও ট্রির (উইজেটগুলি) একক উইজেট হিসাবেও উল্লেখ করা হয়। এর কারণ ছোট ছোট উইজেটগুলি এমনকি আরও ছোট উইজেটগুলি নিয়ে গঠিত এবং প্রত্যেকটির নিজস্ব একটি বিল্ড() পদ্ধতি রয়েছে। এভাবেই ফ্লাটারে কম্পোজিশন ব্যবহার করে।
ডকমেন্টেশন বলে: "একটি উইজেট হ'ল একটি ইউজার ইন্টারফেসের অংশের অপরিবর্তনীয় বর্ণনা।" একজন মানুষ আপনাকে বলবে এটি একটি নীলনকশা, যা এটি সম্পর্কে চিন্তা করার অনেক সহজ উপায়। তবে, আপনার মনে রাখতে হবে যে ফ্লাটারে অনেক ধরনের উইজেট রয়েছে এবং আপনি সেগুলি দেখতে বা স্পর্শ করতে পারবেন না। পাঠ্যটি একটি উইজেট, তবে এর পাঠ্য স্টাইলও এটি আকার, রঙ, ফন্ট পরিবার এবং ওজনের মতো জিনিসগুলি সংজ্ঞায়িত করে। এমন উইজেট রয়েছে যা জিনিসগুলিকে প্রতিনিধিত্ব করে, বৈশিষ্ট্যগুলি উপস্থাপন করে(যেমন টেক্সটস্টাইল) এবং এমন কি ফিউচারবিল্ডার এবং স্ট্রিমবিল্ডারের মতো জিনিসগুলি করে।
জটিল সরল উইজেটগুলি অনেকগুলি সহজ সরল সমন্বয় করে তৈরি করা যেতে পারে এবং একটি অ্যাপ্লিকেশন আসলে সেগুলির মধ্যে সবচেয়ে বড় উইজেট(প্রায়শই "মাই অ্যাপ" নামে পরিচিত)। মাই অ্যাপ অ্যাপ্লিকেশনটিতে অন্যান্য সমস্ত উইজেট রয়েছে, এতে আরও ছোট উইজেট থাকতে পারে এবং একসাথে তারা আপনার অ্যাপ তৈরি করে।
তবে, ফ্লাটার অ্যাপস তৈরির জন্য উইজেটগুলির ব্যবহার আবশ্যকীয় না। এটি হল একটি বিকল্প যা সাধারণত শুধুমাত্র সেইসব লোকেরা ব্যবহার করে যারা ক্যানভাসে টানা প্রতিটি পিক্সেল নিয়ন্ত্রণ করতে চান, তা হ'ল ফাউন্ডেশন লাইব্রেরির পদ্ধতিগুলি সরাসরি ব্যবহার করা পদ্ধতি। এই পদ্ধতিগুলি সরাসরি ক্যানভাসে আকার, পাঠ্য এবং চিত্র আঁকার জন্য ব্যবহার করা যেতে পারে। ওঠানামা করার এই ক্ষমতাটি ওপেন-সোর্স ফ্লেম গেম ইঞ্জিনের মতো কয়েকটি ফ্রেমওয়ার্কে ব্যবহার করা হয়েছে।
হ্যালো ওয়ার্ল্ড উদাহরণ
হ্যালো, ফ্লটারে ওয়ার্ল্ড প্রোগ্রামটি দেখতে এরকম দেখাচ্ছে:
1 import 'package:flutter/material.dart';
2
3 void main() => runApp(HelloWorldApp());
4
5 class HelloWorldApp extends StatelessWidget {
6 @override
7 Widget build(BuildContext context) {
8 return MaterialApp(
9 title: 'Hello World App',
10 home: Scaffold(
11 appBar: AppBar(
12 title: Text('Hello World App'),
13 ),
14 body: Center(
15 child: Text('Hello World'),
16 ),
17 ),
18 );
19 }
20 }
তথ্যসূত্র
- Chris Bracken। "Release v0.0.6: Rev alpha branch version to 0.0.6, flutter 0.0.26 (#10010) · flutter/flutter"। GitHub। সংগ্রহের তারিখ ২০১৮-০৮-০৮।
- "Flutter SDK releases"। flutter.dev।
- "Flutter makes it easy and fast to build beautiful mobile apps.: flutter/flutter"। জুলাই ২৯, ২০১৯ – GitHub-এর মাধ্যমে।
- "FAQ - Flutter"। সংগ্রহের তারিখ ২০১৮-০৮-০৮।
- "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI"। Ars Technica।
- Amadeo, Ron (১ মে ২০১৫)। "Google's Dart language on Android aims for Java-free, 120 FPS apps"। Ars Technica।
- "Speed Up Native Development As Google Flutter Comes Out Of Beta" (ইংরেজি ভাষায়)। Appetiser Apps। সংগ্রহের তারিখ ২০১৮-১২-২১।
- "Technical Overview - Flutter"। flutter.dev (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০১৭-১২-১৩।
- Lelel, Wm (২৬ ফেব্রুয়ারি ২০১৮)। "Why Flutter Uses Dart"। HackerNoon। সংগ্রহের তারিখ ৫ ডিসেম্বর ২০১৮।
- stephenwzl (২০১৮-০৮-০১)। "Flutter's Compilation Patterns"। ProAndroidDev। সংগ্রহের তারিখ ২০১৮-১২-০৬।
- "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 (ইংরেজি ভাষায়)। সংগ্রহের তারিখ ২০১৯-১০-০৮।