جستجو پیشرفته محصولات

جاوا اسکریپت

خواندن این مطلب

6 دقیقه

زمان میبرد!

جاوا اسکریپت

جاوا اسکریپت چیست؟

JavaScript که به اختصار JS نیز نامیده می‌شود، یکی از محبوبترین زبان‌های برنامه نویسی است. جاوا اسکریپت زبانی سطح بالا، داینامیک، شی‌گرا و تفسیری است که از شیوه‌های مختلف برنامه نویسی پشتیبانی می‌کند. از این زبان می‌توان برای برنامه نویسی سمت سرور (Server Side)، اپلیکیشن‌های موبایل، بازی و اپلیکیشن‌های دسکتاپ استفاده کرد. بنابراین می‌توان اینگونه برداشت کرد که زبان برنامه نویسی جاوا اسکریپت ، یک زبان همه فن حریف است.

شی گرایی در جاوا اسکریپت به چه معنی است؟

شی گرایی یک الگو و شیوه تفکر در برنامه نویسی است. رویکرد برنامه نویسی شی گرا از جزء به کل یا پایین به بالا است (Bottom-Up). یعنی در ابتدا واحدهای کوچکی از برنامه ایجاد می‌شوند و با پیوند این واحدهای کوچک به یکدیگر، واحدهای بزرگ‌تر شکل می‌گیرند و به همین ترتیب برنامه کامل‌تر می‌شود. برنامه نویسی شی گرا دو مفهوم کلاس (Class) و شی (Object) را ارائه می‌دهد.

شی گرایی در برنامه نویسی می‌تواند مشکلات زیادی را برای شما حل کند و باعث ساده‌تر شدن فرآیند کدنویسی شود. از آنجایی که مفاهیم شی گرایی به شدت به دنیای واقعی نزدیک است، درک آن برای برنامه نویس آسان خواهد بود. در شی گرایی برخلاف روش‌های کدنویسی دیگر مانند رویه ای به جای دست و پنجه نرم‌کردن با تعداد زیادی متغیر و توابع، مستقیما با اشیا (Objects) کار می‌کنید. برای درک بهتر این موضوع بهتر است با مثالی این مطلب را توضیح دهیم.

کارگاهی را در نظر بگیرید که دارای دستگاه‌های تولیدی مختلف است. این کارگاه را می‌توان به عنوان یک کلاس در نظر گرفت. هر یک از این دستگاه‌ها محصول متفاوتی تولید می‌کنند که می‌توان آن‌ها را به عنوان شی در نظر گرفت. اگر برای محصولات مشکلی پیش بیاید یا اگر بخواهیم تغییر در آن‌ها ایجاد کنیم نیازی به تخریب و از نو ساختن کارگاه نیست.

به عنوان مثال اگر محصول خروجی کیک باشد، زمانیکه بخواهیم کیک شیرین‌تری داشته باشیم لازم نیست تغییری در کارگاه یا دستگاه‌ها ایجاد کنیم، کافیست کمی شکر به خمیر کیک اضافه کنیم. این دقیقا همان اتفاقی است که در برنامه نویسی شی گرا می‌افتد.

زبان‌های سمت سرور و سمت کاربر چه تفاوتی هایی دارند؟

پردازش و اجرای برخی زبان‌ها بر روی سرور (سایت) صورت می‌گیرد و سپس نتیجه به سوی کاربر ارسال می‌شود. این زبان‌ها برای برقراری ارتباط به نرم‌افزاری احتیاج دارند که به آن وب سرور گفته می‌شود. اما نکته جالبی که در مورد زبان JavaScript وجود دارد این است که از این زبان می‌توان هم برای برنامه نویسی سمت سرور و هم سمت کاربر استفاده کرد. اما در گذشته قلمروی این زبان تنها به برنامه نویسی سمت کاربر محدود می‌شد. کدهای زبان‌های برنامه نویسی سمت کاربر همانطور که از اسم آن مشخص است در سیستم کاربر پردازش و اجرا می‌شوند.

جاوا اسکریپت چگونه کار می‌کند؟

حال که آموختیم زبان جاوا اسکریپت چیست و چه کاربردهایی دارد، شاید این سوال برای شما پیش آمده باشد که جاوا اسکریپت چگونه در مرورگر‌های مختلف اجرا می‌شود؟ جواب این سوال موتورهای پردازشی (Engine) هستند. مرورگرهای مختلف برای اجرای کدهای جاوااسکریپت از موتورهای مختلفی استفاده می‌کنند که در ادامه به برخی از آنها اشاره می‌کنیم.

  • موتور V8 برای مرورگرهای اپرا و کروم
  • موتور SpiderMonkey برای فایرفاکس
  • موتورهای Trident و Chakra برای ورژن‌های مختلف اینترنت اکسپلورر
  • موتور ChakraCore برای مرورگر Edge
  • موتورهای Nitro و SquirrelFish برای مرورگر سافاری

این موتورها در ابتدا کدهای جاوا اسکریپت را ترجمه می‌کنند. سپس اسکریپت‌ها را به زبان ماشین کامپایل می‌کنند تا در نهایت کدها اجرا شوند. البته این موضوع به این معنی نیست که زبان جاوا اسکریپت تنها بر روی مرورگرهای وب اجرا می‌شود. این زبان برنامه نویسی تقریبا بر روی تمام پلتفرم‌ها با استفاده از JavaScript Virtual Machine قابل اجرا است.

بازی‌سازی با جاوا اسکریپت

دنیای توسعه بازی هم فضای دیگری است که کاربرد جاوا اسکریپت در آن حسابی به چشم می‌آید، خصوصا بازی‌های موبایل و تحت وب. در حال حاضر انبوهی موتور بازی‌سازی مبتنی بر جاوا اسکریپت داریم که می‌توانید از گیت‌هاب به آن‌ها دسترسی پیدا کنید. از برجسته‌ترین موارد می‌شود به Phaser ،Pixi.js ،melonJS ،kiwi.js و Three.js اشاره کرد.

این موتورها فرایند بازی‌سازی را سریع‌تر و آسان می‌کنند و قابلیت‌های اضافه مانند فیزیک و انیمیشن را نیز در اختیارتان می‌گذارند. ناگفته نماند که بسیاری از وب‌سایت‌های معروف بازی‌های تحت وب مانند 1001Games و Miniclip انبوهی بازی متکی بر جاوا اسکریپت دارند.

از جاوا اسکریپت هم در ساخت بازی‌های دوبعدی و هم بازی‌های سه‌بعدی استفاده می‌شود. علاوه بر این می‌توانید از فریم‌ورک‌های مختلف جاوا اسکریپت برای ساخت بازی موبایل یا حتی دسکتاپ کمک بگیرید. برخی از معروف‌ترین بازی‌هایی که به این زبان نوشته شده‌اند، Tower Building ،2048 ،Bejeweled و Words with Friends نام دارند.

اپلیکیشن‌های تک‌صفحه‌ای با جاوا اسکریپت

از جاوا اسکریپت برای ساخت اپلیکیشن‌های تک‌صفحه‌ای (Single Page Applications | SPA) نیز استفاده می‌شود. SPA در واقع وب اپلیکیشنی است که تنها یک صفحه مبتنی بر HTML را به نمایش درمی‌آورد و محتوا براساس تعاملات کاربر با صفحه به‌روزرسانی می‌شود. SPAها معمولا با فریم‌ورک‌های جاوا اسکریپت مانند AngularJS یا React و یا Vue.js ساخته می‌شوند. جیمیل، گوگل مپس و Airbnb از مشهورترین اپلیکیشن‌های تک‌صفحه‌ای امروزی به حساب می‌آیند.

اما نقش و کاربرد جاوا اسکریپت در توسعه SPA دقیقا چیست؟ Angular.js به عنوان مثال فریم‌ورکی در سمت سرور است که انقیاد داده دوطرفه (Bidirectional Data Binding) را امکان‌پذیر می‌کند. به کمک انقیاد داده، هر زمان که مدل‌ها تغییر می‌کنند، صفحه پیش روی کاربر نیز به‌روزرسانی می‌شود. AngularJS ضمنا می‌تواند هم کنترلر و هم مدل را درون مرورگر کاربر نگه دارد.

ReactJS هم یکی دیگر از فریم‌ورک‌هایی است که در ساخت اپلیکیشن‌های تک‌صفحه‌ای کاربردی ظاهر می‌شود. از جمله مزایای این فریم‌ورک می‌توان به موارد زیر اشاره کرد:

  • رندر کد HTML با استفاده از جاوا اسکریپت
  • تفکیک دغدغه‌ها (Separation of Concerns | SoC)
  • DOM مجازی یا Virtual DOM
  • مقیاس‌پذیری
  • پرفورمنس بالا
  • پارادایم شی‌گرایی

از جاوا اسکریپت برای ساخت رابط‌های کاربری و وب اپلیکیشن‌های گوناگون استفاده می‌شود. کتابخانه‌هایی مانند jQuery نیز ساختن عناصر تعاملی مختلف مانند منوهای کشویی، آکاردئون‌ها و مدل‌ها را آسان می‌کنند.

برخی از مهم‌ترین عناصری که می‌شود با جاوا اسکریپت پیاده‌سازی کرد را در ادامه آورده‌ایم:

  • نقشه‌های تعبیه (Embed) شده درون سایت‌ها که معمولا ساختاری تعاملی دارند
  • سیستم اسکرول سفارشی صفحه با سرعت متغیر
  • انیمیشن‌های پاپ‌آپی که با کلیک روی دکمه‌ها به نمایش درمی‌آیند
  • نمودارها و گراف‌های واکنش‌گرا
  • هیت‌مپ‌هایی که فعالیت کاربران را در لحظه نشان می‌دهند
  • کلیپ‌ها و ویدیوهای انیمیشنی کوتاه

در مجموع اگر بخواهید تجربه کاربری وب‌سایت خود را به شکل چشمگیری بهبود دهید، باید به سراغ جاوا اسکریپت و رابط کاربری تعاملی بروید.

کاربرد جاوا اسکریپت چیست

درباره نویسنده



نظرات کاربران



دیدگاهتان را بنویسید

مطالب مرتبط



جستجو کنید ...

محصولات جدید

دوره مقدماتی تا پیشرفته CSS
تومان
190,000
دوره مقدماتی جاوا اسکریپت
تومان
199,000
دوره مقدماتی تا پیشرفته HTML
رایــگان