با 3.5 میلیارد کاربر تلفن هوشمند در سال 2020 ، که انتظار می رود در سال 2021 به 3.8 میلیارد نفر برسد ، به اندازه کافی منصفانه است که بگوییم تقاضا برای برنامه های تلفن همراه از دسکتاپ به تلفن همراه افزایش یافته است. و این به دلیل علاقه روزافزون توسعه دهندگان به طراحی یک برنامه UI بسیار واکنشگرا و تعاملی است.
در حالی که به سال 2015 باز می گشت ، گوگل با تغییر قابل توجهی در الگوریتم موتور جستجو روبرو شد و قانون جدیدی را ارائه داد تا وب سایت ابتدا از طریق تلفن همراه پاسخگو باشد. و از آنجا ، طراحان اهمیت طراحی معماری واکنش گرا را در هر دو برنامه دسک تاپ و غیر دسک تاپ درک نکرده اند بلکه عاشق طراحی UI واکنشگرا در برنامه برای افزایش تجربه کاربر هستند.
با این حال ، اجرای رابط های کاربری واکنشگرا در برنامه برای کار طراحان در زندگی واقعی به کاری پیچیده تبدیل می شود.
چه در مورد پیکربندی تغییرات در برنامه ، چرخش خودکار محتوا با توجه به صفحه نمایش ، یا سازگار کردن آن برای نمایش در صفحه های کوچک و بزرگ. به هر قیمتی ، برنامه شما باید به تغییرات چیدمان پاسخ دهد.
همان جایی است که فلاتر وارد می شود و شتاب می گیرد! بنابراین در این راهنما ، ما پاسخ خواهیم داد:
طراحی برنامه واکنشگرا چیست؟
طراحی واکنشگرا به سادگی به معنای استفاده از یک مجموعه کد واحد است که به تغییرات مختلف در چیدمان دستگاه ها پاسخ می دهد. برنامه واکنشگرا با توجه به اندازه صفحه و شکل دستگاه ، رابط کاربری خود را ارائه می دهد. از ساعت هوشمند ، تلفن ، رایانه لوحی گرفته تا لپ تاپ ، برنامه توسعه یافته رابط کاربر واکنشگرا می تواند روی چندین دستگاه اجرا شود و نیازی به ایجاد رابط های مختلف برنامه نیست.
وقتی کاربر اندازه پنجره را روی لپ تاپ تغییر اندازه می دهد یا جهت تلفن یا رایانه لوحی را تغییر می دهد ، همین برنامه اندازه صفحه را با توجه به صفحه تنظیم می کند.
عناصر مهم تمرکز برای ایجاد چیدمان واکنشگرا
در سال های اخیر ، توسعه یک برنامه واکنشگرا به یکی از موضوعات داغ تبدیل شده است اما چگونه می توان کاری کرد تا در دنیای واقعی اتفاق بیفتد؟ شما باید روی چه چیزهای اساسی تمرکز کنید؟
در طراحی واکنشگرا ، سه مورد عمده وجود دارد که باید در نظر گرفت: اندازه ، جهت گیری و نوع دستگاه. با تغییر هر یک از این عناصر ، رابط کاربر برنامه تغییر می کند. همچنین می توانید توسعه دهنده برنامه تلفن همراه را استخدام کنید که بتواند این کار را برای شما انجام دهد. ولی..
بگذارید درک آن را برای شما ساده کنیم:
در تصویر زیر ، یک آرم ، عنوان آرم و زیرنویس ، دو قسمت ، دکمه اقدام و تصویر پس زمینه داریم.
اما ، وقتی این کامپوننتها را روی چهار دستگاه مختلف اجرا می کنیم ، ]صفحه کوچک (800 * 480) ، صفحه متوسط (1920 * 1080) ، صفحه بزرگ (1920 * 1200) و[ iPhone XR ، نتایج واضح را مشاهده کنید.
در دستگاه صفحه کوچک ، اجزای طرح در حال شکستن و خارج شدن از صفحه هستند. عنوان به دو خط تقسیم شده و به طور کلی تأثیر طراحی را کاهش می دهد. در حالی که صفحه نمایش های دیگر خوب به نظر می رسند اما تفاوت های جزئی کمی وجود دارد.
راه حل چیست؟ در این مقاله ، من به شما توضیح خواهم داد که چگونه با استفاده از پلاگین های فلاتر مشکلات UI برنامه را برطرف کنید.
اما قبل از آن!
فلاتر چیست ، چرا اینقدر طلبکارانه است و در چه چیزی پیشرفت کرده است؟
فلاتر به عنوان جعبه ابزار UI Google تعریف شده است که به توسعه دهندگان اجازه می دهد برنامه های زیبا و کامپایل شده بومی را برای چندین سیستم عامل از جمله تلفن همراه (iOS Android) ، دسکتاپ Google Fuchsia)، Mac ، Windows ،(Linux ، و وب ایجاد کنند. با راه اندازی فلاتر در سال 2015 ، گوگل نه تنها این نمایش را دوباره به سرقت برده بلکه یک کلید واژه در زمینه توسعه برنامه ایجاد کرده است. به همین دلیل مشتریان از سراسر جهان مشتاق استخدام شرکت توسعه برنامه های فلاتر در سال 2021 هستند.
فلاتر مبتنی بر زبان برنامه نویسی دارت است و به توسعه دهندگان این امکان را می دهد تا برای چندین سیستم عامل با استفاده از یک کد پایه برنامه ای ایجاد کنند ، فلاتر پیشرفت خوبی دارد. این دومین فریمورک محبوب برای توسعه دهندگان شده است.
گوگل با معرفی فلاتر از دو جنبه مهم موفقیت خارق العاده ای کسب کرده است - در ایجاد یک چارچوب واقعی مستقل از سیستم عامل برای برنامه های بومی Android و iOS که برای استفاده در تولید بسیار عالی عمل می کنند.
حال سوال این است که چه چیزی آن را برای توسعه برنامه بسیار مناسب می کند؟
در اینجا لیستی از برخی امکانات و ویژگی ها وجود دارد:
امیدوارم ، شما متقاعد شده اید که فلاتر به دلیل توسعه برنامه ها بسیار مشهور شده است. تا آنجا که برای ایجاد یک طرح واکنشگرا در برنامه ، Android و iOS روش های مختلفی را برای مدیریت طرح بندی برای اندازه های مختلف صفحه نمایش به طور طبیعی اتخاذ می کنند.
برای مدیریت اندازه های مختلف صفحه و تراکم پیکسل ، از مفاهیم متعددی در Android استفاده می شود از جمله:
رویکردهای Android برای ایجاد رابط کاربر واکنشگرا
رویکردهای iOS برای ایجاد رابط کاربر واکنشگرا
چقدر فلاتر متفاوت است و به شما کمک می کند یک UI پاسخگو از برنامه ایجاد کنید؟
فقط به این دلیل که ادعا می کنیم ایجاد پوسته های واکنشگرا در فلاتر بسیار ساده تر و آسان تر است ، بنابراین ، بسیاری از شما کنجکاو هستید که به جای اینکه مستقیماً به استخدام شرکت توسعه نرم افزار بروید ، این دو سوال را بپرسید:
از چه ابزارک هایی باید در برنامه استفاده کنم که با صفحه های مختلف اندازه سازگار باشد؟
چگونه می توانید اطلاعات مربوط به اندازه صفحه را بدست آورید و چگونه می توانید از آنها هنگام نوشتن کد UI استفاده کنید؟
ما به این سوالات پاسخ خواهیم داد اما بگذارید ابتدا در مورد سوال دوم صحبت کنیم زیرا این سوال قلب موضوع است.
بنابراین در اینجا روش های اصلی برای دستیابی به اهداف شما وجود دارد:
ک روش بالقوه برای کسب اطلاعات از MediaQueryData از MediaQuery rootکه "InheritedWidget"است. برخی از اطلاعات ارزشمند در مورد Orientation و ScreenSize را فراهم می کند که به شما امکان می دهد بر اساس جهت گیری فعلی ، نوع صفحه نمایش (موبایل ، رایانه لوحی یا دسک تاپ) و اندازه صفحه نمایش روی کدام برنامه را نمایش دهید.
حال سوال این است که چگونه از آن استفاده کنیم؟
بیایید با مثال ساختن یک برنامه چت در فلاتر که به تغییرات چیدمان پاسخ می دهد ، بیاموزیم:
برنامه را توسعه دهید و آن را در صفحات مختلف اجرا کنید و به احتمال زیاد این مورد در Portrait و Landscape وجود دارد:
برای تحقق آن ، باید وارد پرونده "ChatListPage.Dart" در پوشه Lib شوید و باید محتوای "build (Buildcontext Context)" را با این مراحل ذکر شده جایگزین کنید.
وش دیگر استفاده از LayoutBuilder است ، یک جایگزین مناسب برای MediaQuery که برای کنترل تغییرات جهت گیری استفاده شده است. این یک ابزارک سازنده است دقیقاً مانند یک "StreamBuilder" یا "FutureBuilder" ، همچنین BoxConstraints را می دهد که به شما امکان می دهد حداکثر و حداقل ویژگی های عرض و عرض صفحه را تعیین کنید.
بیایید بفهمیم که این رویکرد چگونه عملی عمل خواهد کرد:
با دنبال کردن این مراحل ، می توانید پروژه ها را در صفحه های مختلف بسازید و آزمایش کنید.
بنابراین این دو روش اصلی برای بررسی جهت ها و اندازه های مختلف صفحه است. اما ، چگونه می توان تنظیمات بیشتری را با متن انجام داد؟
تغییر اندازه خودکار متن بر اساس اندازه ویجت والدین
اگر متن را در تصویر صفحه اصلی بالا مشاهده کنید ، متن رنگی مطابق طرح صفحه ، به درستی تغییر نمی کند. در این صورت ، افزایش اندازه قلم بسیار دلهره آور است زیرا از کادر عبور می کند. اما با استفاده از ابزارک فلاتر "FittedBox" ، می توانید اندازه را به درستی با توجه به اندازه ابزارک والد مقیاس بندی کنید.
به این ترتیب می توانید از این ابزارک در برنامه چت استفاده کنید:
برای ایجاد تغییر در اندازه متن ، باید قوانین "BoxFit.Contain" را دنبال کنید و سعی کنید این مراحل را طی کنید:
با دنبال کردن مراحل ، می توانید بهبود اندازه متن را مشاهده کنید که به طور خودکار با اندازه صفحه تنظیم می شود.
معماری :UI قابل ارتقا و انعطاف پذیر
واکنشگرا بودن برنامه مستقیماً با انعطاف پذیر و قابل ارتقا بودن رابط کاربری شما با انتخاب صحیح ابزارک ها ارتباط دارد. و افزونه هایی که در داخل یک ستون یا یک ردیف واقعاً مفید هستند. برای رفع تصویر خراب روی صفحه ، ابتدا باید پرونده "ConversationalPage.Dart" را در آن پوشه Lib باز کنید. سپس خط را با "SquareGallery ()" با TODO کشف کنید.
این ابزارک ظاهر نخواهد شد ، زیرا فرزند "ستون" است و اطلاعات کافی برای تعیین ارتفاع خود را ندارد. بنابراین می توانید آن را در یک ابزارک "AspectRatio" بپیچید تا محدودیت هایی برای آن ایجاد کند.
درصورتی که قادر به یافتن چنین محدودیت هایی نباشید ، به شما محدودیتی ارائه می شود که فقط از نسبت ارائه شده توسط شما پیروی کند. علاوه بر این ، در این حالت ، ویجت ممکن است سرریز شود.
نتایج نهایی ، وقتی روی آن کلیک می کنید تا دکمه تصویر را ضمیمه کنید ، تصویر در هر دو حالت عمودی و افقی به این صورت خواهد بود.
CustomMultiChildLayout
فلاتر همچنین دارای یک ابزارک طرح بندی است که به شما کمک می کند تا طرح کودک آن را به کسری از کل فضای موجود تقسیم کنید. به ویژه در داخل ابزارک های قابل ارتقا و انعطاف پذیر بسیار مفید است.
با CustomMultiChildLayout می توانید چیدمان خود را پاسخگو نشان دهید ، اما چگونه؟
از آنجا که این یک موضوع گسترده است ، بنابراین در اینجا ما در اینجا قطعه کد اصلی را توضیح می دهیم:
نتیجه گیری: بعد کجا برویم؟
از آنجا که فلاتر به فریمورک سختگیرانه در بازار توسعه برنامه تبدیل شده است ، بنابراین ، اکثر توسعه دهندگان چشم به راه استفاده از ویژگی های فلاتر هستند.
راهنماها ، آموزش ها و اسناد رسمی زیادی برای برنامه های پاسخگو در فلاتر در دسترس است ، اما درک فنی این آموزش ها برای یک تازه کار کاملا چالش برانگیز است. بنابراین ، ما مطالب موجود را به روشی ساده و مستقیم تهیه کردیم تا بتوانید مفهوم را درک کنید.
به غیر از ابزارک فوق الذکر ، موارد مختلف دیگری نیز وجود دارد که باید بدانید و درک کنید. بنابراین ، ما به شما توصیه می کنیم یک شرکت توسعه دهنده برنامه استخدام کنید که در هر مرحله در کنار شما قرار دارد تا برنامه Android / iOS شما را با فلاتر واکنشگرا باشد.
امیدوارم از مطالعه این راهنمای طراحی یک طرح واکنشگرا با فلاتر لذت برده باشید. علاوه بر این ، ما دوست داریم به سوالات شما پاسخ دهیم و از نظرات شما در زیر استقبال کنیم!
برای ثبت نظر باید وارد سایت شوید یا ثبت نام نمایید.
نظر شما با موفقیت در سیستم ثبت گردید.