এই বছর, মোবাইল অ্যাপ্লিকেশন আরও বেশি জনপ্রিয় হচ্ছে। خوشবাত হলো ডেভেলপারদের জন্য অনেক প্রোগ্রামিং টুল উপলব্ধ যারা সেগুলো তৈরি করতে চান। এই টুলগুলোর মধ্যে Flutter নিজেকে আলাদা করে তুলেছে।
Flutter কী?
Flutter হলো একটি ফ্রি এবং ওপেন-সোর্স মোবাইল UI ফ্রেমওয়ার্ক যা Google তৈরি করেছে এবং মে ২০১৭-এ রিলিজ করেছে। সংক্ষেপে, এটি আপনাকে শুধু একটি কোডবেস দিয়ে একটি নেটিভ মোবাইল অ্যাপ্লিকেশন তৈরি করতে দেয়। এর মানে হলো আপনি একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ এবং একটি কোডবেস ব্যবহার করে দুটি আলাদা অ্যাপ (iOS এবং Android-এর জন্য) তৈরি করতে পারেন।
Flutter-এর দুটি গুরুত্বপূর্ণ অংশ রয়েছে:
- একটি SDK (Software Development Kit): টুলের একটি কালেকশন যা আপনার অ্যাপ্লিকেশন ডেভেলপ করতে সাহায্য করবে। এতে আপনার কোড নেটিভ মেশিন কোডে (iOS এবং Android-এর জন্য কোড) কম্পাইল করার টুলস রয়েছে।
- একটি ফ্রেমওয়ার্ক (উইজেট-ভিত্তিক UI লাইব্রেরি): পুনঃব্যবহারযোগ্য UI এলিমেন্টের একটি কালেকশন (বাটন, টেক্সট ইনপুট, স্লাইডার, ইত্যাদি) যা আপনি আপনার দরকার অনুযায়ী পারসোনালাইজ করতে পারেন।
Flutter-এ ডেভেলপ করার জন্য আপনি Dart নামক একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করবেন। এই ল্যাঙ্গুয়েজটি Google অক্টোবর ২০১১-এ তৈরি করেছিল, কিন্তু গত няколко বছরে এটি অনেক উন্নত হয়েছে।
Dart ফ্রন্ট-এন্ড ডেভেলপমেন্ট-এ ফোকাস করে, এবং আপনি এটি ব্যবহার করে মোবাইল এবং ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারেন।
আপনি যদি কিছুটা প্রোগ্রামিং জানেন, Dart একটি টাইপড অবজেক্ট-অরিয়েন্টেড প্রোগ্রামিং ল্যাঙ্গুয়েজ। আপনি Dart-এর সিনট্যাক্স JavaScript-এর সাথে তুলনা করতে পারেন।
“Flutter is Google's UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.” - Google, flutter.dev
কেন আপনাকে Flutter শিখা উচিত?
আমি কিছু কারণ সিলেক্ট করেছি যে কারণে আমি Flutter পছন্দ করি এবং কেন আমি আগামী سال এটি ব্যবহার করতে চাই। নিচে ডিটেইল এবং আমার ফিডব্যাক দিচ্ছি।
শিখা এবং ব্যবহার করা সহজ
Flutter একটি মডার্ন ফ্রেমওয়ার্ক, এবং আপনি এটিকে অনুভব করতে পারবেন! এর সাথে মোবাইল অ্যাপ্লিকেশন তৈরি করা অনেক সহজ। আপনি যদি Java, Swift, বা React Native ব্যবহার করে থাকেন, আপনি লক্ষ্য করবেন Flutter কতটা ভিন্ন।
ব্যক্তিগতভাবে, Flutter শুরু করার আগে আমি মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্ট কখনো পছন্দ করতাম না।
Flutter-এ যা আমি ভালোবাসি সেটি হলো আপনি একটি আসল নেটিভ অ্যাপ্লিকেশন তৈরি করতে পারেন অনেক কোড লিখতে ছাড়া।
দ্রুত কম্পাইলেশন: সর্বোচ্চ প্রোডাক্টিভিটি
Flutter-এর সাহায্যে, আপনি আপনার কোড পরিবর্তন করতে পারেন এবং রিয়েল-টাইমে ফলাফল দেখতে পারেন। এটাকে Hot-Reload বলে। আপনি সেভ করার পর খুব কম সময়ের মধ্যেই অ্যাপ্লিকেশনটি আপডেট হয়ে যায়।
বড় পরিবর্তনগুলো আপনাকে অ্যাপ রিলোড করতে বাধ্য করে। কিন্তু আপনি যদি ডিজাইনের মত কাজ করেন, যেমন একটি এলিমেন্টের সাইজ পরিবর্তন, তবে সেটি রিয়েল-টাইমে হয়!
স্টার্টআপ MVP-এর জন্য আডেইল
আপনি যদি আপনার প্রোডাক্ট বিনিয়োগকারীদের কাছে যত ত্বরিত দেখাতে চান, Flutter একটি ভালো পছন্দ।
আমার টপ ৪ কারণ MVP-এর জন্য এটি ব্যবহার করার:
- Flutter-এ মোবাইল অ্যাপ্লিকেশন ডেভেলপ করা সস্তা কারণ আপনাকে দুটি মোবাইল অ্যাপ (একটি iOS-এর জন্য এবং একটি Android-এর জন্য) তৈরি এবং মেইনটেইন করতে হয় না।
- আপনার MVP তৈরি করার জন্য শুধু একজন ডেভেলপারই যথেষ্ট।
- এটি পারফরম্যান্ট — আপনি একটি নেটিভ অ্যাপ্লিকেশন এবং একটি Flutter অ্যাপের মধ্যে পার্থক্য বুঝতে পারবেন না।
- এটি সুন্দর — আপনি Flutter-দিয়ে প্রদত্ত উইজেটগুলো সহজে ব্যবহার এবং পারসোনালাইজ করে আপনার কাস্টমারদের জন্য একটি মূল্যবান UI তৈরি করতে পারেন (নিচে Flutter-এ তৈরি অ্যাপের উদাহরণ দেখুন)।
ভালো ডকুমেন্টেশন
নতুন টেকনোলজির জন্য ভালো ডকুমেন্টেশন থাকা গুরুত্বপূর্ণ। কিন্তু সবসময় এটি থাকে না!
আপনি Flutter-এর ডকুমেন্টেশন থেকে অনেক কিছু শিখতে পারেন, এবং সবকিছু খুব বিস্তারিত সহজ উদাহরণসহ বেসিক ইউজ কেসের জন্য। আমার কোডে উইজেটগুলোর সাথে যেকোনো সমস্যা হলে, আমি ডকুমেন্টেশন চেক করলে উত্তরটি পেয়েছি।
একটি বৃদ্ধিশীল কমিউনিটি
Flutter-এ একটি রবাস্ট কমিউনিটি রয়েছে, এবং এটা তো শুধু শুরু!
আপনি জানেন, আমি প্রোগ্রামিং-এ আমার জ্ঞান এবং উপকারী কন্টেন্ট শেয়ার করতে পছন্দ করি আমার ওয়েবসাইটে। আমাকে জানতে হয় আমি একটি পটেনশিয়ালপূর্ণ টেকনোলজিতে কাজ করছি যার পেছনে অনেক ব্যাকার রয়েছে।
Flutter শুরু করার সময় আমি প্রথমে কমিউনিটি খুঁজেছিলাম, এবং আমার বিস্ময়ের চেয়ে বড়... Flutter-এ ইনফো এক্সচেঞ্জ করার জন্য অনেক জায়গা আছে।
আমি আমার পছন্দের কিছু জায়গার উদাহরণ দিচ্ছি। আপনার সাজেশন টুইটারে মেসেজ দিয়ে জানাতে পারেন।
- Flutter Awesome: একটি অসাধারণ লিস্ট যা সেরা Flutter লাইব্রেরি এবং টুল কিউরেট করে। এই ওয়েবসাইট প্রতিদিন কন্টেন্ট পাবলিশ করে অনেক উদাহরণ, অ্যাপ্লিকেশন টেমপ্লেট, পরামর্শ, ইত্যাদি সহ।
- Awesome Flutter: একটি GitHub রিপোজিটরি (Flutter Awesome-র সাথে লিংকড) যাতে আর্টিকেল, ভিডিও, কম্পোনেন্ট, ইউটিলিটি, ইত্যাদির লিস্ট রয়েছে।
- It's all widgets!: Flutter-এ বিল্ড করা অ্যাপগুলোর একটি ওপেন লিস্ট।
- Flutter Community: একটি Medium পাবলিকেশন যেখানে আপনি আর্টিকেল, টিউটোরিয়াল, এবং আরও অনেক কিছু পাবেন।
Android Studio এবং VS Code-র সাপোর্ট
Flutter বিভিন্ন IDE-এ উপলব্ধ। এই টেকনোলজির সাথে ডেভেলপ করার জন্য দুটি প্রধান কোড এডিটর হলো Android Studio (IntelliJ) এবং VS Code।
Android Studio একটি কমপ্লিট সফটওয়্যার যেটে সবকিছু ইতিমধ্যে ইন্টিগ্রেটেড থাকে। আপনাকে Flutter এবং Dart প্লাগইন ডাউনলোড করতে হবে শুরু করতে।
VS Code একটি লাইটওয়েট টুল, এবং সবকিছু প্লাগইন দিয়ে মার্কেটপ্লেস থেকে কনফিগারেবল।
আমি Android Studio ব্যবহার করি কারণ কাজ করার জন্য আমাকে অনেক কিছু কনফিগার করতে হয় না।
আপনি আপনার পছন্দের IDE বেছে নিতে آزاد!
বোনাস
ফ্রিল্যান্স
আপনি যদি কিছু ফ্রিল্যান্স কাজ শুরু করতে চান, আপনাকে Flutter ব্যবহার করার কথা ভাবা উচিত।
২০২০ সালে, আমি মনে করি এই টেকনোলজি ফুটবে। এবং এর মানে হলো অনেক মানুষ Flutter জানা ডেভেলপার খুঁজবে।
ফ্রান্সের সবচেয়ে বড় ফ্রিল্যান্স প্ল্যাটফর্ম Malt, gầnে এই বছরের টেক ট্রেন্ডস পাবলিশ করেছে। Flutter ২০১৮ এবং ২০১৯-এর মধ্যে এই প্ল্যাটফর্মে +৩০৩% বৃদ্ধি পেয়েছে।
উপসংহার
তাহলে, আপনি Flutter-কে কীভাবে ভাবেন? কি আগামী سال এটি শিখতে শুরু করবেন?
আশা করি এই ইন্ট্রোডাকশন আপনাকে আকর্ষণ এবং অনুপ্রাণিত করেছে। আপনি যদি পছন্দ করেন তবে এই আর্টিকেল শেয়ার করতে পারেন।
আপনি যদি এই ধরনের আরও কন্টেন্ট চান, আমাকে টুইটারে ফলো করতে পারেন, যেখানে আমি ওয়েব ডেভেলপমেন্ট, সেলফ-ইমপ্রুভমেন্ট, এবং একটি ফুল স্ট্যাক ডেভেলপার হিসেবে আমার যাত্রা নিয়ে টুইট করি!