برنامه نویسی با فلت
طراحی فلت چیست؟! به همراه مثال تصویری کدنویسی به زبان ساده
«یادگیری ماشین» (Machine Learning) یکی از جدیدترین روندهایی است که در دنیای برنامه نویسی موبایل مورد توجه قرار گرفته است، زیرا شخصیسازی، پیشبینی دقیق فروش و بسیاری از مسائل دیگر را امکانپذیر میکند. با توجه به محبوبیت بالای این فناوری در دهه اخیر، در ساخت اپلیکیشن موبایل با فلاتر نیز استفاده از این فناوری امکانپذیر شده است. فلاتر به کمک پلاگینfirebase_ml_vision امکان دسترسی به ویژگیها و امکانات «کیت توسعه یادگیری ماشین فایربیس» (Firebase ML Kit) را فراهم کرده است. با استفاده از این کیت توسعه حتی برنامهنویسان تازهکار فلاتر نیز میتوانند از قابلیتهای یادگیری ماشین همچون تشخیص چهره و گفتار در برنامههای خود استفاده کنند. در این بخش کد نویسی به زبان دارت و ساخت اپلیکیشن با فلاتر را از صفر شروع میکنیم.
در نتیجه، نیاز به ساخت و توسعه اپلیکیشنهای مرتبط در این حوزهها به حدی زیادی افزایش پیدا کرد. امکان ساخت اپلیکیشن موبایل با فلاتر در حوزههای مختلفی همچون بازی، کاربردی، تجارت الکترونیک و سایر موارد وجود دارد، اما به طور مشخص فلاتر برای ساخت اپلیکیشن در برخی از حوزهها مناسبتر است. در ادامه، به بررسی مناسبترین حوزهها جهت ساخت اپلیکیشن موبایل با فلاتر پرداخته شده است. ویجت یکی از کلاسهای اصلی در زبان دارت است که رابط کاربری اپلیکیشنهای توسعه داده شده با فلاتر را توصیف میکند. از ویجتها در فلاتر برای نمایش مولفههای رابط کاربری همچون دکمه، متن، لیست، آیکون، تصاویر و سایر موارد استفاده میشود.
کابل مسطح نواری 22 گیج به راحتی جدا می شود، بریده می شود و دوباره وصل می شود تا نصب های سفارشی گسترش یابد. این کابل باید از مس با کیفیت ممتاز و PVC مقاوم در برابر شعله با درجه UL ساخته شده باشد. از مس با کیفیت عالی و مقاوم در برابر خوردگی و مقاوم در برابر دما، تا 80 درجه سانتیگراد (176 درجه فارنهایت) و همچنین PVC مورد تایید UL که ماندگاری طولانی دارد ساخته شود. تنها سختی طراحی فلت اینه که شما باید یکمی ذوق طراحی داشته باشید تا یکنواختی رنگ ها به هم نریزه .از رنگ های متنوع نباید استفاده کنید.هارومونی رنگ رو باید رعایت کنید.برای اینکه با انواع این رنگ ها آشنا بشید به این سایت برید. با کلیک بر روی فایلmain.dart میتوان کدهای نوشته شده درون این فایل را مشاهده کرد.
در کل، clean architecture یک الگوی نرمافزاری مفیدی است که در توسعه و کدنویسی برنامههای دارت و فلاتر نیز میتوان از آن استفاده کرد. با استفاده از این الگو، برنامههایی با کیفیت بهتر و قابلیت توسعه بالاتر میتوان تولید کرد. کدهایی که با استفاده از الگوهای طراحی نوشته شدهاند، راحتتر قابل نگهداری و توسعه هستند. این امر به شما امکان میدهد در آینده تغییرات مورد نیاز را به راحتی اعمال کنید. الگوهای طراحی (Design Patterns) مانند نقشههای از پیش طراحی شدهای هستند که برای حل مشکلات رایج در طراحی نرمافزار استفاده میشوند. در ادامه، به بررسی جامع الگوهای طراحی در پایتون میپردازیم و نحوه به کارگیری آنها را توضیح میدهیم.
مطمئناً استفاده از فونتهای مناسب ضمن زیباتر کردن ظاهر اپلیکیشن به بهبود تجربه کاربری نیز کمک میکند. معمولاً فریمورکهای برنامه نویسی از فونتهای پیشفرض در ساخت اپلیکیشن استفاده میکنند و فلاتر نیز از این قاعده مستثنا نیست. این فونتها معمولاً برای نوشتههای لاتین مناسب هستند و استفاده از آنها در نوشتههای فارسی ظاهر چندان خوبی به اپلیکیشن نمیدهد. برای همین منظور، توانایی استفاده از فونتهای سفارشی در طراحی اپلیکیشن از اهمیت بالایی برخوردار است. فریمورک فلاتر امکان ساخت برنامههای محبوب ویرایش تصاویر با رابط کاربری جذاب و امکانات فوق العاده را فراهم میکند.
البته پروژه فلاتری بخشهای دیگری نیز دارد، ولی اصلیترین بخشهای تشکیل دهنده پروژه در فلاتر مواردی است که در بالا به آنها پرداخته شد. بعد از انتخاب این گزینه در صفحه بعدی، باید مسیر قرارگیری «کیت توسعه فلاتر» (Flutter SDK) را مشخص کرد. امروزه توانایی توسعه «حداقل محصول پذیرفتنی» (Minimum Viable Product | MVP) برای هر استارتاپی ضروری است. MVPها در واقع نسخههای کوچک و ابتدایی اپلیکیشن به همراه ویژگیهای ضروری هستند که ساخت و راهاندازی آنها بسیار آسان است. از MVPها برای نمایش ایده اولیه کسب و کار استفاده میشود و بدون وجود آنها، شرکتها برای جذب سرمایهگذار دچار مشکل خواهند شد. در زمینه توسعه چند پلتفرمی، فلاتر رقیبان قدرتمندی همچون «ریاکت نیتیو» (React-Native) و زامارین (Xamarin) را در برابر خود میبیند.
با دوره آموزش معرفی شده در بالا، میتوانید به راحتی با زبان دارت آشناشده و برنامههای پیشرفته فلاتر را طراحی و پیادهسازی کنید. ظهور فریمورک فلاتر در سالهای اخیر با توجه به داشتن قابلیت جذابی همچون توسعه چند پلتفرمی توجه بسیاری از توسعهدهندگان و شرکتها را به خود جلب کرده است. ساخت اپلیکیشن موبایل با فلاتر سریع و آسان است و هزینههای مختلف را کاهش میدهد. همچنین، حمایت شرکت معتبری همچون گوگل از این فریمورک دلیل دیگری بر قابل اتکا بودن فلاتر به حساب میآید. علاوه بر این، با توجه به نوظهور بودن این ابزار و تعداد کم افراد متخصص در این حوزه، تقاضای بسیار خوبی برای موقعیت شغلی برنامهنویس فلاتر وجود دارد. تمام این عوامل سبب شدهاند تا افراد زیادی به دنبال یادگیری فریمورک فلاتر و نحوه ساخت اپلیکیشن موبایل با آن باشند.
در ادامه، برای اجرای اپلیکیشن باید نام کلاس را درون تابعrunApp قرار داد. در این بخش از مطلب مجله فرادرس ساخت اپلیکیشن موبایل با فلاتر مزایا و معایب توسعه اپلیکیشن با فلاتر به طور مختصر مورد بررسی قرار گرفتهاند. همین عامل، هزینه ساخت اپلیکیشن موبایل با فلاتر را بسیار مقرون به صرفه کرده است، زیرا چرخه توسعه کوتاهتر شده و به توسعهدهندگان کمتری نیز در این فرایند نیاز است. این قابلیت در مواردی همچون رفع باگ، آزمایش ویژگیهای جدید و اعمال تغییرات در رابط کاربری اپلیکیشن بسیار مفید واقع میشود. به کمک ویژگی Hot Reload توسعهدهندگان تغییرات اعمال شده در کدها را بلافاصله مشاهده میکنند.
استفاده از فلاتر در حوزه بازیسازی انتخابی بسیار خوب است، زیرا علاوه بر عملکرد مناسب این فریمورک، امکان استفاده از ویژگیهای جذاب «واقعیت افزوده» (Augmented Reality | AR) در ساخت بازی نیز وجود دارد. طراحی فلت معمولا کاربر پسنده و طرفداران زیادی داره اما همیشه هم همینطور نیست و طبیعتا بعضی از کاربران علاقه زیادی به این سبک ندارند . همچنین انتخاب رنگ و فونت نامناسب در طراحی فلت ممکنه به کل زیبایی طرح شمارو از بین ببره چون اهمیت زیادی داره و به خوبی خودش رو نشون میده . سعی کنید حتما مهارت خودتون رو در انتخاب فونت و رنگ افزایش بدید ، شاید خوندن این نوشته در مورد شناخت رنگ ها در طراحی براتون مفید باشه . حتی در مراحل مقدماتی برنامهریزی لیآوت کلی، منطق و گذارها، مفاهیم طراحی فلت میتوانند به خدمت گرفته شوند. در این مرحله، برای تفهیم سریع و مؤثر راهکارهای طراحی بر اساس ناوبری و عناصری کلیدی بهتر است از شماتیک تمرنگی ساده استفاده کنیم.
این فریمورک ابزاری برای «توسعه چند پلتفرمی» (Cross Platform Development) به حساب میآید که به کمک آن میتوان تنها با یک مرتبه کد نویسی، اپلیکیشنهایی برای پلتفرمهای مختلف همچون موبایل، وب و دسکتاپ توسعه داد. تایپوگرافی هم در طراحی فلت اهمیت خیلی زیادی داره ، شما میتونید از هر فونتی استفاده کنید البته با توجه به ابجکت هاتون اما معمولا از فونت هایی که ساده تر هستند استفاده میشه . ولی در انتخاب فونت خیلی دقت کنید چون در طراحی فلت به خوبی خودش رو نشون میده . برای طراحی یک وبسایت فلت مناسب تمام المانهای طراحی شما باید در مرکز قرار بگیرند. استفاده کردن از گردینت در تصاویر فلت رویکرد درستی نیست، در واقع کل طراحی فلت مبتنی بر تک رنگ و البته قوی بودن آن است. در ارتباط با تایپوگرافی باید سعی کنید از فونتهای sans-serif استفاده بکنید، اینگونه تایپوگرافی تمیزتری خواهید داشت.
همچنین، آینده فریمورک فلاتر بسیار روشن است، به این دلیل که گوگل در بسیاری از پروژههای جدید خود همچون «فیوشا» (Fuchsia) از فلاتر استفاده کرده است. البته زبان برنامه نویسی دارت معایبی (Dart Disadvantage) مانند کمبود جامعه برنامهنویسی، کمبود ابزارهای پشتیبانی کننده و کمبود مستندات نیز دارد که همزمان در قسمت معایب فلاتر بررسی می شوند. فلاتر (Flutter) یک فریمورک (Framework) برنامهنویسی است که توسط گوگل (Google) توسعه داده شده و به توسعهدهندگان این امکان را میدهد که با استفاده از یک کد واحد، برای سیستم عامل های اندروید (Android) و آی او اس (iOS) برنامه بسازند. الگوهای طراحی (Design Patterns) در دنیای برنامهنویسی، مانند دستورالعملهای از پیش تعریف شدهای هستند که برای حل مشکلات رایج در طراحی نرمافزار استفاده میشوند. این الگوها، راه حلهای اثبات شدهای هستند که توسط برنامهنویسان باتجربه برای ایجاد کدهای قابل نگهداری، انعطافپذیر و قابل توسعهتر به کار میروند. در این مطلب از بلاگ کندو با ما همراه باشید تا کمی در مورد design pattern یکی از مباحث مهم دوره پایتون صحبت کنیم.
الگوی Decorator به توسعهدهندگان اجازه میدهد تا قابلیتهای جدیدی به اشیا اضافه کنند بدون آنکه نیاز به تغییر در کلاسهای اصلی باشد. الگوهای طراحی در پایتون Decorator برای پیادهسازی ویژگیهای قابل ترکیب و انعطافپذیر مناسب است. دیگر الگوهای طراحی در پایتون، الگوی Observer که مکانیزمی برای ارتباط یکطرفه بین اشیا تعریف میکند که در آن یک شی (Subject) تغییرات خود را به سایر اشیا (Observers) اطلاع میدهد. این الگو برای پیادهسازی سیستمهای واکنشگرا و مدیریت رویدادها بسیار کاربردی است. یکی از الگوهای طراحی در پایتون، الگوی Factory یعنی روش ایجاد اشیا بدون مشخص کردن کلاس دقیق آنها در زمان پیادهسازی است.
این کلمه سادگی که در متن به کار میره به معنی ساده بودن طراحی فلت نیست و گاهی اوقات پیاده سازی این سبک از طراحی بسیارهم پیچیده میشه . به عنوان مثال در طراحی ui یک اپلیکیشن یا … عنصر های طرح شما باید کاملا واضح و دقیق باشند . این سبک طراحی بدون المنت های اضافی سعی میکنه یک دید مشخص رو به کاربر بده و تا خیلی سریع بتونه با طرح مورد نظر ارتباط بگیره . البته این سبک طراحی بیشتر در اپلیکیشن های موبایل استفاده شده و طراحان زیادی از اون استفاده کردند . طبیعتا میزان فضای بسیار کمتری هم نسبت به طراحی های سه بعدی و … اشغال میکنه که همین امر هم محبوبیت این سبک طراحی رو افزایش داده . نخستین گام در مسیر افزایش محبوبیت UI فلت در محصولهای دیجیتال از سوی مایکروسافت برداشته شد که یک سبک فلت و مینیمالیستی جدید در محصولهای خود به کار گرفت.
وقتی روی هر رنگ کلیک کنید کد رنگ در حافظه کلیپ برد ذخیره میشود و کد رنگ را در هرجایی که لازم دارین جایگذاری (paste) کنید. سادگی چشمگیر این نوع از طراحی باعث شد تا در عناصر مختلف تبلیغات، سایت ها و گرافیک جایگاه خوبی را به خود اختصاص دهد. اپلیکیشنهای توسعه داده شده با فلاتر ظاهری بومی و عملکردی بسیار سریع دارند. توسعه چند پلتفرمی به کمک فلاتر صرفهجویی در زمان، هزینهها و منابع را در پی دارد. برای مشاهده خروجی حاصل از اجرای پروژه و تست عملکرد آن باید از شبیهساز اندرویدی یا دستگاه واقعی استفاده کرد.
تنوع مقاصد طراحی فلت مدرن و محبوبت فزاینده آن در زمینه محصولهای دیجیتال با کاربرد روزمره روی دیگر حوزههای طراحی و به طور خاص طراحی محصولهای چاپی مانند پوستر و جلدهای کتابها نیز تأثیرگذارده است که در واقع از آنجا نیز منشأ یافته است. تنوع زمینههای طراحی موجود و گسترش روزافزون آنها موجب شده طراحی فلت به عنوان یک رویکرد انعطافپذیر و هنری کمابیش در همه زمینهها تا حدود زیادی موفق باشد. در این بخش به بررسی حوزههایی میپردازیم که در آنها از طراحی فلت استفاده میشود. با توجه به همه موارد فوقالذکر، طراحی فلت، حوزه گستردهای برای جستجوی خلاقانه و مفاهیم مرتبط با استایل ارائه میکند. از میان مهمترین خصوصیاتی که در توسعه این سبک مؤثر بودهاند، میتوان به استفاده از تایپوگرافی sans-serif، شبکهها و لیآوتهای متقارن اشاره کرد.
در نوار جستجوی بالای صفحه، عبارت flutter را وارد کرده و سپس، بر روی دکمه سبز رنگ install کلیک کنید. بعد از مشخص کردن مسیر نصب فلاتر در بخش متغیرهای محیطی ویندوز، باید نسبت به نصب صحیح فلاتر در ویندوز و امکان اجرای آن از طریق خط فرمان اطمینان حاصل کرد. طراحی فلت یک رویکرد طراحی به شکلی مینیمالیستی است که روی استفادهپذیری تاکید زیادی دارد. ویژگیهای این شکل از طراحی شامل تصویرسازیهای تمیز، باز، رنگهای روشن و دو بعدی بودن است. همچنین پیادهسازی این نوع از طراحی در فضای دیجیتال سادهتر است و سریعتر بارگذاری میشود. در نهایت باید اشاره کرد که طراحی فلت موشن بیزمان است و از این رو هرگز دِمُده نمیشود و تاریخ انقضایی ندارد.
به یاد داشتن این نکته در ذهن در هنگام طراحی برای بسیاری از طراحان مفید خواهد بود که همیشه سعی در طراحی ساده در عین حال زیبا داشته باشید. با رواج طراحی فلت بسیاری از طراحان سعی می کنند تا سادگی را در کارهای خود دخیل کنند چون جذابیت و بازخورد بهتری نسبت به طرح های پیچیده خواهد داشت. امروزه همگان به این باور رسیده اند که طراحی ساده نشان از حرفه ای بودن است. پیشتر نحوه استفاده از متن و تصویر به صورت جداگانه در اپلیکیشن به کمک ویجتهایText وImage توضیح داده شد. در ادامه این بخش، نحوه استفاده از تصاویر و متن به صورت همزمان در فلاتر به کمک ویجتColumn مورد بررسی قرار گرفته است.
امروزه بسیاری از شرکتها و کسب و کارها به دنبال راهحلهای سریع، ارزان و با کیفیت هستند که فریمورک فلاتر تمام این نیازها را برآورده میسازد. علاوه بر این، حمایت شرکت مطرحی چون گوگل از آن، اطمینان خاطر بیشتری را برای توسعهدهندگان به منظور استفاده از فلاتر ایجاد کرده است. ایجاد پروژه جدید فلاتر در اندروید استودیو اولین گام در فرایند ساخت اپلیکیشن موبایل با فلاتر به حساب میآید. برای این منظور، همانند تصویر زیر در صفحه آغازین اندروید استودیو بر روی گزینهNew Flutter Project کلیک کنید. یکی از پیشنیازها برای شروع ساخت اپلیکیشن موبایل با فلاتر نصب داشتن یک «محیط یکپارچه توسعه» (Integrated Development Enviroment | IDE) است. ساخت اپلیکیشن موبایل با فلاتر را میتوان با اندروید استودیو یا ویژوال استودیو انجام داد.
به عنوان مثال، صفحه خوش آمدگویی در اپلیکیشنی را در نظر بگیرید که بعد از چند ثانیه کاربر را به صفحه اصلی برنامه هدایت میکند. علاوه بر این، تایمر در بخشهای مختلف اپلیکیشن برای زمانبندی اجرای کدها و ایجاد وقفه در اجرا نیز کاربرد دارد. بعد از ایجاد شبیهساز اندرویدی همه چیز برای ساخت اپلیکیشن موبایل با فلاتر آماده است. با توجه به ارائه فریمورک فلاتر توسط گوگل، میتوان انتظار داشت که برنامههای ساخته شده با فلاتر سالها از طرف گوگل پشتیبانی شوند. علاوه بر این، با توجه به پشتیبانی گوگل از فلاتر میتوان در خصوص ارائه نسخههای جدید و رفع باگهای موجود در این فریمورک نیز کاملاً مطمئن بود.
بعد از نصب اندروید استودیو برای شروع ساخت اپلیکیشن موبایل با فلاتر باید پلاگین فلاتر و دارت را در محیط اندروید استودیو نصب کرد. برای این منظور در صفحه آغازین اندروید استودیو از نوار سمت چپ گزینهPlugins را انتخاب کنید. ارائه نسخههای جدید برای سیستمعاملهای تلفن همراه و بهروزرسانی گوشیهای کاربران همواره یکی از دغدغههای توسعهدهندگان موبایل بوده است. ساخت اپلیکیشن موبایل با فلاتر به توسعهدهندگان این اطمینان را میدهد که اپلیکیشن توسعه داده شده بر روی نسخههای قدیمیتر اندروید و iOS نیز با ظاهری یکسان اجرا شود. در همین چند سال اخیر فلاتر توانسته جایگاه خوبی را در بین برنامهنویسان به دست آورد. به طور کلی آینده فلاتر روشن ارزیابی میشود و احتمالاً تقاضا برای آن افزایش یابد.
پوسترهای فوق نمونههایی هستند که به روشنی نشان میدهند، طرفداران این سبک، شکلهای ساده، فونتهای درشت و صریح با سطح خوانایی بالا، هارمونی و هندسه بر مبنای جزییات، تصویرسازهای مسطح و سلسلهمراتب بصری روشن را ترجیح میدهند. این سبک به سرعت در کشورهای مختلف محبوب شد و حیات جدیدی در هنر قرن بیست و یکم یافت. در این مطلب آموزشی می خواهیم طراحی فلت را تعریف و ۲ مثال زیبا از ابتدا تا انتها مشاهده کنیم. در ادامه به بررسی سوالات متداول شما درباره design pattern در پایتون میپردازیم. این فلت روی مدار باتری متصل شده و به کمک آی سی خازن مقدار ولتاژ و ورود جریان برق به برد و باتری را کنترل میکند. ایجاد محیطی با ارزش های انسانی، توسعه محصولات مالی کارامد برای میلیون ها کاربر و استفاده از فناوری های به روز از مواردی هستند که در آسا به آن ها می بالیم.
فلت دوربین، پشت دوربین گوشی قرار دارد که با اتصال به مادر برد کار میکند. ورود مایعات به داخل لنز دوربین علاوه بر سوختن خود دوربین موجب آسیب رسیدن به آن نیز خواهد شد. در این قسمت از موبایل از دو نوع مدار آنتن دهی و محور مجاور آنتن دهی تشکیل شدهاست. وظیفه هردو ایجاد اتصال از شبکه به قسمت برد و تقویت آنتن دهی هنگام مکالمه میباشد. در صورتی که اپلیکیشن فیلو را نصب کرده اید؛ برای تماشا یا دانلود این ویدیو وارد اپلیکیشن شده، از منو گزینه اسکن را انتخاب کرده و کد زیر را اسکن کنید.
یکی از مثالهای رایج برای یادگیری یک زبان جدید در دنیای برنامه نویسی ساخت برنامه «سلام دنیا» (Hello World) است. بنابراین، آموزش ساخت اپلیکیشن موبایل با فلاتر را در این بخش با ساخت اپلیکیشن Hello World آغاز خواهیم کرد. در ادامه نیز این اپلیکیشن را با افزودن بخشها و کارکردهای مختلف گسترش خواهیم داد. خروجی حاصل از اجرای دستورflutter doctor در تصویر بالا نشان داده شده است. این دستور همانند یک پزشک تمام ابزارهای مورد نیاز برای ساخت اپلیکیشن موبایل با فلاتر را بررسی کرده و گزارشی ویژه را ارائه میدهد. علاوه بر این، با اجرای دستورflutter doctor -v میتوان جزئیات بیشتری را در این گزارش دریافت کرد.
برای امکان اجرای فلاتر از طریق خط فرمان ویندوز باید مسیر نصب آن در Path در بخش «متغیرهای محیطی» (Enviroment Variable) مشخص شده باشد. فلاتر (Flutter) فریمورک «اوپن سورسی» (منبع آزادی) است که توسط گوگل در سال ۲۰۱۷ میلادی (۱۳۹۶ شمسی) توسعه یافت. هر چیزی که شما در روند طراحی تصاویر فلت با آن سر و کار دارید باید یک هدف را دنبال کند. از طرفی دیگر تصاویری نیز وجود دارند مانند آیکونها که میتوانند هدف و نقشی همگانی داشته باشند. این تصاویر برای همه تقریبا مفهوم یکسانی دارند و میتوانند قابل فهم باشند.
هدف در این طراحی این بود که همه چیز را سادهتر و به شکلهایی کلاسیکتر نمایش دهیم. همه مزیتها واقعیاتی که در بخشهای فوق در خصوص طراحی فلت اشاره کردیم، به این معنی نیست که این استایل بر دیگر رویکردهای طراحی فائق آمده است. با این حال طراحی فلت چشماندازهای جدیدی به طور خاص در زمینه تعادل هارمونیک زیبایی و کارکردی ایجاد کرده است. در ادامه این مقاله به زمینه خاصی از طراحی فلت خواهیم پرداخت که شامل فلت موشن (Flat Motion) میشود. این نوع از تصویرسازی حمایتی اضافی برای محصولهای دیجیتال ارائه میکند و عموماً از نظر دادهنمایی و رفع نیازهای زیباییشناختی کاربر پیچیدهتر است و همزمان با تم خاصی نیز ارتباط برقرار میکند. کابل نواری تخت 4 رشته ی معروف به RGB برای استفاده در طیف وسیعی از کاربردها، از جمله نصب روشنایی LED مانند نصب نور نواری LED سفید یا تک رنگ، نصب نور نوار LED، رادیو CB، تجهیزات استریو/صدا و سایر لوازم کم ولتاژ بهینه شده است.
برنامه نویسی کامپیوتر دانشگاه