چگونه فلاتر را در سال 2020 یاد بگیریم؟

فلاتر به دلیل انعطاف پذیری بالا و سهولت یادگیری در ساخت اپلیکیشن های موبایل، روز به روز در حال محبوب تر شدن است. مهم نیست که توسعه دهنده حرفه ای باشید یا تازه کار، یادگیری فلاتر را میتوانید به صورت خودآموز و با ویدیوهای در سطح اینترنت جلو ببرید.در این مقاله از سایت زیکو راه هایی که میتوانید فلاتر یاد بگیرید را بررسی میکنیم اما بهتر است بدانید قبل از اینکه یادگیری فلاتر را شروع کنید باید چه چیزهایی را بدانید!فلاتر چیست؟فلاتر یک فریم ورک (نه SDK) متن باز است که توسط گوگل برای ساخت برنامه های موبایلی ساخته شده است. درست است که فلاتر برای ساخت اپلیکیشن های موبایل ساخته شده است اما شما همان کدها را میتوانید به برنامه های دسکتاپ یا وب هم تبدیل کنید!به لطف ویجت های زیبا، فونت ها، آیکون ها و.. میتوانید در فلاتر اپ های زیبایی را طراحی کنید و تمامی این عناصر بهینه شده اند، فلاتر تضمین میکند برنامه ای که برای اندروید یا iOS میسازید، به راحتی و با سرعت بالا در سیستم عامل اجرا میشود.چرا باید فلاتر یاد بگیریم؟توسعه اپلیکیشن های موبایل یکی از مباحث پرطرفدار IT در سال 2020 است. چون کار با موبایل برای تمام افراد در جامعه راحت تر است و با موبایل میتوانید در هرجایی هستید، هر کاری را انجام دهید!فلاتر یک فریم ورک فوق العاده قابل سفارشی سازی است که به شما اجازه ساخت برنامه های موبایل، زیبا، انعطاف پذیر و امن را میدهد. اگر این دلایل برای شما کافی نیستند میتوانید نگاهی به موارد پایین هم بیاندازید:1- هیچ مشکلی با پلتفرم ها و سیستم عامل ها پیدا نمیکنید چون در فلاتر یک بار کد مینویسید و سپس آن را میتوانید برای تمامی سیستم عامل ها منتشر کنید.2- نیازی به Rebuild نیست! این باعث میشود شما بعد از ذخیره کدها، خروجی را خیلی سریع مشاهده کنید.3- پشتیبانی و جامعه آماری بالا: که به شما اجازه میدهد تمامی سوالات و مشکلاتتان را بپرسید و سرعت توسعه تان را بالا ببرید.4- میتوانید در اپلیکیشن ها از انیمیشن ها استفاده کنید.5- ویرایشگرها و IDE های زیادی مثل VSCode و AndroidStudio و... آن را پشتیبانی میکنند.بخش فرانت اند و بک اند برنامه از هم جدا هستند!برخی دیگر از ویژگی های منحصر بفرد فلاتر:6- ابزارک های سفارشی سازی شده و قابلیت های دیگری که طراحی UI برنامه را خیلی آسان و مدرن میکند.7- زمان توسعه اپلیکیشن بسیار کم است.8- یک بار کدنویسی میکنید و بدون تغییر هیچ چیزی، در همه پلتفرم ها اجرا میشود.9- فلاتر از زبان برنامه نویسی دارت استفاده میکند که باعث میشود عملکرد فلاتر بهتر و سریعتر باشد.10- امکان خروجی برای اندروید و iOS فراهم است.ویژگی های فلاترقبل از اینکه منابع استاندارد برای یادگیری فلاتر را به شما بگویبم آخرین نکته این است که تمامی منابع را با هم جلو نبرید چون سردرگم میشوید.بهتر است ابتدا با یک منبع شروع کنید و راه بیوفتید. فرقی ندارد کدام منبع یادگیری را انتخاب میکنید، هر کدام که با آن راحت هستید را جلو ببرید.پیش نیاز های یادگیری فلاتراگر درباره موارد زیر هیچ آشنایی ندارید بهتر است که ابتدا کمی دانش پایه از آنها پیدا کنید و سپس به سمت فلاتر بروید چون یادگیری برای شما بهتر و آسان تر میشود:دانش پایه در مورد توسعه برنامه های اندرویدی native: اگر میخواهید درک درستی از برنامه نویسی اندروید داشته باشید.مفاهیم شی گرایی: از آنجایی که بیشتر زبان های برنامه نویسی مثل سی پلاس پلاس و جاوا و.. بر پایه مفاهیم شی گرایی هستند، هر برنامه نویسی باید با مفاهیم شی گرایی آشنا باشد.شما باید تا حدودی مقدمات برنامه نویسی با زبان دارت را بلد باشید: زبان دارت زبان برنامه نویسی است که توسط گوگل طراحی شده و در فلاتر هم به کار میرود. البته نگران نباشید، زبان دارت چندان زبان سختی نیست!مورد آخری اجباری نیست اما شاید کمکتان کند و آن هم این است که یک دانش پایه در مورد سی پلاس پلاس یا جاوا داشته باشید.چگونه فلاتر را یاد بگیریم؟وقتی که پیش نیاز های فلاتر را رعایت کردید وقت آن است که یادگیری فلاتر را شروع کنید. خوشبختانه منابع خیلی زیاد و متنوعی در اینترنت برای یادگیری فلاتر وجود دارد که نیاز شما را در یادگیری به صورت خود آموز برطرف میکند.میتوانید از داکیومنت های خود وبسایت فلاتر هم شروع کنید البته خیلی ها ترجیح میدهند با آموزش های جذاب و بهتر شروع کنند. در هر صورت اینجا به تمامی منابع آموزش برای فلاتر اشاره میکنیم:1-ویدیو های آنلاین و داکیومنت هااگر با چیزهای خواندنی و دیدنی راحت هستید، در وبسایت رسمی فلاتر این چیزها فراوان هستند. البته در کانال های یوتیوب و سایر وبسایت ها هم این چیزها را پیدا میکنید. فقط کافی است سرچ کنید.2-دوره های آنلایناین دوره های آنلاین هم به صورت پولی و هم به صورت رایگان وجود دارند که میتوانید در آن ها شرکت کنید و با استاد راهنما جلو بروید.خوبی این روش یادگیری در این است که هر مشکلی در لحظه پیش می آید معمولا توسط استاد شفاف میشود و جای نگرانی و سردرگمی نیست.3-کتابکتاب بهترین دوست آدم ها و برنامه نویس هاست! کتاب ها راه عالی برای یادگیری و همچنین گزینه مناسبی به عنوان مرجع هستند که همیشه در اختیار دارید (حتی وقتی موزیک گوش میدهید).خوشبختانه کتاب های خوبی هم برای یادگیری فلاتر داریم. چیزهایی مثل:Learn Google Flutter fastBeginning Flutter – A hands-on guide to App Developmentکتاب های بالا، نیازهای شما را به عنوان یک تازه کار، رفع میکنند.همچنین میتوانید مهارت های فلاتری خودتان را با دیدن نمونه های ساخته شده و سورس های فلاتر موجود در گیت هاب، ارتقا دهید. این برنامه ها به شما درک درستی از چگونگی کار برنامه میدهند.خب حالا که منابع خودتان را انتخاب کردید...باید چکار کنید!؟حالا باید شروع کنیم!بیاید سریع یک محیط فلاتر درست کنیم و یک اپ ساده هم بسازیم!نصب فلاتربرای نصب فلاتر به SDK ها نیاز دارید و همچنین یک IDE یا یک ویرایشگر، که همانطور گفته شد دو گزینه مناسب هستند:VS CODE: ساده و سریع و برای کسانی که خیلی راحت میخواهند فلاتر بنویسند!Android Studio: یک محیط کامل فقط باید قبل از همه چیز پلاگین های دارت و فلاتر را نصب کنید.نصب فلاتر کار ساده ای است فقط باید دستورالعمل های خود سایتش را دنبال کنید.ساخت یک اپلیکیشن ساده با فلاتربگذارید فلاتر را با یک مثلا ساده Hello World شروع کنیم. در این مثال شما یک دید کلی از ساختار اصلی کدهای فلاتر و نحو کارشان پیدا میکند.برای ساخت یک پروژه خالی با فلاتر باید در ترمینال خودتان بنویسید:?و سپس پروژه با ساختار دنبال شده ساخته میشود:?android: برای ساخت برنامه اندروید. هر اجزایی که به اندروید ربط داشته باشد در این پوشه قرار میگیرد.assets: این پوشه برای ذخیره فایل ها و عکس ها و... استفاده میشود.ios: برای ساخت برنامه iOS. هر اجزایی که به iOS ربط داشته باشید در این پوشه قرار میگیرد.Lib: کدهای اصلی برنامه در اینجا قرار میگیرند. برای مثال کد اصلی main.darttest: این پوشه هدف آن تست میباشد!برای برنامه ساده مان فقط به فایل main.dart نیاز داریم. در این فایل تکه کدهایی هم قرار دارند ولی توسعه دهندگان معمولا آنها را پاک میکنند تا کدهای خودشان را بنویسند. پس ما هم همین کار را میکنیم.اولین کار مهمی که باید انجام دهید این است که پکیج material را ایمپورت کنید. این پکیج، کامپوننت های UI را دارد.?مثل بیشتر زبان های برنامه نویسی که با متد main شروع میشود. فلاتر هم چنین است و در این متد باید متد runApp() هم نوشته شود.?چیزی که باید اجرا شود چیزی به جز یک ویجت نیست! اما به یاد داشته باشید که فلاتر هم چیزی به جز ویجت نیست!حالا شاید بپرسید که ویجت چیست؟!اگر نمیدانید باید بگویم که ویجت میتواند هر چیزی باشد، مثل یک دکمه یا یک لیست یا یک تکست باکس و.. بنابراین کل برنامه شما مجموعه ای از ویجت ها هستند که در کنار هم کار میکنند.برای همین است که شما هر کلاسی ایجاد میکنید باید کلاس ویجت آن را هم گسترش دهید. از آنجایی که برنامه ما کاری به جز چاپ Hello World ندارد ما فقط به یک ویجت نیاز داریم که مستقل از شرایط و زمان باشد. اصطلاحا به این ویجت میگویند stateless یعنی بدون تابعیت.?ویجت MaterialApp یک ویجت بسته بندی شده است که مرکز تمام ویجت ها محسوب میشود. و همچنین متد Center هم یکی از عناصر محسوب میشود. و text هم ویجت متن را اضافه میکند. و ویژگی هایی را میبینید مثل home و Child که مثل طراحی و ظاهر و موقعیت برنامه ها و ویجت ها عمل میکنند. این ویژگی ها به Ui برنامه ربط دارند که در ادامه بیشتر با آنها آشنا میشوید.در نهایت کل کد به شکل زیر است:?و سپس برای اجرا باید از فرمان Run استفاده کنید:?تبریک میگویم! شما اولین برنامه فلاتر خودتان را نوشتید. از اینجا به بعد سفر هیجان انگیزی در دنیای فلاتر خواهید داشت!خلاصه:سعی کنید خیلی در جمع آوری منابع یادگیری افراط نکنید و چند منبع را با هم پیش نبرید. اگر قبلا برنامه نویس اندروید یا موبایل باشید یادگیری فلاتر برای شما راحت تر است ولی تازه کار ها هم فقط با کمی تلاش بیشتر میتوانند در فلاتر غرق شوند!به هر حال دنیای زیبایی در اختیار شما است. از آن لذت ببرید.