آموزش ساخت یک واسط کاربری UI با ویو جی اس Vue.js
آموزش ساخت یک واسط کاربری UI با ویو جی اس Vue.js یکی دیگر از آموزش های گروه آموزشی پرووید می باشد که در این قسمت آن را به شما معرفی می کنیم. این بسته ی آموزشی نیز یکی از دوره های آموزشی دیگر که در حوزه ی فارسی سازی آموزش های انگلیسی تنظیم شده است می باشد. عنوان این بسته ی آموزشی کار با Vue.js و ساخت یک User Interface است که با نام اصلی Vue.js Building an Interface از شرکت Pluralsight منتشر شده است.
Vue.js چیست؟
برنامه نویسان وب اغلب به دنبال انتخاب مناسب ترین تکنولوژی برای پروژه های مختلف خود هستند. یکی از موضوعاتی که برنامه نویسان همواره به آن توجه دارند انتخاب یک تکنولوژی مناسب، برای تولید بهترین نرم افزار و سازماندهی کد به بهترین شکل ممکن است. امروزه فریم ورک ها و کتابخانه های مختلفی برای توسعه وب اپلیکیشن ها در سمت کلاینت معرفی شده اند که بسیاری از آنها بر اساس جاوا اسکریپت کار می کنند. فریم ورک Vue.js به صورت open source و بر اساس جاوا اسکریپت بنا نهاده شده است هدف اصلی Vue.js کمک به برنامه نویسان وب به منظور ساخت UI های برنامه های تک صفحه ای (SPA) و یا single-page application ها می باشد. فریم ورک Vue.js اصطلاحاً progressive می باشد که اجازه می دهد شما بتوانید با سرعت بسیار زیادی application های تک صفحه ای خود را ایجاد کرده و آنها را در قالب کامپوننت های مختلف پیاده سازی کنید. از ویژگی های بسیار جذاب Vue.js قابلیت reactive بودن یا همان واکنش گر بودن آن می باشد که از موضوعاتی از قبیل data binding ها برای انجام چنین کارهایی استفاده می کند. یکی دیگر از اهداف بسیار مهم در فریم ورک Vue.js تفکیک کردن و یا اصطلاحا decouple کردن قسمت های مختلف برنامه از یکدیگر است، تا برنامه نویس بتواند با سرعت بسیار بالایی واسط کاربری و یا user interface برنامه را تشکیل دهد.

