فلاتر چیست ؟ همه چی در مورد فلاتر
دنیای فناوری همیشه با سرعتی غیرقابل تصور در حال رشد است. هر چند سال یک بار، تکنولوژیهایی معرفی میشوند که مسیر توسعه نرمافزار را به کلی تغییر میدهند. یکی از همین فناوریهای جدید که توانست به سرعت توجه برنامهنویسان موبایل و شرکتهای بزرگ را به خود جلب کند، فریمورک فلاتر چیست.
اگر در چند سال اخیر حوزه برنامهنویسی موبایل را دنبال کرده باشید، احتمالاً بارها نام فلاتر را شنیدهاید. بسیاری از شرکتها از آن برای توسعه اپلیکیشنهای بزرگ استفاده میکنند و روزبهروز تعداد برنامهنویسان فلاتر در حال افزایش است. اما فلاتر چیست ؟ چرا محبوب شد؟ چگونه کار میکند؟ و چرا برای بسیاری از شرکتها بهترین گزینه توسعه موبایل است؟

فلاتر چیست ؟
فلاتر (Flutter) یک SDK متنباز (Open-source) است که توسط گوگل توسعه داده شده و به برنامهنویسان این امکان را میدهد تا با یک کد واحد برای دو سیستم عامل Android و iOS اپلیکیشنهای کاملاً Native بسازند.
معنای این جمله این است که شما با استفاده از یک زبان برنامهنویسی مشترک (Dart) و یک کدبیس واحد، میتوانید اپلیکیشنهایی بسازید که دقیقاً مانند برنامههای نوشتهشده با Swift یا Kotlin اجرا میشوند.
چرا این موضوع مهم است؟
زیرا در گذشته توسعه اپلیکیشن موبایل معمولاً به دو مسیر جدا تقسیم میشد:
- یک تیم برای توسعه Android
- یک تیم جدا برای توسعه iOS
- هزینه دوبرابر
- زمان پیادهسازی بیشتر
- نگهداری سختتر
فلاتر تمام این چالشها را حل کرد و باعث شد شرکتها بتوانند با یک تیم کوچک، برای هر دو پلتفرم خروجی بگیرند.
اولین قدم برای شروع برنامه نویسی فلاتر نصب و راه اندازی است،پیشنهاد میکنیم روش نصب فلاتر و نصب و راه اندازی اندروید استودیو را ببینید

تاریخچه کوتاه فلاتر
- معرفی اولیه: ۲۰۱۵
- عرضه نسخه پایدار: ۲۰۱۸
- رشد سریع در GitHub: تبدیل به یکی از ۱۰ پروژه برتر دنیا
- انتشار هزاران اپلیکیشن در Play Store و App Store
یکی از نمونههای موفق، اپلیکیشن Xianyu از شرکت علیبابا است که بیش از ۵۰ میلیون کاربر فعال دارد.
فریمورک فلاتر چیست؟
فریمورک فلاتر یک SDK اوپن سورس توسعه اپلیکیشن های موبایل است که می تواند برای ساخت اپلیکیشن های Android و iOS بصورت Native از همان زبان برنامه نویسی اصلی استفاده کند. Flutter از سال ۲۰۱۵ وقتی گوگل آن را معرفی کرد و قبل از اجرای رسمی آن در دسامبر ۲۰۱۸ در مرحله Beta قرار گرفت. از آن زمان به بعد، شایعات پیرامون Flutter قویتر شدهاست.
ویجت ها در فلاتر
ایده اصلی Flutter استفاده از ویجت هاست. توسعه دهندگان می توانند با ترکیب ویجت های متفاوت UI مختلفی بسازند. هر یک از این widgets یک عنصر ساختاری ( مانند دکمه یا منو )، یک عنصر سبکی ( فونت یا الگوی رنگ )، ظاهر لایوت ( مانند padding ) و بسیاری دیگر را تعریف میکند.
توجه داشته باشید که Flutter از ویجت های OEM (Original Equipment Manufacturer ) به معنی ” سازنده ی اصلی تجهیزات ”) استفاده نمی کند، اما برنامه نویسان ویجت های آماده خود را Native به Android و یا iOS قرار می دهند. طبیعتاً، برنامه نویسان میتوانند widgets خود را نیز ایجاد کنند.

