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

فلاتر چیست؟
Flutter یک فریم ورک منبع باز است که برای ساخت برنامههای iOS و Android با ظاهر بومی از یک پایگاه کد استفاده میشود. در سال 2015 توسط گوگل ایجاد شد و از آن زمان برای توسعه بیش از 100000 برنامه استفاده شده است.
دلایل خوبی برای محبوبیت فلاتر وجود دارد. Flutter را می توان برای توسعه سریع و آسان برنامه ها برای سیستم عامل های مختلف در حالی که با عملکرد بومی و سازگاری بصری در پلتفرم های مختلف سازگار است استقاده کرد. همچنین دارای یک ویژگی بارگذاری مجدد داغ(Hot Reload) است که به طور خودکار محتوای UI را با تغییر کد به روز می کند و امکان کدنویسی روان تر را فراهم می کند.
آیا فلاتر یک زبان برنامه نویسی است؟
با این حال، فلاتر یک زبان برنامه نویسی نیست. این یک کیت توسعه نرمافزار (SDK) با کد از پیش نوشتهشده است که شامل ویجتهای آماده برای استفاده و قابل تنظیم، و همچنین کتابخانهها، ابزارها و اسنادی است که با هم برای ساخت برنامههای چند پلتفرمی خدمت میکنند. زبان Flutter برای توسعه بین پلتفرمی Dart است که توسط گوگل توسعه داده شده است.
فلاتر از استفاده از پل برای برقراری ارتباط با لایه بومی (مانند اندروید یا iOS) اجتناب می کند. این امر مشکلات عملکرد را به حداقل می رساند و زمان راه اندازی برنامه را افزایش می دهد.
البته، Flutter با داشتن زبان برنامه نویسی خاص خود به این معنی است که برای توسعه برنامه خود، به برنامه نویسانی نیاز دارید که در Dart کدنویسی کنند. با این حال، دارت کاملاً شبیه جاوا، دات نت، کاتلین، سوئیفت یا جاوا اسکریپت است و یادگیری آن نسبتاً آسان است.
پس آیا فلاتر ارزش این را دارد که برای یادگیری آن زحمت بکشیم؟ چه مزایایی برای محصول شما خواهد داشت و فلاتر به عنوان یک SDK و زبان برنامه نویسی آن چه ویژگی هایی دارد؟
SDK چیست - نمونه هایی از کیت های توسعه نرم افزار برای برنامه های تلفن همراه
SDK یک بسته آماده برای نصب از ابزارهای توسعه نرم افزار است که ایجاد یک برنامه را تسهیل می کند. دو نوع SDK وجود دارد - بومی و چند پلتفرمی. SDK های بومی برای هر پلتفرم خاص هستند، به این معنی که اگر از Android SDK گوگل برای توسعه یک برنامه اندروید استفاده می کنید، باید دوباره شروع کنید تا همان برنامه را برای iOS اپل ایجاد کنید - و بالعکس.
با این حال، SDK هایی نیز وجود دارند که توسعه بین پلتفرمی را ارائه می دهند. فلاتر یکی از آنهاست. برخی دیگر از گزینه های محبوب عبارتند از:
- React Native - توسعه یافته توسط فیس بوک و منبع باز، از جاوا اسکریپت به عنوان زبان برنامه نویسی خود برای ساخت برنامه ها استفاده می کند، همچنین به شما امکان می دهد ماژول ها را به زبان های دیگر از جمله C، Java و Swift بنویسید.
- Xamarin - توسط مایکروسافت ایجاد شده و روی اندروید، iOS و ویندوز کار می کند. مایکروسافت ادعا می کند که به توسعه دهندگان اجازه می دهد تا به طور متوسط 90 درصد از برنامه های خود را در بین پلتفرم ها به اشتراک بگذارند.
- Ionic - از زبان هایی مانند CSS و JavaScript برای توسعه برنامه ها استفاده می کند.
دارت چیست و چگونه با فلاتر کار می کند؟
به گفته گوگل، زبان فریم ورک Flutter، دارت "یک زبان بهینه سازی شده برای مشتری برای برنامه های سریع در هر پلتفرمی است". این شی گرا است، مانند جاوا، سی پلاس پلاس و پایتون، فقط چند مورد را نام ببریم. این برنامه زودتر از موعد به کدهای ماشین بومی ARM یا x64 (و بایت کد جاوا اسکریپت برای وب) کامپایل می شود. این امر باعث میشود برنامهای که در Dart نوشته شده است، قابل تشخیص از یک برنامه بومی در سطح ماشین نباشد.
Dart کاربردهایی فراتر از Flutter نیز دارد: مهندسان Google آن را برای برخی از برنامهها، مانند Google Ads، هم برای وب و هم برای تلفن همراه استفاده میکنند. بنابراین واضح است که گوگل روی این زبان سرمایه گذاری کرده است و در حال حاضر به نظر می رسد که در آینده روی توسعه آن سرمایه گذاری خواهد کرد. اگر به دنبال این هستید که آیا محصول نرم افزاری خود را با استفاده از فناوری توسعه می دهید که به رشد خود ادامه می دهد و رکود نخواهد داشت، باید یک عامل مهم باشد.
با این حال، دارت هنوز یک زبان بسیار محبوب نیست - همیشه در رتبه بیستم در لیست محبوبیت زبان های برنامه نویسی و شماره 32 در شاخص TIOBE قرار دارد. جستجو برای توسعهدهندگان با تجربه در Dart ممکن است مشکل باشد، اما آنهایی که در زبانهایی با نحو شبیه C مهارت دارند باید بتوانند به سرعت آن را درک کنند.
چیزهای دیگری که باید در مورد فلاتر بدانید
چند ویژگی خاص دیگر از Flutter وجود دارد که ممکن است بر تصمیم شما در مورد اینکه آیا آن را SDK انتخابی خود قرار دهید یا خیر، تأثیر بگذارد.
Flutter به طور کامل بر روی ویجت ها ساخته شده است
عادت کردن به محیطی که در آن همه چیز، از جمله فونت ها، سبک ها یا اسکرول کردن یک ویجت است، زمان می برد. هر چند وقتی متوجه آن شدید، منطقی در آن وجود دارد.
فلاتر برای وب و فوشیا
علاوه بر ساخت برنامه های تلفن همراه با Flutter، ساخت برنامه های وب با این SDK نیز امکان پذیر است، اگرچه این عملکرد هنوز در مرحله بتا است. از فناوری های استاندارد وب مانند جاوا اسکریپت، CSS و HTML پشتیبانی می کند. با این حال، در حال حاضر فلاتر برای همه چیز ایده آل نیست. به عنوان مثال، در وب سایت های غنی از متن مانند وبلاگ ها به طرز شگفت انگیزی کار نمی کند. پشتیبانی دسکتاپ برای Flutter نیز در حال توسعه است، اما در حال حاضر هنوز در مرحله آلفا است.
این همه چیز نیست: Flutter همچنین ابزار پیشفرض برای ساخت اپلیکیشنها برای سیستمعامل Fuchsia خواهد بود، که به طور رسمی «یکی از آزمایشهای گوگل در مورد مفاهیم جدید برای سیستمهای عامل» است، یا همانطور که برخی گمان میکنند، تلاش این شرکت برای جایگزینی اندروید. همه برنامهها در Fuchsia با استفاده از Flutter SDK نوشته میشوند. این به Flutter در آینده تقویت شگفت انگیزی می دهد.
جامعه رو به رشد فلاتر
اگرچه Flutter و Dart هنوز آنقدر محبوب نیستند، تعداد توسعه دهندگان Flutter به طور پیوسته در حال افزایش است و آنها قبلاً یکی از بهترین و مفیدترین انجمن ها را ایجاد کرده اند. منابع و مستندات موجود با بالاترین کیفیت هستند. می توانید آنها را از طریق GitHub، Slack و دیگر پلتفرم ها پیدا کنید.
منبع: netguru.com