معماری اپلیکیشن فلاتر – Flutter
در این فصل ،با معماری فریمورک Flutter بصورت کلی آشنا خواهیم شد ، فرمورک فلاتر یعنی همه چیز مبتنی بر ویجت هاست
ویجت ها – widgets
مفهوم اصلی فریمورک Flutter در خود Flutter است ، همه چیز یک ویجت است. ویجت ها اساساً مؤلفه های رابط کاربری هستند که برای ایجاد رابط کاربری برنامه استفاده می شوند.
در فلاتر ، برنامه خود ویجت است.اما برنامه ویجت سطح بالا است و UI آن با استفاده از یک یا چند فرزند (ویجت ) ساخته شده است که مجدداً با استفاده از ویجت های فرزندان خود ساخته شده است. این ویژگی به ما کمک می کند تا یک رابط کاربری بدون هیچ پیچیدگی ایجاد کنیم. به عنوان مثال ، سلسله مراتب ویجت برنامه hello world (ایجاد شده در فصل قبل) در نمودار زیر مشخص شده –

در اینجا نکات زیر قابل تامله:
- MyApp ویجت ایجاد شده توسط کاربر است و با استفاده از ویجت بومی Flutter ، MaterialApp ساخته شده است.
- MaterialApp دارای یک ویژگی Home برای مشخص کردن رابط کاربری صفحه اصلی است که دوباره ویجت ایجاد شده توسط کاربر ، MyHomePage است.
- MyHomePage با استفاده از ویجت بومی دیگر فلاتر ، Scaffold ساخته شده است
- Scaffold یا داربست دارای دو خاصیت است – body و appBar
- body برای مشخص کردن رابط کاربری اصلی آن مورد استفاده قرار می گیرد و از appBar برای مشخص کردن رابط کاربری header آن استفاده می شود
- UI Header با استفاده از ویجت بومی شلوغ ، AppBar و بدن UI با استفاده از ویجت مرکز ساخته شده است.
- ویجت Center دارای یک ویژگی ، Child است که به محتوای واقعی ارجاع می دهد و با استفاده از ویجت Text ساخته می شود.
حرکات یا Gestures
ویجت های flutter تعامل را از طریق ویجت مخصوص ، GestureDetector پشتیبانی می کنند. GestureDetector یک ویجت نامرئی است که توانایی ضبط فعل و انفعالات کاربر مانند ضربه زدن ، کشیدن و غیره از ویجت فرزند خود را دارد. بسیاری از ویجت های بومی Flutter از تعامل با استفاده از GestureDetector پشتیبانی می کنند. همچنین می توانیم با ترکیب آن با ویجت GestureDetector ، ویژگی تعاملی را در ویجت موجود وارد کنیم.
مفهوم state
ویجت های فلاتر با ارائه یک ویجت ویژه ، StatefulWidget از تعمیر و نگهداری دولت پشتیبانی می کنند. برای پشتیبانی از تعمیر و نگهداری دولت باید ویجت از ویجت StatefulWidget گرفته شود و همه ویجت های دیگر باید از StatefulWidget گرفته شوند. ویجت های فلاتر به صورت بومی واکنش پذیر هستند. این شبیه واکنش است و هر زمان که وضعیت داخلی آن تغییر کند ، StatefulWidget به صورت خودکار ارائه می شود. ارائه مجدد با پیدا کردن تفاوت بین UI ویجت قدیمی و جدید و ارائه فقط تغییرات لازم بهینه می شود.
لایه ها layers
مهمترین مفهوم فریمورک Flutter این است که این فریمورک از نظر پیچیدگی به چند دسته گروه بندی می شود و به وضوح در لایه های بعدی پیچیدگی را کاهش داده. یک لایه با استفاده از لایه سطح بعدی خود، فوری ساخته می شود. بالاترین لایه ویجت مخصوص Android و iOS است. لایه بعدی دارای کلیه ویجت های بومی است. لایه بعدی لایه Rendering است که جزء رندر سطح پایین است و همه چیز را در اپلیکیشن flutter ارائه می دهد. لایه ها به کد مشخصه اصلی پلتفرم می روند
نمای کلی یک لایه در Flutter در نمودار زیر مشخص شده است –

نکات زیر معماری فلاتر را خلاصه می شود-
- در فلاتر ، همه چیز یک ویجت است و یک ویجت پیچیده از موجموع ویجت های موجود خود فلاتر تشکیل شده است.
- ویژگی های تعاملی را می توان هر زمان که لازم باشد با استفاده از ویجت GestureDetector گنجانید.
- وضعیت ویجت را می توان در صورت لزوم با استفاده از ویجت StatefulWidget حفظ کرد.
- فلاتر طراحی لایه ای layered design را ارائه می دهد تا بسته به پیچیدگی کار ، هر لایه قابل برنامه ریزی باشد.
در فصل جدید مفصلا در مورد همه این مفاهیم بحث خواهیم کرد.
دیدگاهتان را بنویسید