Flutter همچنین نماهای reactive-style را در اختیار توسعه دهندگان قرار می دهد. برای دوری کردن از مسائل مربوط به عملکرد ناشی از استفاده از یک زبان برنامهنویسی کامپایل شده، Flutter برای راه انداختن JavaScript bridge, از Dart استفاده میکند. دارت ahead of time (AOT) را به کدهای نتیو برای چندین پلتفرم جمع آوری می کند.
به این ترتیب، فلاتر به آسانی میتواند با پلتفرم ارتباط برقرار کند بدون آنکه به JavaScript bridge نیاز داشته باشد که شامل یک سوییچ context بین JavaScript bridge و نتیو باشد. همانطور که میتوانید تصور کنید، ایجاد کد نتیو زمان شروع برنامه را افزایش میدهد.
امروزه، Flutter تنها SDK موبایل است که دیدگاه واکنشی را بدون نیاز به یک JavaScript bridge ارائه میدهد. به همین دلیل است که بسیاری از برنامه نویسان موبایل آن را در پروژههای خود امتحان کرده اند.
در اینجا چند مزیت دیگر Flutter برای برنامه نویسان موبایل آورده شدهاست.
مزیت دیگر فلاتر : زبان برنامهنویسی Dart
یکی از جالبترین ویژگیهای Flutter زبانی است که آن استفاده میکند یعنی دارت. همانند سیستمهای دیگر که از دیدگاههای واکنشی استفاده میکنند، Flutter نمای سلسله مراتبی را برای هر فریم جدید بازسازی میکند.برای انجام این کار، بسیاری از اشیایی که ممکن است بیش از یک فریم زندگی کنند را، ایجاد میکند. Dart از جمع آوری زباله های نسلی استفاده میکند که نشان داده برای این نوع سیستمها بسیار کارآمد است.

علاوه بر این، Dart یک ” tree shaking ” دارد که تنها شامل کدی است که شما در برنامه خود به آن نیاز دارید. حتی اگر فقط یک یا دو ویجت داشته باشید، میتوانید از کتابخانه بزرگ ویجت های آن به راحتی استفاده کنید.
در نهایت، Dart با یک مخزن از بستههای نرمافزاری برای گسترش قابلیتهای برنامه به بازار عرضه می شود. به عنوان مثال، چند بسته ارائه می دهد که به دسترسی Firebase کمک می کند تا توسعه دهندگان بتوانند برنامه هایی بدون سرور بسازند. بسته دیگر دسترسی به فروشگاه داده Redux را امکان پذیر می کند یا دسترسی به خدمات و سخت افزارهای پلت فرم مانند دوربین را آسان تر می کند.
مزایای فریمورک فلاتر

