برنامه نویسی

من عاشق فلوتر هستم ، اما گاهی اوقات احساس می شود که در یک رابطه سمی هستیم

گوش کن من فلاتر را دوست دارم. مثل ، من در حال صحبت کردن کامل ، پروانه ها-در من-استومخ ، کشیدن-راست-راست-هر بار عشق هستم. این زیبا ، مدرن و قدرتمند است. این امکان را به من می دهد تا با یک پایگاه کد ، که صادقانه است ، برای Android و iOS (و بیشتر!) بسازم بوسه سرآشپزبشر Flutter MVP حرفه من به عنوان یک موبایل موبایل بوده است. اما حتی در سالم ترین روابط ، شما دعوا دارید ، درست است؟ و من و شعله ور … ما داریم برخی دعوا گاهی اوقات من را گاز می گیرد. بعضی اوقات از خواب بیدار می شوم و تعجب می کنم که آیا انتخاب درستی انجام داده ام.

بنابراین این یک پست نفرت نیست. این یک نامه شکسته نیست. این بیشتر از یک دریچه است. خوب ol “” من تو را دوست دارم اما الان حتی چه کار می کنی ؟؟؟ ” پست

اینجا وجود دارد 10 چیز که مرا از Flutter عصبانی می کند، حتی اگر من آن را برای هر چیز دیگری تجارت نمی کردم (خوب … شاید برای یک تجربه اشکال زدایی مناسب 👀).


1 Flutter در واقع یک زن و شوهر قدرت Android-Ios است-همه افراد دیگر مانند چرخ سوم احساس می کنند

فلاتر است شگفت انگیز برای ساخت برنامه های متقابل پلتفرم برای Android و iOSبشر بدون کلاه قوام UI در بین دستگاه ها ، عملکرد (به لطف Skia) و زیبایی ظاهری برنامه هایی که می توانید بسازید؟ بوسه سرآشپز. 🍝 شما می توانید به معنای واقعی کلمه یک پایگاه کد بنویسید و با عملکرد نزدیک به هر دو سیستم عامل فشار دهید. این یک ابرقدرت است.

اما سعی کنید ساختمان را برای وببا ویندوزبا مگس، یا لینوکس، و ناگهان احساس می کند مانند فلوتر فقط مهربان … تحمل کردن آن سیستم عامل ها مثل ، مطمئناً آنجاست ، اما در نوع “من تو را دوست دارم” نیست. بیشتر شبیه به “خوب ، شما می توانید هم بیایید”.

  • وب فلوت: وجود دارد اجرا می شود اما شما به سرعت در مورد عملکرد ، اشکالات طرح عجیب و غریب ، محدودیت های سئو و ویژگی هایی که فقط کار نمی کنند ، مگر اینکه از پرچم های آزمایشی ، جادوی تاریک یا قربانی کردن اولین فرزند خود به خدایان فلوتر استفاده کنید.
  • دسک تاپ Flutter (Windows/MacOS/Linux): “پایدار است” ، بله. اما مانند یک برج Jenga پس از یک مهمانی پایدار است. ویجت های گمشده ، پشتیبانی از افزونه نیمه پخته ، عجیب و غریب ورودی و مشکلات ارائه دهنده همه بخشی از سرگرمی هستند. موارد اساسی مانند انتخاب کننده فایل یا ادغام سینی سیستم؟ موفق باشید پیدا کردن افزونه ای که کار می کند وت حفظ می شود

و فراموش نکنیم که تقریباً هر آموزش ، بسته و حتی اسناد شخصی فلوتر بی سر و صدا فرض می کنند:

“بله ، شما در حال ساخت موبایل هستید ، درست است؟ Android و iOS؟ خنک خنک خنک …”

بنابراین وقتی می خواهید برنامه Flutter خود را واقعی کنید صلیب-PlatForm -مانند یک حکم پایگاه کد همه چیز-خود را پیدا خواهید کرد که بیشتر و بیشتر هک های خاص پلتفرم ، افزونه های سفارشی ، یا فقط تسلیم شدن و گفتن کاربران خود را می نویسید:

“لطفاً این را بر روی تلفن خود باز کنید … در آنجا بهتر کار می کند.”

Flutter یک SDK موبایل درخشان است که وانمود می کند که یک چارچوب کامل چند پلتفرمی است. و شاید روزی به آنجا برسد (Godspeed ، Team Flutter) ، اما در حال حاضر ، اگر شما Android یا iOS را هدف قرار نمی دهید ، با نیمی از دکمه های کنترلر کار نمی کنید.


