میتوانم شکست را بپذیرم اما تلاش نکردن را هرگز!


فلاتر

آموزش فلاتر (Flutter)

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


فلاتر (Flutter) چیست ؟
اگر علاقه مند به دنیای برنامه نویسی موبایل باشید ، احتمالا اسم فلاتر (Flutter) را شنیده اید . در سال ۲۰۱۷ کمپانی گوگل از فریم ورک جدید خود ، یعنی فلاتر رونمایی کرد . Flutter با این که عمر بسیار کمی دارد اما به سرعت در میان برنامه نویسان محبوب و مورد توجه قرار گرفته است. جالبی کار اینجاست که شما تنها با یک بار کد نوشتن می توانید خروجی Native اندروید و ios بگیرید در حالی که اگر میخواستید به شکل جداگانه برای اندروید و ios اپلیکیشن تولید کنید ، باید دو زبان متفاوت را یاد میگرفتید که در زمان و هزینه اصلا به صرفه نخواهد بود. البته تنها ویژگی Flutter چند سکویی بودن آن نیست !! ویژگی های خیلی بهتری هم دارد که شخصا خودم تجربشون کردم و واقعا برای من لذت بخش بودند که در ادامه مقاله به آن ها می پردازیم .

سرعت بالا در توسعه ی اپلیکیشن
شما در فلاتر می توانید تغییراتی که در کدتان می دهید را در کمتر از یک ثانیه مشاهده کنید ، یعنی برای یک تغییر کوچک دیگر نیاز نیست کلا اپلیکیشن را مجدد اجرا کنید . به این قابلیت در فلاتر Hot Reloading می گویند .
مورد دیگری که در توسعه سریع فلاتر وجود دارد این است که ، به عنوان مثال اگر شما بخواهید فلاتر و با زبان های بومی مثل کاتلین یا جاوا مقایسه کنید به این نکته پی می برید که توسعه دادن یک پروژه همسان در فلاتر خیلی سریع تر از کاتلین می باشد چرا که خیلی از Widget ها در فلاتر مانند ListView در فلاتر وجود دارند و تنها با چند خط کد ساده می توانید از آن استفاده کنید در حالی که در زبان های بومی استفاده از همین ListView به شدت دردسر دارد .

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

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

ساختار Flutter
در فریمورک Flutter تمام عناصر رابط کاربری یک ویجت هستند. ویجت ها نقش View ها در برنامه نویسی اندروید را دارند که شاید براتون آشنا باشه اگر قبلا کار کرده باشید.
ویجت ها همچنین به دو نوع Stateless و Stateful تقسیم می شوند.
اگر ویجتی که میخواید استفاده کنید نیازی به ذخیره سازی اطلاعاتی نداره از نوع Stateless بهتر هست که استفاده کنید.
اما اگر ویجت رابط کاربری قرار هست که یک سری اطلاعات مختلف و ذخیره کند مثلا یک فرم ورود اطلاعات
در این حالت شما باید حتما از ویجت های نوع Stateful استفاده کنید.

فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی
  • سرفصل های دوره فلاتر
    • معرفی Flutter

    • آشنایی با معماری Flutter

    • نصب پیش نیاز ها

    • معرفی زبان Dart

    • متغیرها و دیتا تایپ ها

    • کار با توابع

    • کار با عملگرها

    • دستورات شرطی و حلقه ها

    • شی گرایی و کلاس ها

    • آرایه و لیست ها

    • Hello World

    • ویجت ها

    • کار با Text

    • کار با ردیف و ستون ها

    • کار با دکمه ها

    • نمایش عکس

    • کار با ListView

    • کار با TextField

    • ساخت تولبار

    • ویجت های Stateless

    • ویجت های Statefull

    • کار با API و سرور

    • نمایش اطلاعات سرور در لیست ویو

    • جا به جایی بین صفحات

    • پروژه نهایی

    • توضیحات در مورد flutter 
    • توضیحات نحوه نصب و راه اندازی در سیستم های مختلف مک و ویندوز و لینوکس
    • آموزش نحوه دانلود و معرفی sdk flutter
    • مقایسه بر اساس React-native , flutter
    • توضیح کار با محیط اندروید استودیو
    • توضیح و نحوه نصب پلاگین flutter
    • توضیح و پایه برنامه نویسی dart flutter
    • آموزش کار با تابع اصلی main
    • آموزش کار با بایس و اساس کار
    • پیاده سازی و مقهوم runapp
    • آموزش کار با مفهوم Them
    • آموزش کار وزن دهی عناصر
    • آموزش کار با padding
    • آموزش کار با margin
    • آموزش استفاده از پکیج
    • آموزش نحوه اضافه کردن کتابخانه های مختلف در قالب پکیج
    • آموزش کار با پوشه های مختلف flutter
    • آموزش مقاهیم شی گرایی
    • آموزش مقاهیم متد
    • آموزش abstract کلاس StatelessWidget و ویجیت
    • آموزش استفاده از انواع ویجت
    • آموزش مقاهیم اصلی و پیاده سازی اصولی متغییر ها و ویجت ها
    • کار home
    • کار با مقاهیم متریال دیزاین
    • کار import ‘package:flutter/material.dart’
    • آموزش پیاده سازی پروژه hello word
    • کار با متد Widget build DiagnosticableTree
    • کار با extents
    • آموزش کار با پکیح های مختلف
    • جلوگیری ازشلوغی در کد نویسی
    • آموزش فراخوانی پکیج
    • آموزش فراخونی کلاس
    • برداشتن مقدار حالبت debug
    • تست و ارزیابی اپلیکیشن در دو دیواس اندروید و ios
    • تست و ارزیبای در گوشی واقعی
    • تست و ارزیابی در نرم افزار جنی موشن
    • کار با داده های ثابت const
    • آموزش پیاده سازی toolbar
    • آموزش کار با انواع ویجت Text و …
    • آموزش کار center
    • آموزش با children: <Widget>[}
    • آموزش کار با انواع نمایش String
    • کار با داده های int
    • تعریف کردن base
    • تعریف Scaffold
    • تعریف کار با home
    • پیاده سازی appbar
    • آموزش کار با Textstyle
    • آموزش کار با دادن font اختصاصی
    • آموزش راست به چک کردن اپلیکیشن
    • چند زبانه کردن اپلیکیشن
    • آموزش با ستون Column
    • آموزش کار ردیف row
    • آموزش کار با اسکرول افقی و عمودی
    • آموزش کار Container
    • آموزش کار با SingleChildScrollView
    • آموزش ایجاد کردن ستون با محدودیت
    • آموزش ایجاد کردن ردیف با محدودیت
    • آموزش پیاده سازی استفاده از EdgeInsets
    • آموزش پیاده سازی مقاهیم لیست
    • آموزش پیاده سازی اسلایدر
    • آموزش کار با  stack
    • آموزش کار با PageView
    • تقسیم بندی کار ها در فلاتر
    • تقسیم بندی بخش های مختلف توسط کلاس های مختلف
    • آموزش پیاده سازی ستون ها
    • آموزش پیاده سازی Row
    • آموزش فراخوانی کلاس ها مختلف در یک main
    • آموزش import کلاس ها
    • آموزش و توضیح نحوه فراخوانی کلاس
    • آموزش margin
    • آموزش padding
    • پیاده سازی کار با form
    • آموزش استفاده از validate
    • آموزش استفاده از انواع متد های فرم ها
    • نمایش progrssbar برای ارسال به سمت سرور
    • پیاده سازی ویو های تو در تو
    • پیاده سازی امکان نمایش دو ویجت روی هم
    • آموزش کار با ListView
    • آموزش کار با سرور و دستورات php
    • آموزش ارتباط با سرور توسط flutter
    • آموزش با json
    • پیاده سازی مفاهیم دیتامدل
    • پیاده سازی سازنده یا constructor
    • آموزش فراخوانی کلاس ها و دیتامدل ها
    • اموزش تعریف کردن نمونه از کلاس
    • آموزش تعریف کردن geter , seter
    • آموزش استفاده از progress یا لودینگ
    • استفاده از Tab
    • استفاده از DefaultTabController
    • استفاده از TabBarView
    • پیاده سازی ایکن Icons
    • فراخوانی تب ها
    • پیاده سازی ابجکت های تو در تو
    • پیاده سازی قابلیت ارسال دیدگاه
    • آموزش کار با لیست های تو در تو
    • آموزش کار با حلقه ها for
    • آموزش کار با دستورات تصمیم و شرطی if switch
    • آموزش پارز کردن json توسط flutter
    • آموزش حرکت بین صفحات یا اکتیویتی ها
    • آموزش کار با منو ها
    • آموزش کار با اپدیت ویو setstate
    • کار با Drawer
    • آموزش ساخت دیالوگ
    • آموزش ایجاد کردن یک ویژگی
    • پیاده سازی مفهوم Context
    • آموزش پیاده سازی انیمیشن
    • آموزش استفاده از Future<void>
    • آموزش استفاده از Navigator.push
    • استفاده از pageBuilder
    • استفاده از SlideTransition
    • آموزش کار با dx,dy نحوه نمایش صفحات
    • آموزش کار با bottomNavigationBar
    • آموزش کار با base
    • آموزش کار با Gridview
    • آموزش کاربا showSnackBar
    • آموزش کار با RaisedButton
    • آموزش جابجایی بین صفحات مختلف همراه با ارسال داده
    • آموزش پیاده سازی Action برای کلیک روی showSnackBar
    • آموزش پیاده سازی دو ستونه یا ستونه در Gridview
    • پیاده سازی ادامه پست برای کلیک روی ایتم ها
    • آموزش ساخت صفحات مختلف
    • آموزش کار با key,valuse
    • آموزش پیاده سازی shared_preferences
    • آموزش فراخوانی shared_preferences
    • پیاده سازی امکاناتی مثل register
    • پیاده سازی قسمت login
    • پروژه محور پیاده سازی اپلیکیشن خبری
    • پروژه پیاده سازی اپلیکیشن فروشگاهی

آشنایی مقدماتی با مفاهیم برنامه نویسی

  • فلاتر چیست؟
    فلاتر یک فریمورک برنامه نویسی موبایل به زبان دارت است که توسط شرکت گوگل معرفی شده است. با استفاده از این فریمورک میتوانید برای سیستم عامل های اندروید و iOS اپلیکیشن موبایل تولید کنید.
  • زبان برنامه نویسی فلاتر چیست؟
    فلاتر از زبان برنامه نویسی Dart که توسط گوگل معرفی شده است استفاده میکند. این زبان شبیه به جاوا است و اگر یادگیری بسیار آسانی دارد. همچنین میتوانید از کتابخانه های زبان جاوا, کاتلین و سویفت نیز در فلاتر استفاده کنید.
  • فلاتر برای برنامه نویسی وب کاربرد دارد؟
    با فریمورک فلاتر علاوه بر برنامه نویسی موبایل میتوانید وب اپلیکیشن هایی که در مرور اجرا میشوند را نیز طراحی کنید. علاوه بر پشتیبانی از وب میتوانید برای دسکتاپ و ویندوز هم برنامه نویسی انجام دهید.