اول از همه باید بدونیم که ما چرا باید از پکیج ها توی فلاتر استفاده کنیم؟ اصلا آیا خودمون نمیتونیم اون ها رو بنویسیم؟ جواب بله هست، از اونجایی که فلاتر یک پلتفرم متن باز هستش، شما میتونید هر چیزی رو برای خودتون کاستوم کنید و اگه خیلی پکیج خفنی شد، حتی میتونید اون رو به نام خودتون منتشر هم کنید، ولی خب به احتمال زیاد بخاطر دلایلی که این پایین اشاره میکنم، شما هم مثه خیلیای دیگه، از پکیج های آماده و موجود استفاده میکنید.
1- قابل استفاده مجدد: پکیج ها طوری نوشته میشن که قابلیت استفاده مجدد رو داشته باشند و شما به راحتی بتونید اون ها رو در پروژه های خودتون استفاده کنید. پکیج ها یه جورایی راه حل آماده ایه برای مشکلات ما توی پروژمون مثلا اگه بخواید به وب دسترسی پیدا کنید یا اینکه اگه بخواید استیت هاتون رو مدیریت state) management) کنید یا هر چیز دیگه ای، پکیج آماده براش موجود هستش. اصلا چه کاریه باز بری چرخ رو اختراع کنی؟؟!!!!
2- خلاقیتت رو بالا میبره، چطوری؟ خب پکیج ها اغلب با یک داکیومنت خوب همراه هستند. هم اینکه میتونید کلی چیز ازشون یاد بگیرید و هم اینکه از امکانات مختلفشون، خیلی خلاقانه توی جاهای مختلف پروژتون استفاده کنید.
3- پکیج ها عموما توسط افراد با تجربه و باسواد نوشته شدن و میتونید تقریبا مطمعن باشید که از کد تمیز و باکیفیتی دارید توی پروژتون استفاده میکنید.
4- یه مزیتی که فلاتر داره، کامیونیتی بسیار فعالش هست، پکیج ها وقتی وارد این کامیونیتی میشن، توسط برنامه نویس های مختلف استفاده میشن و مورد بررسی قرار میگیرن، که این باعث میشه اون پکیج بصورت مداوم آپدیت بشه.
5- پکیج ها، چیزهایی که فلاتر کم داره رو جبران میکنند و ویژگی های خیلی خفنی میدن به برنامه نویس ها.
6- پکیج ها معمولا برای سازگار بودن با پلتفرم های مختلف طراحی میشن که این خودش کار رو برای نوشتن یه پکیج شخصی سخت میکنه.
خلاصه که پکیج ها بهتون کمک میکنه خلاق تر باشید و برنامه هایی بنویسید که خیلی خفنتر باشه.
خب بریم چند از این پکیج های پر کاربرد رو معرفی کنیم:
1- flutter_bloc:
این برای همون مدیریت استیت ها و ایونت ها هستش که اون بالا یه اشاره کوچیک کردما. کلا بلاک چیز خفنیه، یادش بگیرید ، ازش استفاده کنید و حالشو ببرید.
https://pub.dev/packages/flutter_bloc
2- provider:
اینم مثه بلاک، state management هستش، ولی خب سبکتر و راحتتر، یادگیریش هم مثه بلاک سخت نیست.
https://pub.dev/packages/provider
3- dio:
یه پکیج قوی برای ارتباط با API و ارسال درخواست های HTTP
https://pub.dev/packages/dio
4- shared_preferences:
اگه اطلاعات جزئی دارید که میخواید روی دستگاهتون ذخیره بشه، میتونید از این استفاده کنید، البته هر چیزیو تو این ذخیره نکنیدا، خیلی امن نیست، قبلش ببینید نیازتون چیه!
https://pub.dev/packages/shared_preferences
5- intl:
با این پکیج هم میتونی تاریخ رو تو مدل ها و فرمت های مختلف ببینی، خیلی راحته استفاده ازش و خیلی ام کاربردی!!
https://pub.dev/packages/intl
6- flutter_svg:
اگه میخوای عکس هایی با فرمت svg، وارد پروژت بکنی، میتونی از این کمک بگیری.
https://pub.dev/packages/flutter_svg
7- google_maps_flutter:
همونطوری که از اسمش پیداست، برای استفاده از نقشه و نمایش نقشه مورد استفاده قرار میگره، یوتیوب و وب هم پره از مطالب آموزشی برای کار با این پکیج.
https://pub.dev/packages/google_maps_flutter
8- url_launcher:
با این پکیج میتونید لینک های خارجی رو باز کنید.
https://pub.dev/packages/url_launcher
9- http:
تو مایه های پکیج dio هست ولی کمی راحتر و ساده تر.
https://pub.dev/packages/http
10- cached_network_image :
برای کش کردن عکس هایی که از اینترنت میگیری مورد استفاده قرار میگیره.
https://pub.dev/packages/cached_network_image
11- path_provider:
اگر خواستی توی اپلیکیشنت دسترسی پیدا کنی به فایل ها و دایرکتوری های میتونی از این پکیج استفاده کنی، مثلا با همین پکیج میتونی مکان نصب برنامت رو پیدا کنی.
https://pub.dev/packages/path_provider
12- flutter_html :
این پکیج هم مطالب تولید شده با html رو نشون میده.
https://pub.dev/packages/flutter_html
13-flutter_spinkit:
مجموعه ای از loading indicator و progress spinner هستش.
https://pub.dev/packages/flutter_spinkit
14- firebase_core:
اگر دارید از سرویس فایربیس استفاده میکنید، این پکیج یک سری از ابزارها رو برای مقداردهی اولیه و پیکربندی Firebase در برنامتون قرار میده.
https://pub.dev/packages/firebase_core
15- firebase_auth :
اگه نیاز دارید که توی اپلیکیشنتون user authentication داشته باشید، میتونید از این پکیج استفاده کنید.
https://pub.dev/packages/firebase_auth
16- flutter_map :
از این پکیج هم میتونیم برای نمایش نقشه استفاده کنیم.
https://pub.dev/packages/flutter_map
17 - flutter_form_builder:
میتونی از این پکیج استفاده کنی برای اینکه فرم بسازی و از تکرار کد های اضافی و تکراری جلوگیری میکنه و اینکه میتونی validation هم بذاری، در نهایت هم کل اطلاعاتی که وارد شده توی فرم رو بصورت یکجا پاس میده به جایی که میخوای!
https://pub.dev/packages/flutter_form_builder
18-flutter_local_notifications :
یک پکیج کراس پلتفرم برای نمایش و برنامه ریزی نوتیفیکیشن های لوکال هست و اینکه برای هر پلتفرمی بصورت جدا میتونید customize کنید.
https://pub.dev/packages/flutter_local_notifications
19- flutter_secure_storage :
اگر اطلاعات مهم و حساس مثله پسورد یا API keys رو میخوای ذخیره کنی، این میتونه راه حل امنی باشه برای این کار.
https://pub.dev/packages/flutter_secure_storage
20- flutter_reorderable_list:
اگر میخوای اون مدل لیست ها که کاربر بتونه آیتم هاش رو جابه جا بکنه داشته باشی، میتونی از این پکیج استفاده کنی.
https://pub.dev/packages/flutter_reorderable_list
21- image_picker :
با این پکیج میتونی به گالری و دوربین موبایل دسترسی پیدا کنی و عکس مورد نظرت رو به برنامه اضافه کنی.
https://pub.dev/packages/image_picker
22- flutter_keyboard_visibility :
اگر که میخواید برنامتون به تغییرات کیبورد (باز بودن یا بسته بودن)، گوش بده ومثلا بر اساس اون سایز المنت های UI رو تغییر بده، میتونید از این پکیج استفاده کنید.
https://pub.dev/packages/flutter_keyboard_visibility
کلییییی پکیج دیگه هست که خیلی هم معروف و کاربردی هستش، اینایی که من اینجا اشاره کردم فقط بخشی از اون پکیج های کاربردی هستش، اگر شما هم پکیجی رو میشناسید و براتون مفید بوده، لطفا توی بخش کامنت ها بنویسید که بقیه هم بتونند از اونا استفاده کنند،
ممنون از وقتی که گذاشتید برای خوندن این مقاله ;)