2 این همه جعلی است هیچ چیز بومی نیست. من در یک شبیه سازی زندگی می کنم

بله ، فلاتر زیباست. بله ، ابزارک های مواد و کوپرتینو آنها 99 ٪ دقیق هستند. اما می دانید که 1 ٪ از دست رفته چه احساسی دارد؟ دره Uncanny از توسعه برنامه.

شما تا به حال از ویجت Cupertino استفاده می کنید و فکر می کنید “هوم. این نوع نگاه داشتن مثل iOS ، اما اینگونه نیست احساس کردن مثل iOS “؟ به این دلیل است که اجزای بومی را ارائه نمی دهدبشر این همه چیز را روی بوم نقاشی می کند.

به همین دلیل ، حتی اگر به نظر می رسد مانند آیفون ، گاهی اوقات کاربران iOS می توانند بو بومی نباشند. مثل سگ ترس از ترس.

React Native ، Xamarin – Heck ، حتی Jetpack Compose – همه احساس بومی بیشتری از جعبه دارند. لرزید؟ فلاتر است بازیگریبشر یک بازی قانع کننده ، اما با این وجود Cosplay.

با این حال ، اعتبار در جایی که قرار است: قوام در سکوها یک پیروزی عظیم است من از دستگاه به دستگاه دیگر اشکالات کمتری دریافت می کنم. اما گاهی اوقات دلم برای آن آغوش گرم و بومی تنگ شده است. Flutter مانند یک شکل دهنده است – به همان اندازه جهنم خنک است ، اما همیشه کمی در لبه هستید.


3 کنسول اشکال زدایی من را در حال گاز گرفتن است

خوب این را تصور کنید. شما به طور تصادفی بیش از حد بالشتک را در یک قرار داده اید Column و یک سرریز وجود دارد. فلاتر:
“████████ استثناء شده توسط ارائه کتابخانه ████████”
“کودکان Renderflex دارای انعطاف پذیری غیر صفر هستند اما … bla bla bla”
stacktrace.java.12983: 500 -> Corerender: 154 → Flutter Hellfire: 666 “

و شما پیمایش می کنید. و پیمایش و سرانجام می فهمید که این فقط … سرریز است. این است تمام آن درام برای یک نوار قرمز در پایین.

تیم Flutter ، من تو را دوست دارم. اما من هستم نه خواندن همه اینها فقط یک نان تست کوچک خوب به من بدهید که می گوید “ستون سرریز شده است.

همچنین ، چرا اشکال زدایی فقط … تسلیم شدن گاهی؟ شما می دانید که من در مورد چه چیزی صحبت می کنم. آن لحظه که همه چیز یخ می زند ، بارگیری مجدد کار نمی کند ، و برنامه تصمیم می گیرد “در واقع ، من دیگر نمی خواهم اجرا کنم.”


4 بارگیری مجدد مانند: من خوب بودم ، بله من الان رفته ام

بارگیری مجدد یکی از جواهرات تاج فلوتر بود. اولین باری که از آن استفاده کردم به یاد دارم. من مثل “این آینده است” بود. و این … تا زمانی که شکسته شود. سپس فقط “این درد است”.

با رشد برنامه شما ، زمان کامپایل شما طولانی تر می شود. بارگیری مجدد شما از کار با اطمینان متوقف می شود. شروع مجدد شما 20-30 ثانیه طول می کشد. شما می توانید احساس می کنید که بهره وری از بین می رود ، مانند اشک در باران.

شما هرگز اضافه می کنید const کلمه کلیدی و 25 ثانیه صبر کنید تا ببینید که منعکس شده است؟ شما تا به حال یک ویجت 3 پیکسل را جابجا کرده اید و یک قهوه استراحت می کنید که منتظر نمایش آن هستید؟ بله ، همان

اعتبار دوباره: هنوز هم شلوار را از بین می برد و یک برنامه کامل اندرویدی بومی را دوباره به دست می آوردبشر اما مرد … هنگامی که برنامه شما به بلوغ رسید ، منحنی سرعت واقعاً از بین می رود.


5 گورستان افزونه: به کارناوال متروکه خوش آمدید

در React Native یا Swift ، شما دارید با حمایت شرکت بسته ها و SDK ها. در فلاتر؟ معمولاً فقط یک پسربشر و من آن بچه ها را دوست دارم. من آن بچه ها بوده ام. اما هنگامی که آنها در متا کار می کنند و در غبار ناپدید می شوند ، این مشکل ایجاد می شود.

