فلاتر چیست ؟

فلاتر یک چارچوب متنباز است که توسط گوگل توسعه یافته و پشتیبانی میشود. توسعهدهندگان این چارچوب را برای ساخت رابط کاربری (UI) برنامه بر روی چندین پلتفرم با یک کد پایه (codebase) استفاده میکنند.
وقتی فلاتر در سال 2018 راهاندازی شد، اصولاً توسعه برنامههای موبایل را پشتیبانی میکرد. اکنون فلاتر پشتیبانی از توسعه برنامه بر روی شش پلتفرم دارد: iOS، Android، وب، ویندوز، MacOS و لینوکس.
فلاتر چگونه به توسعه برنامهها کمک میکند؟
فلاتر فرآیند ایجاد رابط کاربری (UI) یکپارچه و جذاب برای یک برنامه را بر روی شش پلتفرمی که پشتیبانی میکند، سادهتر میکند.
زیرا فلاتر یک چارچوب توسعه چندپلتفرمی است، ابتدا آن را با توسعه نیتیو مقایسه میکنیم. سپس میتوانیم ویژگیهای منحصر به فرد فلاتر را مورد توجه قرار دهیم.
توسعه برنامه نیتیو در مقایسه با توسعه برنامه چندپلتفرمی
کدنویسی برنامه برای یک پلتفرم خاص، مانند iOS، به توسعه برنامه نیتیو گفته میشود. به عبارت دیگر، توسعه برنامه چندپلتفرمی به معنای ساخت یک برنامه برای چندین پلتفرم با یک کد پایه است.
توسعه برنامه نیتیو
زیرا توسعهدهندگان در توسعه برنامههای نیتیو برای یک پلتفرم خاص کد مینویسند، دسترسی کامل به قابلیتهای دستگاه نیتیو دارند. این به طور عمومی منجر به عملکرد و سرعت بالاتری نسبت به توسعه برنامههای چندپلتفرمی میشود.
از سوی دیگر، اگر میخواهید یک برنامه را بر روی چندین پلتفرم عرضه کنید، توسعه برنامه نیتیو نیاز به کد بیشتر و تعداد بیشتری از توسعهدهندگان دارد. به علاوه، توسعه برنامههای نیتیو ممکن است سختتر کند تا در همان زمان بر روی پلتفرمهای مختلف با تجربه کاربری یکپارچه عرضه شود. اینجاست که چارچوبهای توسعه برنامههای چندپلتفرمی مانند فلاتر میتوانند مفید باشند.
توسعه برنامه چندپلتفرمی
توسعه برنامه چندپلتفرمی به توسعهدهندگان اجازه میدهد تا از یک زبان برنامهنویسی و یک کد پایه برای ساخت یک برنامه بر روی چندین پلتفرم استفاده کنند. اگر شما قصد عرضه یک برنامه برای چندین پلتفرم را دارید، توسعه برنامه چندپلتفرمی نسبت به توسعه برنامههای نیتیو هزینه کمتر و زمان کمتری میطلبد.
این فرآیند همچنین به توسعهدهندگان اجازه میدهد تا تجربهای متجانستر برای کاربران در اختیار آنها قرار دهند.
این رویکرد میتواند مشکلاتی نسبت به توسعه برنامههای نیتیو داشته باشد، از جمله دسترسی محدود به قابلیتهای دستگاه نیتیو. با این حال، فلاتر ویژگیهایی دارد که توسعه برنامههای چندپلتفرمی را روانتر و با عملکرد بالاتری میکند.
مزایای فلاتر
در زیر چند نحوی آمدهاند که فلاتر به عنوان یک چارچوب توسعه چندپلتفرمی برجسته میشود:
- عملکرد نزدیک به نیتیو: فلاتر از زبان برنامهنویسی Dart استفاده میکند و به کد ماشین ترجمه میشود. دستگاههای میزبان این کد را میفهمند که تضمین میکند که عملکرد سریع و مؤثری داشته باشد.
- رندرینگ سریع، یکپارچه و قابل تنظیم: به جای وابستگی به ابزارهای رندرینگ مخصوص پلتفرم، فلاتر از کتابخانه گرافیکی Skia متنباز گوگل برای رندر کردن رابط کاربری استفاده میکند. این به کاربران امکان میدهد تا تصاویر یکپارچه را ببینند، بدون توجه به پلتفرمی که برای دسترسی به یک برنامه استفاده میکنند.
- ابزارهای مناسب توسعهدهندگان: گوگل فلاتر را با تاکید بر آسانی استفاده ایجاد کرده است. با ابزارهایی مانند hot reload، توسعهدهندگان میتوانند پیشنمایشی از تغییرات کد را ببینند بدون از دست دادن وضعیت فعلی. ابزارهای دیگر مانند بررسیگر ویجت (widget inspector) نیز کمک به مصورسازی و حل مشکلات طراحی رابط کاربری میکنند.
فلاتر از چه زبان برنامه نویسی استفاده می کند ؟
فلاتر از زبان برنامهنویسی متنباز Dart استفاده میکند که همچنین توسط گوگل توسعه یافته است. Dart برای ساخت رابطهای کاربری بهینه شده است و بسیاری از قوتهای Dart در فلاتر استفاده میشوند.
به عنوان مثال، یک ویژگی از Dart که در فلاتر استفاده میشود، ایمنی صدا (sound null safety) است. ایمنی صدا در Dart از شناسایی خطاهای معمول به نام خطاهای تهی کمک میکند. این ویژگی زمانی که توسعهدهندگان روی نگهداری کد وقت صرف میکنند را کاهش میدهد و به آنها امکان میدهد که بیشتر وقت خود را بر روی ساخت برنامههای خود متمرکز کنند.
چه ویجت هایی در فلاتر وجود دارد ؟
در فلاتر، توسعهدهندگان با استفاده از ویجتها طرحهای رابط کاربری را ایجاد میکنند. این به معنای آن است که هر چیزی که یک کاربر در صفحه نمایش میبیند، از پنجرهها و پانلها تا دکمهها و متنها، از ویجتها ساخته شده است.
ویجتهای فلاتر به گونهای طراحی شدهاند که توسعهدهندگان به راحتی میتوانند آنها را سفارشیسازی کنند. فلاتر این کار را از طریق رویکرد ترکیبی انجام میدهد. این به این معناست که بیشتر ویجتها از ویجتهای کوچکتر تشکیل شدهاند، و ویجتهای پایهای وظایف خاصی دارند. این به توسعهدهندگان امکان میدهد که ویجتها را ترکیب یا ویرایش کرده و ویجتهای جدید ایجاد کنند.
فلاتر ویجتها را با استفاده از موتور گرافیک خود به تصویر میکشد، به جای وابستگی به ویجتهای داخلی پلتفرم. این روش به کاربران امکان میدهد تا تجربه ظاهری مشابه را در یک برنامه فلاتر بر روی پلتفرمهای مختلف داشته باشند. همچنین این رویکرد انعطافپذیری به توسعهدهندگان فراهم میکند، زیرا برخی از ویجتهای فلاتر میتوانند وظایفی انجام دهند که ویجتهای ویژه پلتفرم نمیتوانند.
فلاتر همچنین امکان استفاده از ویجتهای توسعه داده شده توسط جامعه را آسان میکند. معماری فلاتر از داشتن چندین کتابخانه ویجت پشتیبانی میکند، و فلاتر به جامعه تشویق میکند که کتابخانههای جدید را توسعه داده و حفظ کنند.
انواع ویجتهای فلاتر
فلاتر با کتابخانهای گسترده از ویجتها از زمان دانلود آن تا شما همراه است. این کتابخانه شامل 14 دسته بندی است که شامل استایلدهی، کوپرتینو (ویجتهای به سبک iOS) و اجزاء مواد (ویجتهایی که رهنمودهای طراحی مواد گوگل را دنبال میکنند) میشوند.
فلاتر همچنین با طرحها و تمهای از پیش تعریف شده همراه است، که به توسعهدهندگان کمک میکند تا بلافاصله به ساخت بپردازند.
فلاتر چگونه پشتیبانی می شود ؟
فلاتر توسط گوگل و یک جامعه فعال منبع باز در Reddit، Discord، Slack، Stack Overflow و Gitter پشتیبانی میشود. گوگل به طور مداوم فلاتر را به روز کرده است از زمان عرضه آن در سال 2018، شامل بهروزرسانی فلاتر 3 در سال 2022 که پشتیبانی پایدار را برای macOS و Linux گسترش داد.
برای آموزش فلاتر به راحتیتر، گوگل مستندات جامع و آموزشهای بسیاری را در سایت فلاتر نوشته است. برای جلب نظر کاربران فلاتر، گوگل همچنین رویدادهای جهانی برگزار میکند، پروژههای جامعه را ترویج میکند و چالشهای توسعهدهنده را حمایت میکند. رویدادهای آتی را میتوانید در سایت فلاتر پیدا کنید.
جامعه فلاتر هزاران بسته شخص ثالث و ابزارهای عالی را ایجاد کرده که تجربه توسعهدهنده را سادهتر میکنند. این کتابخانهها در pub.dev در دسترس هستند.
دیدگاهتان را بنویسید