ویجت در فلاتر چیست و چه کاربردی دارد ؟
تقریبا می توان گفت هر چیزی در فلاتر یک ویجت است . به طور مثال زمانی که نیاز به ایجاد یک ستون از دیتا را دارید، میتوانید تمام دیتاهای خود را درون ویجتی به همین نام یعنی Column قرار دهید و اگر بخواهید این دیتاها به صورت سطری در برنامه نمایش داده شوند آن ها را درون ویجتی به نام Row قرار می دهید .
اکثر ویجت ها در فلاتر فرزند می گیرند و عملکردی تقریبا شبیه به مفهوم ارث بری در شی گرایی دارند که در آن فرزند از پدر ارث بری می کند، به طور مثال اگر ویجت Column را به عنوان فرزند (child) به ویجتی به نام Container به عنوان پدر، بدهیم و به Container خود طول و عرض خاصی را نسبت بدهیم ویجت Column هم طبق همان طول و عرض عمل کرده و از آن خارج نمی شود .
ساختار درختی ویجت ها در فلاتر :
به دلیل امکان تعریف فرزند (child) یا فرزندان (children) در فلاتر امکان قرار دادن آن ها به صورت تو در تو و درختی وجود دارد .
به طور مثال شما می خواهید در ستونی 4 سطر داشته باشید که هریک نام فردی را نمایش دهد اما در سطر دوم می خواهید نام دو نفر را نمایش دهید برای این کار می توانید کدی شبیه به کد زیر را در فلاتر بنویسید :
Column( children:[ Text ('ehsan nasri'), row( children:[ Text ('mahsa ebrahimi '), Text ('saber nasri'), ], Text ('hasan amiri'), ], ),
خروجی کد بالا :
ehsan nasri
mahsa ebrahimi saber nasri
hasan amiri
همان طور که مشاهده می کنید در این بخش ابتدا درون ویجت Column به عنوان فرزند اول، نام ehsan nasri نمایش داده می شود، در سطر دوم از این ستون یک Row یا سطر تعریف کرده ایم که شامل دو نام mahsa ebrahimi و saber nasri می باشد که به صورت پشت سر هم و زیر نام ehsan nasri نمایش داده شده اند و در نهایت نام hasan amiri که در سطر سوم به نمایش در آمده است .
در این مثال ما درون ویجت Column از ویجت های Text و Row به صورت تو در تو استفاده کردیم .
ویجت ها یک عنصر در رابط کاربری یا UI را تعریف می کنند و عملکردی تقریبا مشابه با view در java دارند .
ویجت ها چون چیزی را ترسیم نمی کنند در پردازش برنامه عملکردی بسیار سریعتر دارند و پردازش سبکی را برای سیستم ایجاد می کنند .
از ویجت ها در تمام قسمت های فلاتر باید استفاده کرد، نکته مثبت این آپشن در فریمورک فلاتر این است که برنامه نویسان این تکنولوژی تقریبا هر چیزی را که مورد نیاز شما باشد به صورت ویجت عرضه کرده اند و می توانید با یک نگاه و جستجو در اینترنت یا داکیومنت فلاتر هر امکانی را به ساده ترین شکل ممکن به برنامه خود اضافه کنید و این قابلیت سرعت و حجم کدزنی شما را به شدت کاهش داده و خروجی برنامه را به استانداردهای روز نزدیک تر می کند .
در قسمت های بعدی از این سری آموزش ها به معرفی ویجت ها به صورت تک به تک و با قابلیت ها و آپشن های موجود در آن ها خواهیم پرداخت .
می توانید برای مشاهده آموزش های تخصصی در زمینه فلاتر به وبسایت بنده به آدرس http://amadaylearn.com مراجعه و موارد بیشتری را در این زمینه آموزش ببینید .