فلاتر باعث صرفهجویی در زمان و پول میشود.
Flutter ابزار توسعه cross – platform است. این به آن معنی است که توسعه دهندگان نرمافزار میتوانند از همان کد اصلی برای ساخت یک اپلیکیشن IOS و اندروید استفاده کنند. توسعه cross – platform بهترین روش برای صرفهجویی در زمان و منابع در طول فرآیند توسعه است.
عملکرد عالی فلاتر
Flutter عملکرد برجستهای را به دو دلیل ارائه میکند. اول اینکه از Dart استفاده میکند که به کد Native کامپایل میشود. دوم، Flutter, ویجت های مخصوص خود را دارد، بنابراین نیازی به دسترسی به OEM ها نیست. در نتیجه ارتباط کمتری بین اپلیکیشن و پلت فرم وجود دارد. این دو ویژگی اجرای سریع برنامه را تضمین میکنند و به طور کلی مسائل مربوط به عملکرد کمتر است.
توسعه سریع با استفاده از بارگذاری مجدد در فلاتر
فلاتر در میان توسعه دهندگان موبایل به دلیل بارگذاری مجدد، توجه زیادی را به خود جلب می کند. بارگذاری مجدد اجازه می دهد تا فوراً تغییرات اعمال شده روی کد را در emulators، simulators و سخت افزار مشاهده کنید. کد تغییر یافته در کمتر از یک ثانیه مجدداً بارگیری می شود. در تمام این مدت، برنامه اجرا شده و توسعه دهندگان نیازی به اتلاف وقت برای شروع مجدد آن ندارند.
این امر باعث می شود که UI هایی ایجاد کنید، ویژگی های جدیدی را به آن اضافه کنید و رفع باگ ها برای شما آسان تر شود. اگر app با یک خطا مواجه شود، این امکان وجود دارد که آن را fix کرده و سپس ادامه برنامه نویسی را انجام دهید به طوری که هرگز خطایی رخ نداده است. حتی اگر شما مجبور به بارگذاری یک app کامل هستید، میتوانید مطمئن باشید که در هیچ زمانی نمی توانید به سرعت آن را بارگذاری و کامل کنید.
سازگاری
مزیت دیگر فلاتر این است که با ویجت خود همراه است که منجر به مشکلات سازگاری کمتری میشود. توسعهدهندگان مشکلات کمتری در ورژن های مختلف سیستم عامل خواهند دید و میتوانند زمان کمتری را برای تست کردن برنامه بر روی ورژن های قدیمیتر سیستم عامل صرف کنند. مطمئن باشید که برنامه شما روی نسخه های بعدی سیستم عامل کار خواهد کرد.
توجه: به محض انتشار نسخه جدید Android یا iOS، ویجت های Flutter باید به روز شوند (از آنجایی که ابزار از پلتفرم نتیو استفاده نمیکند). ممکن است در این فکر باشید که چقدر طول میکشد تا فلاتر بتواند ویجت های خود را به روز کند.
از آنجا که گوگل یک کاربر داخلی گسترده Flutter است، تیم Flutter به شدت انگیزه دارد تا مجموعه ویجت های خود را تا حد ممکن و نزدیک به ویجت های این پلتفرم نگه دارد. همچنین ویجت های Flutter قابل تنظیم هستند و می توانند توسط هر کسی به روز شوند. حتی برنامه شما می تواند از ویجت های جدید در ورژن های قدیمی سیستم عامل استفاده کند!
اوپن سورس بودن فلاتر
فریمورک فلاتر یک فنآوری اوپن سورس است و توسط یک انجمن فعال توسعه دهندگان احاطه و پشتیبانی می شود، این انجمن به مستندسازی گسترده ابزارهای آن کمک میکنند و منابع مفید را توسعه میدهند. Dart و Flutter برای استفاده رایگان هستند.
کاربردهای فلاتر در دنیای واقعی
- اپلیکیشنهای فروشگاهی
- سیستمهای سفارش آنلاین
- اپهای مالی، بانکی و پرداخت
- سیستمهای سازمانی
- اپلیکیشنهای آموزشی
- اپهای خدماتی
- پنلهای ماشین (Embedded)
- سایت و وباپهای PWA
- اپهای Windows و Desktop
فلاتر اکنون یک فریمورک Full Platform است.
آیا فلاتر برای آینده مناسب است؟
بله، و حتی بیشتر از مناسب!
دلایل:
- پشتیبانی رسمی گوگل
- توسعه مداوم
- تبدیل شدن به یک فریمورک چندسکویی
- استفاده شرکتهای بزرگ
- محبوبیت در GitHub
فلاتر قرار است ستون اصلی توسعه چندسکویی در آینده باشد.
نتیجه
فلاتر یک فریمورک قدرتمند، سریع، مدرن و آیندهدار است که مسیر توسعه موبایل و حتی دسکتاپ و وب را تغییر داده است.
اگر میخواهید وارد حوزه برنامهنویسی موبایل شوید یا اپلیکیشنهای باکیفیت و قابل انتشار تولید کنید، آموزش فلاتر یکی از بهترین گزینهها برای شروع است.
فلاتر فقط یک ابزار نیست؛ یک پلتفرم کامل برای ساخت اپلیکیشنهای حرفهای است.
دیدگاهتان را بنویسید