Vue.js چیست و چه کاربردی در طراحی وب دارد ؟
برنامهنویسی کامپیوتر، با وجود پیشرفتهای چشمگیر سالهای اخیر، همچنان فرآیندی زمانبر و چالشبرانگیز باقی مانده است. هرچند ابزارها و روشهای نوین توسعه پیدا کردهاند، اما نیازهای کاربران و پیچیدگی پروژهها با سرعت بیشتری رشد کردهاند. به همین دلیل، تلاش برای سادهسازی فرآیند تولید نرمافزار و کاهش زمان و مهارت مورد نیاز، همچنان ادامه دارد.
در زمینهی رابط کاربری، کتابخانههای متعددی منتشر شدهاند که هدف آنها سادهسازی فرآیند دریافت و نمایش اطلاعات به کاربر است. از جمله این کتابخانهها میتوان به jQuery اشاره کرد که زمانی بسیار محبوب بود. امروزه اما کتابخانهها و فریمورکهای مدرنتری مانند React (توسعهیافته توسط فیسبوک)، Angular (توسعهیافته توسط گوگل) و Vue.js نیز به همین منظور مورد استفاده قرار میگیرند و امکانات گستردهتری ارائه میدهند.
در این نوشته، با یکی از کتابخانههای رایگان و پرطرفدار برای ساخت رابط کاربری نرمافزارهای هوشمند تحت وب، یعنی Vue.js، آشنا میشویم.
کتابخانه رابط کاربری چیست؟
در گذشته، ساخت نرمافزارهای هوشمند و کارآمد تحت وب با استفاده از جاوااسکریپت یا jQuery نیازمند نوشتن حجم زیادی از کدهای پیچیده و تخصصی بود. همین موضوع، یافتن متخصصانی که بتوانند با این روشها نرمافزارهای باکیفیت تولید کنند را به کاری سخت تبدیل کرده بود.
کتابخانههای رابط کاربری مانند React، Angular و Vue.js با پنهانسازی پیچیدگیها پشت لایهای از کدهای ساده و قابل فهم، فرآیند توسعه رابط کاربری را آسانتر و سریعتر میکنند. همچنین به دلیل توسعه و پشتیبانی توسط جامعه بزرگی از برنامهنویسان، این کتابخانهها از مرورگرها و دستگاههای مختلف به خوبی پشتیبانی میکنند و بسیار قابل اعتماد هستند.
نرمافزار هوشمند تحت وب چیست؟
نرمافزارهای سنتی تحت وب برای هر کلیک یا انجام برخی عملیاتها نیاز به بارگذاری مجدد صفحه داشتند. با معرفی فناوری AJAX، امکان بهروزرسانی بخشهایی از صفحه بدون نیاز به رفرش کامل فراهم شد. اما توسعه نرمافزارهای مدرن و هوشمند تحت وب، مانند آنچه در وبسایتهایی نظیر Gmail مشاهده میشود، بدون استفاده از کتابخانههای رابط کاربری نسل جدید بسیار دشوار و زمانبر است.
یک نرمافزار هوشمند تحت وب، پس از بارگذاری اولیه، اکثر یا تمام تعاملات کاربر را بدون نیاز به تازهسازی (Refresh) صفحه انجام میدهد و اطلاعات را از طریق فناوریهایی مانند AJAX یا روشهای جدیدتر (مانند Fetch API یا WebSocket) با سرور رد و بدل میکند.
شروع به کار با Vue.js
برای ایجاد اولین نرمافزار هوشمند تحت وب، فایل جاوااسکریپت Vue.js را به صورت زیر در صفحهی وب خود درج کنید:
1 |
<script src="https://unpkg.com/vue/dist/vue.js"></script> |
نخستین ویژگی کتابخانههای رابط کاربر، تعریف متغیرهایی درون محتوای صفحه و اتصال آنها به نرمافزار است. با هر تغییر در متغیرهای نرمافزار، متغیرهای نمایشی قرار گرفته در صفحه نیز به صورت خودکار بهروزرسانی میشوند. در قطعه کد ادامه، یک متغیر به نام message در صفحه قرار میدهیم و با استفاده از Vue.js محتوای آن را تغییر خواهیم داد:
1 2 3 |
<div id="app"> {{ message }} </div> |
ایجاد یک Application یا نرمافزار تحت وب با اجرای قطعه کد جاوااسکریپت زیر فراهم خواهد بود:
1 2 3 4 5 6 7 8 |
<script> var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) </script> |
اگر کدهای بالا را به درستی در صفحه ثبت کرده باشید، با اجرای فایل ساخته شده، میبایست عبارت «Hello Vue» را در مرورگر مشاهده نمایید.
تعریف متغیر برای تغییر صفتهای عنصرها
چنانچه بخواهید صفتها( Attribute )های عناصر صفحه مانند یک div یا span را تغییر دهید، کدهای لازم میبایست به شکل زیر نوشته شوند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<div id="app-2"> <span v-bind:title="span_title"> تغییر صفت عنصر </span> </div> <script> var app2 = new Vue({ el: '#app-2', data: { span_title: 'زمان بارگزاری صفحه: ' + new Date() } }) </script> |
خواندن و نوشتن متغیرها
برای خواندن یا جایگزین کردن متغیرها، کافی است به صورت معمول از دستورات جاوااسکریپت استفاده نمایید:
1 2 3 4 |
<script> app2.span_title = 'new title'; alert( app2.span_title ); </script> |
مدلها
مقداردهی به متغیرها، علاوه بر کدهای جاوااسکریپت با استفاده از فیلدهای فرم HTML نیز امکانپذیر است. در قطعه کد زیر، مقداردهی به متغیر message را به یک فیلد متنی متصل میکنیم و کنترل آن را در اختیار کاربر قرار میدهیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<div id="app-3"> <p>{{ message }}</p> <input type="text" v-model="message"> </div> <script> var app3 = new Vue({ el: '#app-3', data: { message: 'Hello Vue!' } }); </script> |
امکانات پیشرفتهتر در Vue.js
دامنهی عملکردهای Vue.js محدود به تعریف و تغییر متغیرها و تعریف مدلها نیست. امکانات پیشرفتهتری مانند نمایش شرطی، حلقهها و کامپوننتها، از جمله ابزارهای دیگری هستند که برنامهنویسی سیستمهای پیشرفته تحت وب را به کاری آسان و سریع تبدیل میکنند. برای کسب اطلاعات بیشتر میتوانید به مستندات Vue.js مراجعه کنید.
نرمافزارهای هوشمند و سئو
با پیشرفت فناوریهای وب و افزایش استفاده از کتابخانههای رابط کاربری مانند Vue.js، توجه به سئو در توسعه نرمافزارهای هوشمند تحت وب اهمیت ویژهای پیدا کرده است. هرچند موتور جستجوی گوگل اکنون توانایی پردازش و ایندکس کردن محتوای تولیدشده توسط جاوااسکریپت را دارد، سایر موتورهای جستجو هنوز در درک و نمایش محتوایی که به صورت پویا و از طریق فناوریهایی مانند AJAX یا Fetch API بارگذاری میشود، محدودیتهایی دارند.
حتی در مورد گوگل نیز، برای اطمینان از ایندکس صحیح صفحات و تمایز میان محتوای مختلف، لازم است تغییر نشانی (URL) صفحات به صورت پویا و اصولی مدیریت شود تا هر بخش از سایت دارای یک آدرس یکتا و قابل شناسایی باشد. این کار از طریق پیادهسازی روتینگ سمت کلاینت و استفاده از تکنیکهایی مانند Server-Side Rendering (SSR) یا Static Site Generation (SSG) انجام میشود که به موتورهای جستجو امکان دسترسی بهتر به محتوای سایت را میدهد.
در نتیجه، اگر هدف از توسعه نرمافزار تحت وب، بهبود سئو و دیده شدن در نتایج جستجو است، نباید تمامی عملکردهای سایت را تنها به کتابخانههای رابط کاربری و بارگذاری پویا محدود کرد. لازم است در کنار استفاده از این کتابخانهها، پیشبینیهای لازم برای بهینهسازی سئو مانند تولید صفحات قابل ایندکس، بهبود ساختار URLها، و افزایش سرعت بارگذاری انجام شود.
کتابخانههای مشابه
در ادامه، فهرستی از شناختهشدهترین جایگزینهای Vue.js را معرفی میکنیم. هر یک از این کتابخانهها نقاط قوت و ضعف خودشان را دارند و انتخاب مناسب، نیازمند بررسی دقیق نیازهای پروژه و مقایسه امکانات آنهاست:
برای آشنایی بیشتر با چند کتابخانهی سبک دیگر مشابه Vue و React اینجا کلیک کنید.