اساس کار فریم ورک Vue.js برمبنای کامپوننت ها و شکستن برنامه به قسمت های کوچک تر می باشد. البته دیگر فریم ورک ها و کتابخانه هایی که شبیه به Vue.js عمل می کنند نیز بر اساس همین مفهوم کار میکند. برای مثال می توان از React و Angular در این رابطه نام برده در رابطه با این دو ابزار نیز توصیه میکنیم از آموزش شروع به کار با ری اکت جی اس React.js و آموزش شروع به کار با Angular 2 دیدن کنید. تفاوت اصلی Vue.js با این نوع از فریم ورک ها و کتابخانه ها تاکید زیاد آن بر روی decouple کردن و یا جدا کردن قسمت های مختلف برنامه می باشد. این موضوع به برنامه نویس اجازه می دهد تا بتواند با سرعت بسیار بالاتری به توسعه اپلیکیشن user interface آن بپردازد. همچنین برنامه نویس میتواند قابلیتهای جدید برنامه را پیاده سازی کرده و در قابل قسمت های جداگانه به برنامه اضافه کند. برای مثال، اگر می خواهید یک قابلیت جدید را به برنامه اضافه کنید به سادگی می توان آن را در قالب یک کامپوننت جدید به برنامه اضافه کرد یک برنامه به اضافه شدن کامپوننت های جدید مرتباً رشد میکند و قابلیتهای جدید خود را تشکیل میدهد. کامپوننت های آماده ای نیز در Vue.js وجود دارند که برنامه نویسان مختلف می توانند بر اساس نیازشان آنها را مورد استفاده قرار دهند. سیستم ایجاد کامپوننت ها در Vue.js به صورت واکنشگر و یا reactive عمل می کند. این بدین معناست که Vue.js با استفاده از asynchronous event ها میتواند ارتباط بین child component ها و parent کامپوننت ها در قالب event هایی برقرار کند. در ضمن میتوان از جاوا اسکریپت و HTML و CSS نیز در کنار Vue.js است به بهترین شکل ممکن اتفاق خواهد افتاد.
ساخت رابط کاربری با Vue.js و سازماندهی کامپوننتها
Vue.js یک فریمورک JavaScript برای ساخت رابطهای کاربری است که به توسعهدهندگان امکان میدهد بخشهای مختلف یک صفحه وب را با ساختاری قابل مدیریت پیادهسازی کنند. هنگام ساخت یک رابط کاربری، تقسیم صفحه به قسمتهای کوچکتر میتواند نگهداری و توسعه کد را آسانتر کند. در این رویکرد، هر بخش از رابط میتواند مسئول نمایش یا مدیریت قسمتی از صفحه باشد. آشنایی با این شیوه به شما کمک میکند بهجای نوشتن تمام منطق رابط در یک بخش بزرگ، ساختار منظمتری برای برنامه ایجاد کنید.
در پروژههای وب، رابط کاربری معمولاً از اجزایی تشکیل شده است که در کنار یکدیگر تجربه کاربر را شکل میدهند. استفاده از Componentها در Vue.js این امکان را میدهد که قسمتهای مختلف رابط را جداگانه طراحی و سپس در صفحه اصلی ترکیب کنید. چنین ساختاری هنگام تغییر ظاهر یا رفتار یک بخش، کار را سادهتر میکند؛ زیرا لازم نیست تمام کد رابط را یکجا تغییر دهید. درک این شیوه طراحی برای توسعه رابطهای قابل توسعه و نگهداری اهمیت دارد.
استفاده از Subcomponentها در طراحی رابطهای وب
Subcomponentها کامپوننتهایی هستند که درون کامپوننتهای دیگر مورد استفاده قرار میگیرند. این روش به توسعهدهنده کمک میکند یک رابط کاربری را به لایهها و بخشهای کوچکتر تقسیم کند. برای مثال، یک صفحه میتواند شامل بخش اصلی محتوا، نوار جستوجو و قسمتهای جداگانه برای نمایش اطلاعات باشد. هر قسمت میتواند مسئولیت مشخصی داشته باشد و در صورت نیاز در بخشهای دیگر برنامه نیز استفاده شود. این نوع سازماندهی باعث میشود ساختار رابط روشنتر و تغییرات آن قابل مدیریتتر باشد.
وقتی یک رابط کاربری از چند کامپوننت تشکیل شده باشد، نحوه ارتباط و ترکیب آنها اهمیت پیدا میکند. توسعهدهنده باید بداند هر بخش کجا قرار میگیرد و چگونه در ساختار کلی صفحه مشارکت میکند. استفاده درست از Subcomponentها از بزرگ شدن بیش از حد یک کامپوننت جلوگیری میکند و امکان تمرکز بر وظایف مشخص را فراهم میسازد. این رویکرد در پروژههایی که رابط آنها به مرور پیچیدهتر میشود، به نگهداری بهتر کد و توسعه تدریجی قابلیتها کمک میکند.
مدیریت دادهها و رویدادها در Vue.js
در یک رابط تعاملی، نمایش اطلاعات تنها بخشی از کار است؛ کاربر نیز باید بتواند با عناصر صفحه تعامل داشته باشد و تغییرات مورد انتظار را ایجاد کند. در Vue.js میتوان از دادهها، Methodها و Eventها برای مدیریت این رفتارها استفاده کرد. برای مثال، کلیک روی یک دکمه میتواند یک متد را اجرا کند و باعث تغییر دادهای شود که در رابط نمایش داده میشود. شناخت ارتباط میان داده و رویداد، پایهای برای ساخت رابطهایی است که به رفتار کاربر واکنش نشان میدهند.
Methodها امکان قرار دادن منطق مربوط به عملیات را در بخشهای مشخصی از کامپوننت فراهم میکنند و Eventها نیز راهی برای واکنش به رویدادهایی مانند کلیک یا ورود اطلاعات هستند. وقتی این مفاهیم در کنار ساختار کامپوننتی Vue.js استفاده شوند، میتوان رفتارهای رابط را با نظم بیشتری پیادهسازی کرد. برای نمونه، یک فرم میتواند با دریافت ورودی کاربر، دادههای مرتبط را تغییر دهد و نتیجه را در صفحه نمایش دهد. این الگو در بسیاری از رابطهای وب تعاملی کاربرد دارد.
طراحی Layout و چیدمان صفحات با Vue.js
چیدمان رابط کاربری مشخص میکند اجزای صفحه چگونه در کنار یکدیگر قرار بگیرند و فضای موجود چگونه میان آنها تقسیم شود. در Vue.js، ساختار کامپوننتها میتواند به سازماندهی بخشهای مختلف Layout کمک کند؛ برای مثال، قسمت اصلی صفحه میتواند شامل چند بخش فرزند باشد که هرکدام محتوای مشخصی را نمایش میدهند. جدا کردن ساختار صفحه از جزئیات هر بخش، بررسی و تغییر رابط را سادهتر میکند و به توسعهدهنده امکان میدهد اجزای صفحه را مستقلتر مدیریت کند.
در زمان طراحی Layout باید به رابطه میان ساختار صفحه، محتوای کامپوننتها و رفتار رابط توجه کرد. اگر اجزای صفحه به شکل مناسبی تقسیم شده باشند، تغییر یک بخش لزوماً به بازنویسی تمام رابط نیاز ندارد. این موضوع بهویژه زمانی اهمیت پیدا میکند که رابط از چند قسمت با وظایف متفاوت تشکیل شده باشد. آشنایی با چیدمان در کنار Componentها، Methodها و Eventها به شما کمک میکند تصویری کاملتر از ساخت یک رابط کاربری با Vue.js به دست آورید.
سرفصل مطالب آموزش ویدئویی ساخت یک واسط کاربری (User Interface) با Vue.js
فصل اول: مقدمه دوره آموزشی
- خوش آمدگویی چه چیزی را باید از قبل بدانید؟ استفاده کردن از فایل های پروژه
فصل دوم: شروع به کار با Vue.js
- ایجاد کردن یک اپلیکیشن ساده
- ایجاد کردن یک اپلیکیشن Modular
- بررسی Component Style ها
- بررسی کردن Lifecycle Hook ها
فصل سوم: کارکردن با Subcomponent ها
- ایجاد کردن یک Named Component
- اضافه کردن یک Nested Component
- استفاده کردن از Bootstrap Template ها و Style ها
- استفاده کردن از Computed Property ها
فصل چهارم: تغییر دادن داده ها با استفاده از Method ها و Event ها
- Bind کردن کلاس ها و Trigger کردن Event ها
- Emit کردن Event ها بین Module های ختلف
- حدف کردن Record ها درون یک زنجیره ی عمیق تر
- کار کردن و مدیریت کردن Edit Request ها
فصل پنجم: کار کردن با With Layout
- ساختن یک Search Component
- بررسی Component ها و Watcher ها
- سرچ کردن با استفاده از Proxy Array
- مرتب سازی کردن
- کنترل کردنِ روال مرتب سازی
فصل ششم: جمع بندی
- قدم های بعدی