شما هرگز به یک افزونه مانند اعتماد دارید flutter_image_editor_super (احتمالاً واقعی نیست) و سپس رونق – بدون به روزرسانی به مدت 2 سال. موضوعات باز ، PRS نادیده گرفته می شود. شما در نهایت به حفظ پروژه جانبی شخص دیگری می پردازید زیرا برنامه شما نمی تواند در غیر این صورت به جلو حرکت کند.

Flutter به شدت به پشتیبانی از افزونه طولانی مدت بیشتری نیاز دارد. و نه فقط بسته های Google. مانند ، تلاش واقعی جامعه با بودجه و نگهداری.


6 زمان تدوین مانند پیچش فینال فصل Netflix افزایش می یابد

در ابتدا؟ سریع است کره صاف شما فکر می کنید در ماتریس نئو هستید. اما با رشد برنامه شما – صفحه 20 ، 30 ، 50+ – ناگهان احساس می کنید که خود Chrome را کامپایل می کنید.

و هنگامی که آن بارگذاری مجدد گرم نیاز به راه اندازی مجدد گرم دارد ، و شروع مجدد داغ شما نیاز به دوش سرد و پیاده روی طولانی دارد … شما متوجه می شوید: اندازه از کار ماده

در اینجا یک تنگنا واقعی و غیرقابل اجتناب وجود دارد. من نمی گویم Flutter باید به طرز جادویی برنامه 300 مگابایتی خود را در 0.2s کامپایل کند. اما من من گفتن اینکه 2 دقیقه انتظار برای اشکال زدایی یک تایپی ، زندگی من تصور نمی شود.


7. ** Flutter محبوب است ، اما محبوب نیست-محبوب

این مد روز است ، بله. اما آیا است واکنش محبوب بومی؟ نه کاملاً

شما همیشه پاسخ های مورد نیاز خود را در StackOverflow پیدا نمی کنید. نیمی از زمان ، Google از سال 2021 با این اظهار نظر به شما یک مسئله GitHub را ارائه می دهد: “بسته به عنوان قابل تکرار نیست.”

همچنین ، پیدا کردن Devs که می دانند Flutter؟ آسان تر از سال 2019 بود ، اما هنوز هم یک چالش است. کشف ارشد devs؟ یک نژاد نادر. این مهم است اگر شما در حال ساخت تیم یا به دنبال شغل در مناطق خاص هستید.

مطمئناً در حال رشد است. اما این هنوز یکی از مسیحیان واقعی نیست.


8 تیم فلوتر کوچک است ، و امیدهای من نیز همینطور است

تیم Flutter کار خداوند را انجام می دهد ، اما بیایید واقعی باشیم – آنها کوچکبشر مثل ، آن پروژه گروهی که یک نفر 90 ٪ کارها را انجام می دهد نوع کوچک

بنابراین وقتی اپل ویژگی جدید iOS را منتشر می کند؟
یا Android چگونه خدمات پیش زمینه کار می کند؟
یا شما می خواهید یک ادغام بومی فانتزی؟

صبر می کنی بعضی اوقات ماهها و این در مورد Devs نیست – این فقط یک مسئله منبع است.

سرعت توسعه ، خوب ، یخبندان است. سرانجام به آنجا می رسد. اما سفر طولانی و پر از استهلاک است.


9 از بین بردن و عدم تحقق چیزهایی مانند این یک روند Tiktok دست بردارید

فلاتر است از تحول نترسیدبشر و این صادقانه یکی از بزرگترین نقاط قوت آن است. این تیم از اصلاح مجدد مفاهیم اصلی ، بهبود API ها و تمیز کردن الگوهای میراث خودداری نمی کند. این نشان می دهد که آنها به سلامت طولانی مدت چارچوب اهمیت می دهند ، و این قابل ستایش است. به طور جدی ، kudos.

آیا می توانیم سرد شویم؟ مانند لطفا، فقط کمی؟

من هر بار که فلوتر را به روز می کنم احساس می کنم ، SDK من را مانند یک درمانگر می نشیند و می رود ،

“بنابراین ، ما باید در مورد برخی از چیزهایی که شما فکر می کردید می دانید صحبت کنیم.”

