پرش به محتوا

سوال و جواب در مورد توسعه اپلیکیشن با فلاتر

    سوال و جواب در مورد توسعه اپلیکیشن با فلاتر

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

    سوال اول فایل های layout کجا هستن؟ چرا در فلاتر layout نداریم ؟

    ما توی جاوا اکتیویتی و layout رو داریم به همین دلیل برای کار با اونها نیاز هست که ارجاعاتی به view ها داشته باشیم در نرم افزار و خود همین view ها با استفاده xml پیاده سازی میشوند.

    در فلاتر ما یک رویکرد کاملا متفاوت داریم که در اون به جای view از ویجت استفاده میشه یک view در جاوا و اندروید بیشتر یک عنصر از یک طرح بود، اما در فلاتر یک ویجت همه چیز است ! مزیت در اینجا شخصی سازی کردن هست. یک دکمه رو در جاوا و اندروید تصور کنید.

    این دکمه دارای ویژگی هایی مانند متن هست که به شما این امکان رو میدهد متن رو به دکمه اضافه کنید. اما یک دکمه در فلاتر یک عنوان رو به عنوان یک رشته نمی گیرد، بلکه یک ویجت دیگر را میگیرد، این حرف به این معنی هست که شما میتونید، متن، عکس، آیکن، و تقریبا هر چیزی را که بتوانید تصور کنید (  بدون شکستن محدودیت های چیدمان البته) رو داشته باشید.

    فلاتر به شما این امکان رو هم میده که ویجت های سفارشی شده رو هم به راحتی بسازید، این در حالی هست که در جاوا و اندروید ایجاد view های سفارشی کاری نسبتا دشوار و سخت است.

    سوال دوم آیا کشیدن و رها کردن آسان تر از ایجاد طرح و کد نویسی نیست؟

    سوال دوم آیا کشیدن و رها کردن آسان تر از ایجاد طرح و کد نویسی نیست؟

    در بعضی مواقع، این درسته  اما همه ما که داریم با فلاتر کد نویسی می کنیم روش کد زنی رو ترجیح میدیم اما این به معنی این نیست که drag and drop در فلاتر غیر ممکن هست اگه واقعا علاقه دارید view ها رو با استفاده از کشیدن و رها کردن بسازید سرویس آنلاین Flutter Studio میتونه براتون جذاب باشه این یه ابزار خوب هست که من خودم تحت تاثیرش هستم و دوست دارم ببینم چطوری رشد میکنه در آینده !

    سوال سوم چرا حجم اپلیکیشن های فلاتر انقدر زیاد هست؟

    شما اگه با یه اپلیکیشن فلاتری کار کرده باشید می فهمید که فوق العاده پرسرعت و دارای پرفورمنس بی نظیر هست. برنامه های فلاتری کمی بزرگ هستن اما در عمل سرعت بسیار زیادی دارن و به علاوه تیم توسعه فلاتر دائما به دنبال راهکارهایی برای کاهش حجم هستند.

    سوال چهارم من در برنامه نویسی مبتدی هستم ایا باید با فلاتر شروع کنم ؟

    فلاتر برای کد نویسی بسیار عالی هست و کد خیلی کمتری ایجاد میکنه به نسبت برنامه های اندروید یا ios در نتیجه فکر نمیکنم مشکلی ایجاد بشه.

    یکی از مواردی که باید در نظر داشته باشید اینه که فلاتر به اندروید و ios متکی هست و شما باید حداقل با ساختار پروژه ها آشنا باشید.

    نظر شخصی خودم اینه که اول زبان های native اندروید و ios رو یاد بگیرید و بعد وارد دنیای flutter بشید.

    سوال پنجم پکیج ها در فلاتر چی هستن؟ 

    سوال پنجم پکیج ها در فلاتر چی هستن؟ 

    پکیج ها به شما این امکان رو میدن که ویجت ها و عملکرد های جدیدی رو به برنامه اضافه کنید پکیج ها معمولا مولفه ها یا کدهای جدیدی هستند که صرفا در Dart نوشته شده اند در pub.dev میتونید تعداد زیادی از این پکیج ها رو پیدا کنید که توسط برنامه نویس های دیگه ساخته شدن و شما به راحتی میتونید در برنامه خودتون ازشون استفاده کنید و کار برنامه نویسی پروژه هاتون رو با سرعت بیشتری انجام بدید.

    سوال ششم فایل pubspect.yaml چی هست و کاربردش چیه؟

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

    سوال هفتم state چیست و setstate چیست؟

    به طور کلی state مجموعه از مقادیر و متغیرهای ویجت شما هست و هر چیزی که میتواند تغییر کند مانند شمارش شمارنده متن و … می تواند بخشی از state باشد یه برنامه شمارشگر اعداد را تصور کنید هنگامی که اعداد بر روی صفحه تغییر می کنند صفحه باید برای نمایش مقادیر جدید به روز شود دستور setstate اساسا راهی هست که به برنامه می گوید صفحه را با مقادیر جدید به روز رسانی و بازسازی کند.

    سوال هشتم ویجت های stateful و stateless چی هستن؟

    سوال هشتم ویجت های stateful و stateless چی هستن؟

    ویجتی که به شما این امکان رو میدهد که صفحه را به روز رسانی کنید Stateful نام دارد و ویجتی که این کار را انجام نمیدهد ویجت stateless نام دارد.

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

    نکته :

    این صفحه دائما به روز رسانی میشود و سوال و جواب های دیگه ای هم اضافه میشه به دلیل ترافیک کاری خودم فرصت نمیکنم همه چیز و کامل شرح بدم و سعی میکنم هر چند روز یه بار این پست به روز رسانی کنم ! شاد و حال دلتون خوب باشه همیشه.

    5/5 - ( 1 امتیاز )

    دیدگاه شما نگاه ما رو عوض میکنه !

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    پشتیبانی آنلاین