عضویت در خبرنامه

با عضویت در خبرنامه از آخرین مقالات اطلس ساختار داده باخبر شوید

عضویت
arrow_backward بازگشت

اهمیت جاوا اسکریپت (Javascript) در طراحی سایت مدرن

 احتمالا در ذهنتان تخمینی از میزان محبوبیت جاوا اسکریپ (Javascript) دارید ، اما حقیقت اینست ؛ در سال 2017 بیش از 94% از تمامی وب سایت ها در سرتاسر جهان از این زبان اسکریپتی استفاده می کنند ! آیا همین آمار اهمیت جاوا اسکریپت را نشان نمی دهد ؟

این زبان برنامه نویسی سمت کاربر یا client-side programming language با افزودن قابلیت های داینامیک و تعاملی (Interactive) به وب سایت ، عملکرد و زیبایی سایت را بشدت ارتقاء می دهد . همچنین توسعه دهندگان وب با استفاده از موتورهای پلت فرم چندسکویی (Cross-platform runtime engines) مانند Node.js می توانند کدهای سمت سرور (Server-side code) را نیز توسط جاوا اسکریپت بنویسند . علاوه بر این با افزودن جاوا اسکریپت به HTML5 و CSS3 می توان وب سایت هایی طراحی کرد که در تمامی مرورگرها ، پلت فرم ها و دستگاهها به زیبایی نمایش داده شوند . کلی مزیت دیگر هم وجود دارد که طراحان سایت را ترغیب می کند که به استفاده از جاوا اسکریپت روی بیاورند .

 

چرا نمی توان بدون استفاده از جاوا اسکریپت از عهده ساخت وب سایت های مدرن بر آمد ؟


پیاده سازی اسکریپت های سمت کاربر (Client-Side Scripts)

هدف اولیه سازندگان جاوا اسکریپت ، ایجاد یک زبان اسکریپتی سمت کاربر بود همانطور که هم اکنون درصد زیادی از وب سایت ها از آن به عنوان یک زبان برنامه نویسی کلاینت ساید استفاده می کنند . توسعه دهندگان و طراحان سایت به راحتی می توانند اسکریپت های دلخواه خود را نوشته و آنها به تگ های HTML اضافه کنند . با این کار وب سایت ها بدون استفاده بی رویه از منابع سرور تعاملی شده (Interactive) و نسبت به فعالیت های کاربر بخوبی واکنش نشان می دهند .

 

نوشتن کدهای سمت سرور (Server-Side Code)

توسعه دهندگان وب ، می توانند با استفاده از cross-platform runtime engine هایی مانند Node.js کدهای سمت سرور را نیز توسط جاوا اسکریپت بنویسند . Node.js به عنوان ی محیط اجرا سمت سرور چندسکویی طراحی شده است . Node.js کدهای جاوااسکریپت را بخوبی توسط موتور Google V8 JavaScript اجرا می کند . کتابخانه گنجانده شده در Node.js برنامه نویسان را قادر می سازد که اپلیکیشن های تحت وب را بدون اتکا به وب سرورهای خارجی (external web servers) اجرا کنند . با Node.js قابلیت نوشتن اسکریپت های سمت سرور و سمت کاربر ، هردو فراهم است.

 

ساده سازی توسعه برنامه های تحت وب پیچیده

اگرچه جاوا اسکریپت یک زبان برنامه نویسی تفسیرشده (interpreted) است ، می تواند به توسعه دهندگان این امکان را بدهد که با ساده کردن ترکیبات پیچیده برنامه های کاربردی ، به سادگی این برنامه ها را بنویسند . برنامه نویسان با استفاده از کتابخانه های جاوا اسکریپت می توانند shadow DOM boundaries بسازند . Shadow DOM علاوه بر ساده سازی ساختار برنامه های تحت وب ، به جداکردن ترکیبات کتابخانه های جاوا اسکریپت کمک شایانی می کند . همچنین Shadow Dom باعث می شوند مرورگرها ، داکیومنت هایی که بطور وسیع از تگ هایی مانند div ، select ، input استاده می کنند را بخوبی به کاربر نشان دهند .

 

MEAN stack

توسعه دهندگان با استفاده از قدرت MEAN که از چهار جزء MangoDB ، Express.js ، Angular.js و Node.js تشکیل شده می توانند به راحتی برنامه های تحت وب و وب سایت های پیشرفته ای بسازند . MangoDB یک بانک اطلاعاتی NoSQL مدرن و بی نظیر است ، Angular.js فریم ورکی از جاوا اسکریپت است که توسط Google پشتیبانی می شود . Node.js یک پلتفرم چند سکویی (cross-platform) و محیط اجرا سمت سرور است ، همچنین Express.js طراحی شده که با آن وب سایت های تک صفحه و چندصفحه ای به سادگی ایجاد شوند . این چهار جزء MEAN stack به توسعه دهندگان وب کمک می کند که کدهای سمت سرور و سمت کاربر را توسط جاوا اسکریپت ایجاد کنند .

 