بیایید یک تور سریع از موزه هرج و مرج انجام دهیم:

  • اول ، وجود داشت FlatButtonبا RaisedButtonوت OutlineButtonبشر
    رفته
    جایگزین شده توسط TextButtonبا ElevatedButtonوت OutlinedButtonبشر
    خوب ، خنک – نوسازی. من اجازه می دهم

  • اما بعد ناگهان ، withOpacity مستهلک می شود
    مثل ، چه کرد withOpacity با شما انجام دهید؟ ما از طلوع زمان از آن استفاده کرده ایم. اکنون به ما گفته شده است که استفاده کنیم withAlpha یا withValues، و من فقط در اینجا نشسته ام و کد کاملاً کار را بازنویسی می کنم زیرا شخصی در گوگل یک حماسه داشت.

  • و اوه پسر ، حتی مرا شروع نکنید ناوبری پشتی:

    • اول وجود داشت WillPopScopeبشر
    • سپس آمد PopScopeبشر
    • سپس ناگهان onWillPop چیز جدید است ، اما کاملاً به چیز دیگری وابسته است.
    • آیا قرار است بدانم از کدام یک استفاده کنم در هر بستر حالا؟ چرا رسیدگی به دکمه پشتی به یک معضل فلسفی تبدیل می شود؟

هر نسخه اخیراً مانند جعبه شکلات احساس می شود ، به جز نیمی از آنها پر از تغییرات شکستن و استهلاک ساکت است. یکبار ScaffoldMessenger از هیچ جایی مانند ،

“سلام ، فراموش کن Scaffold.of(context).showSnackBar() – من الان پدر تو هستم. “

این تغییر ثابت باعث می شود احساس فلاتر شود نا پایدار -نه به روش “این خیلی خراب می شود” ، بلکه در “آیا من حتی برای یک پروژه بلند مدت به این اعتماد دارم؟” نوع راه

به عنوان کسی که در واقع محبت فلاتر ، این به من اضطراب می دهد. من می خواهم آن را به شرکت ها ، تیم ها ، به سایر شیاطین توصیه کنم … اما گفتن آن دشوار است

“بله ، فقط همه چیز را روی Flutter بروید ،”
… هنگامی که API ممکن است به معنای واقعی کلمه بین جلسه برنامه ریزی سه ماهه بعدی تغییر کند.

ما نیاز داریم اعتمادبشر ما نیاز داریم ثباتبشر ما لازم نیست که هر ماه دیگر مانند یک زنجیره تکامل Pokémon ، یادگیری چرخه های جدید ویجت را یاد بگیریم:
FlatButton → RaisedButton → ElevatedButton → FlutterZard EX

Flutter ، عزیزم ، شما کارهای شگفت انگیز انجام می دهید. اما آیا می توانیم مانند … فقط یک نسخه LTS که تاریخ را بازنویسی نمی کند؟


10 Slow App Startup & chunky size: قهرمان سنگین وزن

حتی یک برنامه اصلی Flutter نیز هست دارای چونبشر مانند حداقل 20MB+. این بسیار زیاد است ، به خصوص هنگامی که شما به روزرسانی های خارج از هوا را انجام می دهید یا دستگاه های کم مصرف را هدف قرار می دهید.

همچنین ، سرماخوردگی شروع می شود؟ کند برنامه های Flutter مدتی طول می کشد تا گرم شود. زمان اجرا ، موتور رندر ، کل shebang – قبل از دیدن اولین پیکسل خود باید بچرخد.

این یک مشکل در بازارهایی است که سرعت و اندازه آن اهمیت دارد. وقتی می خواهید صفحه چلپ چلوپ شما بیش از یک اتاق انتظار باشد ، این یک مشکل است.

هنوز هم ، یک بار است ، بالا صاف است سریع است پاسخگو است اما آن بوت سرد … ooof.


در پایان: Flutter ، من شما را دوست دارم. اما تو به من استرس می کنی

با وجود همه اینها – همه هرج و مرج افزونه ، درام اشکال زدایی ، تأخیر در راه اندازی – من هنوز عاشق فلاتر هستمبشر این هنوز بهترین تجربه ای است که من داشته ام. این هنوز هم به من این امکان را می دهد تا برنامه های زیبا را سریعتر از هر چیز دیگری در آنجا بسازم. اما عشق کور نیست.

ما می توانیم از چیزی قدردانی کنیم وت نقص های آن را صدا کنید. ما می توانیم چشم انداز را ستایش کنیم وت از اعدام انتقاد کنید. این همان چیزی است که این است.

بنابراین اگر شما یک سر و صدا در حال تکان دادن هستید ، فقط بدانید: شما تنها نیستید. و اگر تازه وارد Flutter هستید ، اجازه ندهید که این شما را از بین ببرد. این یک بستر خارق العاده است – فقط میان وعده ها و صبر و شکیبایی را بیاورید.

اوه و تیم فلوتر – اگر این را می خوانید ، من شما را دوست دارم. لطفاً اشکال زدایی را برطرف کنید. ❤

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا