فریم ورک فلاتر Flutter چیست؟
اگر در زمینه برنامه نویسی فعالیت کنید یا علاقه مند به آن باشید احتمالا نام فریمورک فلاتر به گوش شما خورده است.
در این مقاله قصد داریم بررسی کنیم که فلاتر چیست و چه کاربردهایی در دنیای کامپیوتر و طراحی نرم افزار دارد.
فریموورک متن باز فلاتر (Flutter ) توسط گوگل برای اولین در سال ۲۰۱۷ رونمایی شد, این فریموورک به برنامه نویسان و توسعه دهندگان این امکان را میدهد که با یک بار نوشتن کد خروجی مخصوص اندروید و iOS برای اپلیکیشن خود بگیرند.
در سال ۲۰۱۵ یکی از مهندسان شرکت گوگل پروژهاي به نام SKY را براي مدیران خود ارائه کرد, که به وسیله آن بدون استفاده از زبان برنامه نویسی جاوا یک اپلیکیشن اندرویدي را طراحی و در فروشگاه گوگل قرار داده بود.
در مسیر توسعه این اپلیکیشن از زبان برنامه نویسی استفاده شده بود، که این زبان را شرکت گوگل معرفی کرده بود, اما استفاده و کاربرد آنچنانی تا آن زمان نداشت. زبان برنامه نویسی مورد نظر همان زبان دارت میباشد.
هسته اصلی فلاتر با استفاده از زبان های C, C++ و دارت توسعه داده شده است. برای پیاده سازی موتور گرافیکی نیز از Skia کمک گرفته شده است.
در حال حاضر فلاتر امکان طراحی برنامه برای تمام پلتفرم های موبایل, وب و دسکتاپ را دارد.
نکته مثبت Flutter نسبت به فریموورک های چند سکویی مثل زمارین و فون گپ خروجی Native اپلیکیشن می باشد به عبارت دیگر میان اپلیکیشن اندرویدی که با فلاتر توسعه داده میشود یا جاوا هیچ فرقی وجود ندارد.
زبان مورد استفاده در فریموورک Flutter زبان توسعه یافته توسط گوگل به نام دارت Dart می باشد که یک زبان شی گرا و سطح بالا با شباهت به جاوا می باشد.
همچنین گوگل اطلاع داده است که در آینده زبان دارت و Flutter به عنوان بستر اصلی توسعه برای سیتسم عامل فیوشا مورد استفاده قرار خواهد گرفت.
در ادامه با هم به بررسی ویژگی های مختلف فریموورک Flutter خواهیم پرداخت.
ویژگی های فلاتر
Hot Reload
با استفاده از این قابلیت سرعت شما در برنامه نویسی بسیار افزایش خواهد یافت.در این ویژگی نیاز نیست که هربار با ایجاد تغییر برای مشاهده آن مجددا کد های خود را کامپایل کنید بلکه Hot Reloading این کار و در سریع ترین زمان با ایجاد تغییرات لازم برای شما انجام خواهد داد.
برنامه نویسی واکنشگرا یا Reactive
فلاتر ویژگی های فریموورک های مختلف و تلفیق کرده و در اختیار شا قرار میدهد. یکی از این امکانات برنامه نویسی Reactive می باشد.
استفاده دوباره
یکی از ویژگی های فلاتر که باعث میشه سرعت توسعه شما افزایش پیدا کند قابلیت استفاده مجدد از کد ها می باشد.
در واقع ویجت هایی که شما طراحی میکنید را میتونید داخل پروژه های بعدی خود نیز به راحتی استفاده کنید و تفاوتی ندارد که برای موبایل این کار و انجام میدید یا یک وب اپلیکیشن.
Flutter برای چه کسانی مناسب می باشد؟
فریموورک Flutter برای آن دسته از برنامه نویسانی که به دنبال راهی سریعتر برای طراحی اپلیکیشن موبایل هستند و یا اشخاصی که میخواهند با سرمایه کم کاربران زیادی جذب کنند مناسب است. همچنین Flutter به مدیران پروژه این امکان و میدهد تا تیم فنی کوچکتری برای بخش طراحی موبایل خود تشکیل دهند.
متن باز
متن باز یا اپن سورس بودن فلاتر باعث شده که برنامه نویسان مختلف این امکان و داشته باشند تا پکیج و کتابخونه های بسیار زیادی و برای استفاده عموم توسعه دهند.
عملکرد عالی
در مقایسه با فریمورک React Native از نظر عملکراین Flutter و زبان دارت هست که دست بالا را دارد. به دلیل اینکه هیچ نیازی به جاوا اسکریپت ندارید تا با کامپوننت های نیتیو ارتباط برقرار کند. همین کار باعث افزایش عملکرا و بهره وری اپلیکیشن می شود.
ساختار Flutter
در فریمورک Flutter تمام عناصر رابط کاربری یک ویجت هستند. ویجت ها نقش View ها در برنامه نویسی اندروید را دارند که شاید براتون آشنا باشه اگر قبلا کار کرده باشید.
ویجت ها همچنین به دو نوع Stateless و Stateful تقسیم می شوند.
اگر ویجتی که میخواید استفاده کنید نیازی به ذخیره سازی اطلاعاتی نداره از نوع Stateless بهتر هست که استفاده کنید.
اما اگر ویجت رابط کاربری قرار هست که یک سری اطلاعات مختلف و ذخیره کند مثلا یک فرم ورود اطلاعات
در این حالت شما باید حتما از ویجت های نوع Stateful استفاده کنید.
تجربه کاربری زیبا
تجربه کاربری فلاتر به شما این امکان و میدهد که بدون هیچ محدودیتی طرح های خود را عملی کنید و زمان زیادی را صرف یادگیری نحوه پیاده سازی آن نکنید. همچنین طراحان بدون در نظر گرفتن محدودیت های فنی میتوانند خلاقیت خود را بروز دهند و رابط های کاربری بسیار زیبا خلق کنند.
شروع آموزش برنامه نویسی Flutter
برای شروع آموزش فلاتر شما در ابتدا باید زبان برنامه نویسی دارت Dart و در حد متوسط بتونید کار کنید.
اگر سابقه برنامه نویسی با زبان های دیگر و دارید خیلی زود میتونید زبان Dart و یاد بگیرید اما اگر پیش زمینه ای در برنامه نویسی ندارید بهتر هست تا سطح برنامه نویسی شی گرا پیش برید.
زبان دارت توسط گوگل در ابتدا برای استفاده در برنامه نویسی وب ایجاد شد اما در حال حاضر امکان طراحی اپلیکیشن با آن نیز فراهم هست.
مزایای زبان دارت:
- سرعت بالا برنامه به دلیل کامپایل شدن هنگام اجرا
- یادگیری آسان
- پیاده سازی انیمیشن های مختلف به شکل ساده
- ساخت برنامه های پویا و ایستا
- امکان استفاده در برنامه نویسی سرور
نیازمندی ها
برای یادگیری برنامه نویسی فلاتر شما به امکانات زیادی نیاز ندارید کافیست فقط به لیست زیر توجه کنید.
- دسترسی به کامپیوتر شخصی
- داشتن اتصال اینترنت
- تلاش و پشتکار
سوالات متداول
فلاتر یک فریمورک برنامه نویسی موبایل به زبان دارت است که توسط شرکت گوگل معرفی شده است. با استفاده از این فریمورک میتوانید برای سیستم عامل های اندروید و iOS اپلیکیشن موبایل تولید کنید.
فلاتر از زبان برنامه نویسی Dart که توسط گوگل معرفی شده است استفاده میکند. این زبان شبیه به جاوا است و اگر یادگیری بسیار آسانی دارد. همچنین میتوانید از کتابخانه های زبان جاوا, کاتلین و سویفت نیز در فلاتر استفاده کنید.
با فریمورک فلاتر علاوه بر برنامه نویسی موبایل میتوانید وب اپلیکیشن هایی که در مرور اجرا میشوند را نیز طراحی کنید. علاوه بر پشتیبانی از وب میتوانید برای دسکتاپ و ویندوز هم برنامه نویسی انجام دهید.
چه شرکت هایی از فلاتر استفاده میکنند؟
شرکت های معتبر بسیار زیادی در سراسر دنیا از فریمورک Flutter برای طراحی محصولات خود استفاده میکنند همانند شرکت گوگل, BMW, علی بابا, Ebay, Square و…
شرکت BMW با استفاده فریمورک فلاتر اپلیکیشن MY BMW را برای سیستم عامل های اندروید و iOS منتشر کرده است.
برای شروع آموزش فریمورک فلاتر و زبان برنامه نویسی دارت بدون هیچگونه سابقه برنامه نویسی و یا طراحی اپلیکیشن میتوانید از فصل اول دوره آموزشی اختصاصی مجموعه Flutter-learn استفاده کنید که به شکل کاملا مرتب بروزرسانی میشود.
مطالب زیر را حتما مطالعه کنید
بهترین ایده های طراحی اپلیکیشن موبایل در سال ۲۰۲۲
مهم ترین راه های کسب درآمد از طریق برنامه نویسی
مقایسه فلاتر و زبان کاتلین در برنامه نویسی چند سکویی Cross Platform
همه چیز درباره مفهوم ویجت در فلاتر
آشنایی با ویژگی های فلاتر ۲٫۸ و دارت ۲٫۱۵
برنامه نویسی چیست؟ بررسی انواع زبان های برنامه نویسی
23 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
ایا میشه با flutter برنامه های پیچیده مثل برنامه حسابداری برای موبایل ساخت ؟ یا برای اینجور برنامه ها باید سراغ زبان های native رفت
سلام
شما با فلاتر هر نوع اپلیکیشنی میتونید طراحی کنید تنها محدودیتی که دارید منابع کم اون هست که با دوره های موجود در سایت سعی کردیم این محدودیت تا حدودی کم کنیم.
همچنین شما میتونید از همون کتابخانه و کدهای زبان نیتیو هم استفاده کنید داخل پروژه flutter
سلام و خسته نباشید
خروجی اندروید و ios که میدهد چقدر شبیه هم هستند ؟؟ آیا مقرون به صرفس برم یاد بگیرم یا اینکه نع دو تا رو جدا توسعه بدیم ؟
خروجی ها تقریبا مثل هم هستند و بعضی موارد به شکل المان های نیتیو همون سیستم عامل تبدیل میشه مثلا تب ها توی اندروید و iOS به شکل های مختلف هستند در حالت عادی
سلام اگه خروجی اپلیکیشن اندروید استودیو ۵ مگ باشه با فلاتر حجمش چقدر میشه ؟ میخوام بگم توی خروجی نهایی از نظر حجم چقدر تفاوت دارند ؟
سلام
حجم خروجی پروژه اولیه فلاتر ۴مگابایت است.
استخدام برنامه نویس فریموورک Flutter با حقوق و مزایای مناسب در شرکت رشد گستران امید
https://jobinja.ir/companies/roshed-gostaran-omid-belaadshapour/jobs/HK3
سلام
جهت خروجی گرفت برای ios نیاز به کامپیوتر مک هست؟
با vmw میشه خروجی گرفت؟
سلام با vm میشه.
رفتی یه متن رو کپی کردی آوردی نوشتی !
اینجا باید ریزتر توضیح بدی که زبان اش چی هست و روی چه بالا اومده
سلام لطفا لینک وبسایتی که ادعا میکنید از اون کپی کردیم و همینجا قرار بدید!
هیچ واژه ای از مطالب وبسایت کپی نیست.
سلام
برای آموزش فلاتر به نظر شما از کجا باید شروع کنم؟
سلام ایا سازگاز با همه یه ورژن هایه اندروید هست؟
بله
با سلام و تشکر بابت مطب بسیار مفیدتون
یک سوالی من داشتم
من برای خودم میخوام به آپ درست کنم بعنوان کتابخونه باشه که فقط هم برای من مهم هست که محل کتاب رو بگه
نه قیمت .. اطلاعات خود کتاب مهم هست که مثلا با نوشتن اسم کتاب نویسنده یا انتشارات و … (فیلدهای مختلف) اون رو سریع برام بیاره
هم میخوام ویندوزی باشه و هم ios
بنظرتون همین فریم ورک رو شروع کنم به یادیری یا پیشنهاد دیگه ای داریم
تشکر
سلام برای اندروید و ios میتونید از همین فلاتر بدون مشکل استفاده کنید اما برای ویندوز هنوز نسخه پایدار اون منتشر نشده که مشخص بشه چقد کارایی داره.
سلام
آیا کدی که برای موبایل می نویسیم دقیقا از همون کد می تونیم خروجی وب(pwa) داشته باشیم یا کدهای وب سایت باید جداگانه توسعه داده بشن؟
سلام بله تقریبا ۹۰% کدها یکی هست فقط برای وب یکم تغییرات ممکن بخواد بعضی قسمتها
تشکر عالی بود
سلام وقت بخیر یه سوال درباره فلاتر داشتم.
آیا این امکان هست که گوگل زبان کاتلین رو بخواد جایگزین دارت کنه ؟ چون تو اپدیت اخری کاتلین ساخت لایه توسط کاتلین شده یه چیزی شبیه به فلاتر و دارت
سلام کسی اطلاعی نمیتونه در حال حاضر داشته باشه از این موضوع اما با توجه به اینکه زبان دارت خیلی شبیه به کاتلین هست بعید میدونم این اتفاق رخ بده.
برای یادگیری فلاتر احتیاج به یادگیری زبان Dart داریم؟
سلام
بله برنامه نویسی در فلاتر به زبان دارت هست.