طراحی وب سایت ریسپانسیو (Responsive)

امروزه تقریبا تمامی توسعه دهندگان وب سایت های خود را ریسپانسیو طراحی می کنند که در تمامی مرورگرها ، سایزها و دستگاه ها بخوبی دیده شوند . در حقیقت ریسپانسیو ساختن وب سایت راهی است برای اینکه با یک سری کد باعث شویم ، وب سایت در دستگاه های دسکتاپ و موبایل بخوبی نمایش داده شود . طراحان وب سایت برای این کار باید از ترکیب HTML5 ، CSS3 و javascript استفاده کنند ، جاوا اسکریپت برای بهینه کردن نمایش وب سایت برای دستگاه های موبایل نقش عمده ای ایفا می کند .

پروژه Google AMP

گوگل ، پروژه ای را بنام accelerate Mobile Pages و یا AMP آغاز کرده که توسط آن ، دستگاههای موبایل متفاوت هنگام مرور وب سایت هایی که از این تکنولوژی استفاده می کنند تجربه کاربری (user experience) فوق العاده ای ارائه می کنند . گوگل برای افزایش سرعت بارگذاری این صفحات در موبایل از چندین تکنیک بهینه سازی استفاده می کند . تکنولوژی AMP برای پیاده سازی در وب سایت ها باید با HTML5 ، CSS3 و javascript ترکیب شود که در این میان کدهای جاوا اسکریپت تاثیر به سازایی در کارکرد و تاثیرگذاری تکنولوژی AMP دارند .

 

Transpiler ها

جاوا اسکریپت ، یک زبان برنامه نویسی سبک است . این زبان بعضی ازساختارهای اساسی را که زبان های مدرن مانند Java و C# ارائه می کنند را ندارد . اما این نقیصه جاوا اسکریپت به راحتی توسط Transpiler هایی مانند CoffeeScript ، TypeScritp ، DukeScript و Vaadin حل می شود . این transpiler ها توسعه دهندگان را قادر می سازند که پیش نیازهای لازم برای ساخت وب سایت ها و برنامه های تحت وب بزرگ و پیچیده را در اختیار داشته باشند .

 

فریم ورک ها و کتابخانه های بیشمار

توسعه دهندگان وب با استفاده از تعداد زیادی فریم ورک و کتابخانه های جاوا اسکریپت که وجود دارند براحتی می توانند قابلیت های این زبان را افزایش دهند . کتابخانه های غنی جاوا اسکریپت مانند AngularJS و Ember توسعه دهندگان وب را قادر می سازند بدون نوشتن کد اضافی ، قابلیت های پیچیده ای به وب سایت خود بیافزایند . در عین حال ، کتابخانه های جمع و جوری مانند React.js برنامه نویسان را در انجام کارهای خاص یاری می کنند . سازندگان وب سایت و برنامه های تحت وب با استفاده از ابزارهای متن بازی مانند NPM ، می توانند تمامی کتاب خانه های جاوا اسکریپت مورد استفاده در یک وب سایت را به طور موثری نصب و مدیریت کنند .

 

در حال تکامل بودن

همانطور که ذکر شد ، جاوا اسکریپت فاقد برخی امکاناتی است که زبان های برنامه نویسی مدرن ارائه می کنند است مانند قابلیت چندریسمانی (multhithreading) و یا read/write option . اما خبر خوب اینست که جاوا اسکریپت بطور پیوسته در حال تکامل برای ایجاد قابلیت های ضروری و مورد نیاز کاربران است . برای مثال ، ECMAScript 6 که آخرین ورژن جاوا اسکریپت است ، با استفاده از چندین کلاس ، ماژول ، module loader ، generator و symbol های جدید ساختن وب سایت های و برنامه های تحت وب پیچیده را آسان می کند و البته پشتیبانی Unicode و Reflect API را نیز فراموش نکنید !

برنامه نویسان و طراحان وب امروزی برای بهینه سازی تجربه کاربری مراجعانی که با دستگاه ها ، سیستم عامل ها و مرورگرهای مختلف به وب سایتشان مراجعه می کنند باید از جاوا اسکریپت استفاده کنند . در عین حال این توسعه دهندگان باید با کتابخانه های مختلف جاوا اسکریپت ، فریم ورک های و ابزارهای آن نیز آشنایی کامل داشته باشند . برای برآوردن نیازهای پروژه های بزرگ وب ، توسعه دهندگان می توانند چندین کتاب خانه و فریم ورک متفاوت جاوا اسکریپت را نیز با هم ترکیب کنند .