«آقا، فلاتر خوبه، ولی تهش برای اپهای کوچیک و استارتاپیه دیگه. مگه نه؟» این جملهایه که احتمالاً یا شنیدی، یا ته ذهنت موقع کلنجار رفتن با فلاتر یا ری اکت نیتیو بهش فکر کردی. این تصور که فلاتر (Flutter) یه ابزار «اسباببازی» برای ساختن اپهای خوشگل ولی ساده است، بزرگترین اشتباهیه که یه توسعهدهنده میتونه بکنه.
حقیقت اینه: فلاتر یه ابزار اسباببازی نیست؛ یه اسلحه جنگی کامله. یه فریمورک که گوگل اول برای خودش ساخت تا مشکلات عظیمش رو حل کنه و بعداً به دنیا عرضه کرد. و امروز، غولهای تکنولوژی، از خود گوگل و BMW گرفته تا جامعههای اوپنسورس خفن، دارن ازش برای ساختن حیاتیترین نرمافزارهاشون استفاده میکنن.
تو این مقاله، قرار نیست براتون لیست خشکوخالی بیاریم. میخوایم یه شیرجه عمیق بزنیم تو دنیای واقعی برنامه های ساخته شده با فلاتر. میخوایم ببینیم کدوم شرکتهای گنده جرأت کردن بیزینس میلیون دلاریشون رو روی فلاتر بنا کنن، چرا این کار رو کردن، و چطور فلاتر زندگی رو براشون راحتتر کرد. از اپ پرداخت گوگل گرفته تا نصبکننده اوبونتو و بازی پابجی! پس کمربندها رو ببند که میخوایم چندتا از خفنترین برنامه های ساخته شده با فلاتر رو کالبدشکافی کنیم.
بهترین راه برای سنجش اعتبار یه تکنولوژی اینه که ببینی خودِ شرکت سازنده چقدر ازش استفاده میکنه (به این میگن Dogfooding). و آقا، گوگل فقط از فلاتر «استفاده» نمیکنه؛ گوگل داره «آیندهاش» رو با فلاتر میسازه.
گوگل پِی | Google Pay
گوگل پِی (Google Pay) – غول پرداخت کمتر کسیه که اسم گوگل پِی رو نشنیده باشه (حتی اگه مثل ما تو ایران ازش محروم باشیم). این اپلیکیشن با بیشتر از ۵۰۰ میلیون کاربر، یکی از حیاتیترین ستونهای اکوسیستم گوگله. فاجعه از جایی شروع شد که تیم GPay دوتا codebase جدا برای اندروید و iOS داشتن. نزدیک به ۲ میلیون خط کد! هر تغییر کوچیک، یعنی دو بار کار کردن، دو بار تست کردن و دو برابر هزینه و زمان.
اینجا بود که فـلاتر وارد شد. گوگل تصمیم گرفت کل اپ GPay رو از اول با فـلاتر بازنویسی کنه. نتیجه؟ یه شاهکار مهندسی! طبق گفتههای خود تیم گوگل، با اینکه کلی ویژگی جدید به اپ اضافه کردن، حجم کل کدبیس ۳۵ درصد کمتر شد! از حدود ۱.۷ میلیون خط کد رسیدن به ۱.۱ میلیون خط. اما بخش ترسناکش اینجاست: اونا تخمین زدن که ۶۰ تا ۷۰ درصد در زمان مهندسهاشون صرفهجویی کردن! چون مدیریت و آپدیت دادن به یه codebase واحد فـلاتر، به مراتب راحتتره. وقتی گوگل شاهرگ مالی خودشو به فلـاتر میسپره، یعنی شوخی نداریم.
سیستمعامل فیوشا (Fuchsia OS) – آینده گوگل
اگه گوگل پِی برات کافی نیست، بذار یه چیزی بهت بگم که مخت سوت بکشه. گوگل یه سیستمعامل مخفی و جدید به اسم «فیوشا» داره. این پروژه تحقیقاتی نیست؛ همین الان داره روی میلیونها دستگاه Google Nest Hub (همون مانیتورهای هوشمند خونگی) اجرا میشه. و نکته خفنش؟ کل رابط کاربری (UI) سیستمعامل فیوشا، از صفر تا صد، با فـلاتر نوشته شده. گوگل برای ساختن نسل بعدی سیستمعاملهای خودش، به جای اندروید نیتیو، به فلاتر اعتماد کرده. این یعنی فـلاتر اونقدر قدرتمند و بهینه است که میتونه بار یه سیستمعامل کامل رو به دوش بکشه. این بزرگترین مُهر تأیید بر آینده فلاتر هست.
گوگل کِلَسروم (Google Classroom) و گوگل اَدز (Google Ads)
گوگل نشستن. گوگل کلسروم که تو دوران کرونا دنیا رو نجات داد، یه سرویس تحت وب و موبایل رایگان برای معلمها و دانشآموزاست. Flutter به تیم کلسروم کمک کرد که با هر سرعتی که میخوان، روی همه پلتفرمها (موبایل و وب) ویژگیهای جدید رو منتشر کنن. اپ موبایل Google Ads هم که ابزار مدیریت کمپینهای تبلیغاتی گوگله، با فلاتر نوشته شده تا مدیران تبلیغات بتونن خیلی سریع و روان، کمپینهاشون رو روی موبایل مدیریت کنن.
غولهای تکنولوژی سوار بر موج فلاتر
خب، گوگل سازندهاش بود، معلومه که استفاده میکنه. بقیه چی؟ بذار ببینیم شرکتهایی که یه پنی هم به گوگل بدهکار نیستن، چرا سراغ فلاتر اومدن.
BMW و Toyota – فلاتر در جاده!
فلاتر فقط برای موبایل نیست. غولهای خودروسازی مثل BMW و Toyota رسماً اعلام کردن که دارن از فـلاتر برای ساختن سیستمهای اطلاعات-سرگرمی (Infotainment) نسل بعدی خودروهاشون استفاده میکنن.
چرا؟ چون فلاتر پرفورمنس نیتیو داره، میتونه انیمیشنهای فوقالعاده روون رو روی سختافزارهای خاص داخل ماشین اجرا کنه و به تیم BMW اجازه میده یه UI لوکس و یکپارچه رو خیلی سریعتر از کدهای نیتیو ++C توسعه بدن. وقتی جون آدما و اعتبار یه برند لوکس به فریمورکت بنده، یعنی اون فریمورک از هر آزمایشی سربلند بیرون اومده.
ایبِی (eBay) – غول خرید و فروش
اپلیکیشن eBay Motors (بخش خودروی ایبِی) یه مثال کلاسیک دیگه است. تیم ایبِی دقیقاً مشکل گوگل پِی رو داشت: دو تیم، دو codebase، سرعت توسعه پایین. اونا دنبال یه راهحل کراس-پلتفرم بودن. بعد از کلی تحقیق، فـلاتر رو انتخاب کردن. طبق گفتههای خودشون، تیم توسعهشون رو فرستادن دورههای آموزش فلاتر و بعد از مهاجرت، نه تنها سرعت توسعهشون منفجر شد، بلکه تونستن تا ۹۸ درصد کد مشترک بین اندروید و iOS داشته باشن!
گروه علیبابا (Alibaba) – اژدهای چینی
شرکت علیبابا، غول تجارت الکترونیک چین، یکی از اولین پذیرندههای (Early Adopters) فـلاتر بود. اونا از فلـاتر برای اپلیکیشن Xianyu (که یه چیزی تو مایههای eBay برای کالاهای دست دومه و میلیونها کاربر فعال داره) استفاده کردن. تیم علیبابا دنبال چی بود؟ سرعت بارگذاری اپ، تجربه کاربری (UX) فوقالعاده نرم و انیمیشنهای جذاب. فـلاتر تمام اینا رو بهشون داد. اونا حتی یه ویدیوی معروف به زبان چینی دارن که توش توضیح میدن چطور فلـاتر بهشون کمک کرد UIهای پیچیده رو با نرخ ۶۰ فریم بر ثانیه رندر کنن.
قهرمانهای دسکتاپ و اوپنسورس
این بخش، بخش مورد علاقه منه. چون اینا برنامه های ساخته شده با فلاتر هستن که نشون میدن قدرت واقعی فلـاتر کجاست: فراتر از موبایل.
اوبونتو (Ubuntu) – انقلاب در دسکتاپ لینوکس
این یکی از بزرگترین خبرهای دنیای لینوکس و فلاتر بود. شرکت Canonical، یعنی سازنده اوبونتو، رسماً اعلام کرد که فلاتر رو به عنوان کیت UI پیشفرض (Default UI Toolkit) برای تمام اپلیکیشنهای آینده دسکتاپ خودش انتخاب کرده.
این یه حرف ساده نبود. اونا بلافاصله دست به کار شدن و نصبکننده جدید اوبونتو دسکتاپ (Ubuntu Desktop Installer) رو کامل با فلاتر بازنویسی کردن. نتیجه یه نصبکننده مدرن، فوقالعاده زیبا و روون بود که تجربه نصب لینوکس رو متحول کرد. بعدش هم سراغ فروشگاه اپلیکیشن (App Store) جدیدشون رفتن و اونم با فلاتر ساختن. این یعنی چی؟ یعنی فلاتر برای دسکتاپ (Flutter for Desktop) دیگه یه شوخی آزمایشی نیست؛ یه تکنولوژی کاملاً پایدار و پروداکشن-رِدی هست که داره توسط یکی از بزرگترین توزیعکنندههای لینوکس در جهان استفاده میشه.
این برنامه یک سرویس تحت وب و رایگان است که معلمان میتوانند از آن برای توزیع و تعیین تکالیف دانش آموزان استفاده کنن. مخصوصا در دوران شیوع کرونا و مجازی بودن مدارس بسیاری از معلمان برای رسیدگی به تکالیف دانش آموزان از این سیستم استفاده کردن. این سامانه نیز از طریق فریم ورک flutter شده تا دانش آموزان به راحتی و با هر نوع سیستمی بتوانند از خدمات آن استفاده کنن.
راستدِسک (RustDesk) – رقیب TeamViewer با فلاتر
حالا بریم سراغ پروژههای اوپنسورسی که خودت بهشون اشاره کردی. RustDesk یه نرمافزار «ریموت دسکتاپ» اوپن-سورس مثل TeamViewer یا AnyDesk هست. اینا یه چالش بزرگ دارن: باید یه کلاینت (UI) بسازن که دقیقاً مثل هم روی ویندوز، مک، لینوکس، اندروید و iOS کار کنه. قبلاً باید ۵ تا تیم جدا میداشتی! اما تیم RustDesk یه حرکت هوشمندانه زد: بکاند و هسته اصلی برنامه رو با زبان قدرتمند Rust نوشتن (برای همینه اسمش RustDesk هست)، اما کل رابط کاربری (UI) برنامه روی تمام ۵ پلتفرم رو با فلاتر نوشتن! فـلاتر تنها فریمورکیه که به یه تیم کوچیک اجازه میده با یه codebase واحد، غولهایی مثل TeamViewer رو به چالش بکشن. این یعنی قدرت واقعی کراس-پلتفرم.
هیدیفای (Hiddify) – تحریم شکن با فلاتر
اینم یه مثال وطنی و فوقالعاده قابل افتخار. Hiddify یه کلاینت (VPN/Proxy) محبوب و اوپن-سورس برای عبور از تحریم هست. تیم Hiddify هم دقیقاً چالش RustDesk رو داشت: چطور یه اپ بسازیم که هم روی ویندوز، هم مک، هم لینوکس، هم اندروید و هم iOS یه تجربه کاربری یکسان و قابل اعتماد ارائه بده؟ جواب: فـلاتر. اونا با استفاده از فـلاتر، یه اپلیکیشن واحد ساختن که میلیونها کاربر دارن ازش روی تمام پلتفرمها استفاده میکنن. این کار، نگهداری، آپدیت و اضافه کردن ویژگیهای جدید رو برای تیم اوپن-سورسشون به شدت بهینه کرده. این یکی از بهترین برنامه های ساخته شده با فلاتر هست که قدرت واقعی این فریمورک رو تو دنیای واقعی نشون میده.
فلاتر فقط برای اپ نیست!
خیلی خب، اپهای شرکتی و دسکتاپ رو دیدیم. حالا بریم سراغ بخش جذاب ماجرا.
پابجی موبایل (PUBG Mobile) – فلاتر در میدان نبرد
اینجا یه سوءتفاهم رایجه. خیلیا میگن «کل بازی پابجی با فلاتره!». این درست نیست. هسته اصلی بازی و موتور سهبعدی اون با Unreal Engine ساخته شده. اما… ساختن UIهای پیچیده (مثل منوها، لیست دوستان، چت، فروشگاه داخل بازی، لابی و…) با یه موتور بازیسازی مثل Unreal یه کابوس واقعیه. خیلی کنده و دستوپاگیره. تیم پابجی چیکار کرد؟ اونا اومدن فـلاتر رو داخل Unreal Engine ایمپورت کردن! کل بخشهای اجتماعی (Community)، چت، منوها و اون قسمتهایی که کاربر میتونه کلیپ به اشتراک بذاره، کامل با فـلاتر نوشته شده. چرا؟ چون فلاتر برای ساختن UI سریع، بهینه و خوشگله. این حرکت هوشمندانه (ترکیب دو تکنولوژی)، به پابجی کمک کرد هم پرفورمنس گیمپلی رو داشته باشه و هم یه UI سریع و جذاب.
رایو (Rive) – وقتی خودِ ابزار با فلاتره
اگه تو کار UI/UX باشی، حتماً اسم Rive (که قبلاً Flare بود) رو شنیدی. Rive یه ابزار انیمیشنسازی فوقخفنه که بهت اجازه میده انیمیشنهای تعاملی (Interactive) و سبک برای اپ و وب بسازی (یه چیزی خیلی خفنتر از Lottie). حالا نکته جالبش چیه؟ کل اپلیکیشن Rive، یعنی همون ادیتور پیچیدهای که باهاش انیمیشن میسازی و روی وب اجرا میشه، خودش با فـلاتر نوشته شده!
این برنامه یه چیزی در حد یه فتوشاپ یا افتر افکت سبکه که داره تو مرورگر اجرا میشه. این یکی از پیچیدهترین برنامه های ساخته شده با فلاتر هست و ثابت میکنه که فـلاتر میتونه از پس هر کار گرافیکی سنگینی بربیاد.
بازی Wallace & Gromit – بازی کامل با فلاتر
برخلاف پابجی، بازی ماجراجویی و اپیزودیک Wallace & Gromit کاملاً با فلاتر ساخته شده (احتمالاً با کمک یه موتور بازیسازی فلاتری مثل Flame). این یه بازی ماجراجویی و حل معماست که نشون میده فلـاتر برای ساخت بازیهای دوبعدی (2D) یه گزینه عالی و کامله.
سوپرلیست (Superlist) – خالقین Wunderlist برگشتند
یادتونه یه اپ مدیریت وظایف افسانهای به اسم Wunderlist بود که مایکروسافت خرید و کشتش؟ خب، تیم اصلی سازنده اون اپ، با یه محصول جدید به اسم Superlist برگشتن. و حدس بزنید چه تکنولوژیای رو برای ساختنش انتخاب کردن؟ فـلاتر! این اپ که هم برای موبایل و هم دسکتاپ اومده، یکی از زیباترین، روانترین و خوشساختترین اپهای مدیریت وظایف بازاره. دلیل انتخابشون؟ همون چیزی که خودشون گفتن: «قدرت کنترل کامل روی تکتک پیکسلهای صفحه» و پرفورمنس بالا.
چرا این همه غول دارن فلاتر رو انتخاب میکنن؟
لیست کردن برنامه های ساخته شده با فلاتر کافی نیست. باید بفهمیم چرا. چرا یه شرکت باید ریسک کنه و سراغ فلاتر بیاد؟
دلیل اول: رویای «یک codebase» بالاخره واقعی شد دهههاست که برنامهنویسها دنبال رویای «یک بار کد بزن، همهجا اجرا کن» هستن. فریمورکهای زیادی اومدن و شکست خوردن. فـلاتر اولین چیزیه که واقعاً به این رویا نزدیک شده. داستان RustDesk و Hiddify رو یادتونه؟ یه تیم کوچیک، با یه codebase دارت، داره ۵ تا پلتفرم (ویندوز، مک، لینوکس، اندروید، iOS) رو پشتیبانی میکنه. این یعنی صرفهجویی دیوانهوار در هزینه و زمان.
دلیل دوم: پرفورمنس نیتیو واقعی (بدون «پل») این تفاوت اصلی فلاتر یا ری اکت نیتیو هست. ریاکت نیتیو برای حرف زدن با اجزای نیتیو گوشی (دکمه، لیست و…) از یه «پل» (Bridge) جاوااسکریپت استفاده میکنه. این پل، هرچقدر هم سریع باشه، یه گلوگاهه. فـلاتر اصلاً به اجزای نیتیو گوشی کاری نداره! اون با موتور گرافیکی خودش (Impeller و Skia) مستقیماً روی بوم (Canvas) صفحه نمایش «نقاشی» میکنه. کدهای دارت هم مستقیماً به کد ماشین نیتیو (AOT) کامپایل میشن. نتیجه؟ سرعتی که با اپهای نیتیو (کاتلین یا سوئیفت) مو نمیزنه. این همون دلیلیه که BMW و Google Pay سراغش رفتن.
دلیل سوم: کنترل کامل روی پیکسلها (UI/UX یکپارچه) چون فلـاتر خودش همهچیز رو نقاشی میکنه، براش مهم نیست داره روی یه گوشی سامسونگ ۵ میلیونی اجرا میشه یا یه آیفون پرومکس ۱۰۰ میلیونی. دکمهای که تو طراحی کردی، دقیقاً همون شکلی، با همون انیمیشن، روی همه دستگاهها اجرا میشه. این همون «کنترل پیکسل به پیکسل» هست که تیم Superlist و Rive رو دیوونه خودش کرده. دیگه خبری از دردسرهای «عه چرا این دکمه تو شیائومی کجه؟» نیست.
دلیل چهارم: آینده اینجاست (دسکتاپ، وب و Embedded) همونطور که با مثال اوبونتو و BMW دیدیم، آینده فلاتر فقط موبایل نیست. فـلاتر داره با قدرت تمام وارد دسکتاپ، وب و سیستمهای نهفته (Embedded) میشه. این یعنی تو با یادگیری یه فریمورک، داری برای تمام پلتفرمهای حال و آینده آماده میشی.
اینا فقط مشتی نمونه خروار بود
لیست برنامه های ساخته شده با فلاتر خیلی طولانیتر از این حرفاست. ما فقط به چندتا از معروفترینها اشاره کردیم. از اپهای بانکی بزرگ مثل Nubank (یکی از بزرگترین نئوبانکهای دنیا) گرفته تا اپهای مدیتیشن و هزاران استارتاپ دیگه.
حالا به اون سوال اول برگردیم: «فـلاتر یه اسباببازیه؟». وقتی سیستمعامل نسل بعدی گوگل، نصبکننده اوبونتو، سیستم ریموت دسکتاپ RustDesk، اپلیکیشنهای حیاتی BMW و غول پرداخت Google Pay با فلاتر نوشته میشن، فکر کنم جواب سوال کاملاً مشخص باشه.
یادگیری فلاتر دیگه یه «گزینه» نیست؛ یه «سرمایهگذاری» هوشمندانه روی آینده است. اگه تو هم میخوای به این ارتش خفن ملحق بشی و یاد بگیری چطور اپهایی در این سطح بسازی، باید از پایه شروع کنی. اولین قدم، یادگیری زبان دارت هست که سوخت اصلی فلـاتره. بعد از اون، میتونی شیرجه بزنی تو دنیای آموزش فلاتر. ما تو «نابغهها» این مسیر رو برات روشن کردیم. آموزش فریمورک فلاتر میتونه نقطه شروع تو برای ساختن اپلیکیشن خفن بعدی باشه که شاید یه روزی اسمش تو این لیست بیاد.
امتیاز شما به مقاله
5 / 5. 45
45 رای 5
5
(45)
قوانین ارسال دیدگاه
متوجه شدم
برای ثبت نظر، حتما اسم و فامیل خود را به فارسی وارد کنید.
حتما ایمیل صحیح را وارد کنید تا در صورت بررسی کارشناسان، پاسخ برای شما ایمیل شود.
داخل متن کامنت کدهای برنامه نویسی قرار ندهید.
3نقد و بررسیها
حمید
23 اسفند 1402
سلام من تو نصب اندروید استادیو به این خطا خوردم چطوری رفع میشه
Java.net.socketException: connection
reset
ما همیشه تاکید کردهایم که بهترین سرمایهگذاری، سرمایهگذاری روی خودتان است. سایت آموزشی نابغهها با هدف ارائه آموزشهای برنامه نویسی و لینوکس به شما در مسیر موفقیت کمک میکند. برای شما موفقیت و تجربهای مفید در سایت آرزو میکنیم.
ivahid Specialized and Professional Web Design &
Development Company