Sokan Academy

✨ توجه: تمرینات دوره، در مخزن گیت سکان آکادمی بارگذاری شده‌اند و شما می‌توانید به راحتی به آن‌ها دسترسی داشته باشید و کد‌های خود را با کدهای مدرس دوره مقایسه کنید. برای مشاهده مخزن می‌توانید اینجا کلیک کنید.

زبان اسکریپتی به چه معناست؟

جاوا اسکریپت (JavaScript) یک زبان اسکریپتی است؛ به این معنا که کدهای جاوا اسکریپت داخل یک فایل متنی نوشته می‌شوند که به این کدها «اسکریپت» گفته می‌شود. این فایل با یک فرمت مشخص ذخیره می‌شود که برای جاوا اسکریپت پسوند آن js. (دات جی اس) است. این فایل اسکریپت برای اجرا شدن، به یک مفسر جاوا اسکریپت سپرده می‌شود. مفسر در هر بار اجرای اسکریپت، کدها را تفسیر کرده و برای کامپیوتر قابل فهم می‌کند.

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

جاوا اسکریپت زبان برنامه‌نویسی مخصوص وب است یعنی اصلی‌ترین کاربرد آن در توسعه وب‌سایت‌ها و وب‌اپلیکیشن‌ها است. در مرحله اول، اسکریپت‌های این زبان در مرورگرهای وب اجرا می‌شوند و مهم‌ترین این مرورگرها Google Chrome، Firefox، Safari و حتی Internet Explorer هستند. 

محبوبیت جاوا اسکریپت

جاوا اسکریپت محبوب‌ترین و پرکاربردترین زبان برنامه‌نویسی وب در دنیا است و در عین حال، یادگیری نسبتاً ساده‌ای دارد.

برای نمونه، طبق یک نمودار مربوط به محبوب‌ترین زبان‌های برنامه‌نویسی میان کاربران GitHub در سال ۲۰۲۰، جاوا اسکریپت بیشترین امتیاز را کسب کرده است. همچنین بر اساس آمار منتشرشده از سایت Statista، جاوا اسکریپت در سال ۲۰۲۱ به‌عنوان پرکاربردترین زبان برنامه‌نویسی میان توسعه‌دهندگان جهان معرفی شده است.

طبق نمودار جاوا اسکریپت محبوب‌ترین زبان برنامه‌نویسی میان کاربران GitHub است

تاریخچه جاوا اسکریپت

نخستین نسخه جاوااسکریپت در سال ۱۹۹۵ معرفی شد. هدف از ایجاد این زبان برنامه نویسی، افزودن رفتارهای تعاملی به صفحات وب بود. به‌عبارت دیگر، در کنار HTML که ساختار یک وب‌سایت را تعیین می‌کند و CSS که ظاهر و سبک آن را مشخص می‌سازد، جاوا اسکریپت معرفی شد تا امکان تعریف رفتار و تعامل سایت با کاربر فراهم شود.

در سال ۱۹۹۷ زبان جاوا اسکریپت توسط سازمانی با نام ECMA International استاندارد شد. نسخه استانداردشده این زبان با عنوان ECMAScript معرفی شد و از آن زمان این نام، نسخه رسمی و استاندارد جاوا اسکریپت محسوب شد. علت این استانداردسازی این بود که جاوااسکریپت قرار بود روی تمام مرورگرهای وب اجرا شود و مرورگرهای مختلفی توسط شرکت‌های گوناگون وجود داشت؛ بنابراین توسعه‌دهندگان باید زبانی با استاندارد مشخص در اختیار می‌داشتند تا اسکریپت‌های آنها روی همه مرورگرها رفتاری یکسان و قابل پیش‌بینی داشته باشد.

در سال‌های مختلف، سازمان ECMA به‌روزرسانی‌ها و اصلاحاتی روی ECMAScript انجام داده و نسخه‌های جدیدی منتشر کرده است. هر نسخه دارای نام و شماره مشخصی است و امکانات جدیدی به زبان جاوا اسکریپت اضافه می‌کند.

نسخه ششم  ECMAScript، که به اختصار ES6 و با نام ECMAScript 2015 شناخته می‌شود، تحولی بزرگ در دنیای جاوا اسکریپت ایجاد کرد. تغییرات و اصلاحات این نسخه به قدری گسترده و مؤثر بود که ES6 به دومین بازنگری مهم ECMAScript تبدیل شد. از سال ۲۰۱۵ به بعد، مرورگرها شروع به سازگاری با این استاندارد جدید کردند. برای مثال، مرورگرهایی مانند Chrome 58 به بعد و Safari 10 به بعد از تمام قابلیت‌های ES6 پشتیبانی کامل می‌کنند.

پشتیبانی مرورگرها از ES6 یا همان اکمااسکریپت ۶

کتابخانه‌ها و فریم‌ورک‌های جاوا اسکریپت

کتابخانه‌ها

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

فریم‌ورک‌ها

مفهوم دیگری که در کنار کتابخانه‌ها مطرح است، فریم‌ورک (Framework) است. فریم‌ورک را می‌توان این‌گونه تعریف کرد: یک چهارچوب برنامه‌نویسی که به توسعه‌دهنده کمک می‌کند محصول خود را به‌صورت نظام‌مند و با ساختار مشخص ایجاد کند. فریم‌ورک‌ها مبتنی بر یک زبان برنامه‌نویسی خاص هستند؛ برای مثال، فریم‌ورک‌های جاوا اسکریپت بر پایه زبان جاوا اسکریپت توسعه یافته‌اند.

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

  • کتابخانه React
  • فریم‌ورک‌ها: Angular ، Vue.js

این سه مورد، پایه‌ای برای توسعه فرانت‌اند هستند و توصیه می‌شود توسعه‌دهندگان با کاربردها، تفاوت‌ها و میزان استفاده از آن‌ها آشنا شوند.

👈 برای اطلاعات بیشتر در مورد کتابخانه‌ها و فریمورک‌های جاوااسکریپت، حتما به مقاله‌ی مقایسه دقیق بهترین فریم ورک های جاوا اسکریپت در سایت سکان آکادمی مراجعه کنید.

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

۱. توسعه وب‌سایت‌ها و وب‌اپلیکیشن‌ها

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

  1. نمایش و تعامل با کاربر - فرانت اند: بخشی که کاربر آن را مشاهده می‌کند، داده دریافت می‌کند و داده‌ای را مشاهده یا ارسال می‌کند.
  2. سمت سرور یک سایت - بک اند: بخشی که داده‌ها در آن ذخیره و تحلیل می‌شوند و منطق برنامه را مدیریت می‌کند.

در سمت فرانت اند، نقش هر زبان برنامه‌نویسی به صورت زیر است:

  • HTML : ساختار ظاهر سایت را ایجاد می‌کند.
  • CSS : ظاهر و سبک سایت را مشخص می‌کند.
  • JavaScript : عملکرد و تعاملات سایت را بر عهده دارد؛ یعنی رفتار سایت در ارتباط با کاربر را مدیریت می‌کند.
جاوااسکریپت همراه با HTML و CSS ، بخش فرانت اند یک سایت را می‌سازد
جاوااسکریپت همراه با HTML و CSS ، بخش فرانت اند یک سایت را می‌سازد

۲. کاربرد جاوا اسکریپت در سمت سرور

همان‌طور که گفته شد، وب‌سایت‌ها از دو بخش اصلی تشکیل شده‌اند: سمت کاربر (Front-end) و سمت سرور (Back-end). سمت سرور بخشی است که داده‌های دریافت‌شده از کاربر را پردازش می‌کند، با سایر سرورها و پایگاه‌های داده ارتباط برقرار می‌کند و عملکردهای متنوع دیگری را انجام می‌دهد.

در گذشته، جاوا اسکریپت تنها قابلیت اجرا روی مرورگرها را داشت و نمی‌توانست سمت سرور فعالیت کند. اما با توسعه محیطی به نام Node.js، امکان برنامه‌نویسی به جاوا اسکریپت در سمت سرور فراهم شد. Node.js یک Runtime Environment است که به توسعه‌دهندگان اجازه می‌دهد بدون نیاز به مرورگر، اسکریپت‌های JavaScript را اجرا کنند و برنامه‌های سمت سرور را توسعه دهند.

۳. توسعه نرم‌افزارهای موبایل با React Native

یکی دیگر از کاربردهای جاوا اسکریپت، توسعه نرم‌افزارهای موبایل است. فریم‌ورک React Native به توسعه‌دهندگان امکان می‌دهد با استفاده از جاوا اسکریپت، یک برنامه موبایل بنویسند که هم روی android و هم ios اجرا شود. این قابلیت، سرعت توسعه و بازدهی بالای پروژه‌های موبایل را تضمین می‌کند و دلیل اصلی محبوبیت React Native است.

۴. توسعه بازی‌های کامپیوتری

جاوا اسکریپت در توسعه بازی‌های کامپیوتری نیز کاربرد دارد. برای ایجاد گرافیک و رابط‌های تعاملی بازی، از قابلیت‌های جاوا اسکریپت در ترکیب با Canvas در HTML5 استفاده می‌شود. این ترکیب امکان پیاده‌سازی نماها و تعاملات بصری جذاب در بازی‌ها را فراهم می‌کند. به عنوان مثال، بازی‌هایی مانند "پل کرفت" (Pulkraft) با استفاده از JavaScript توسعه یافته‌اند و نمونه‌ای از قابلیت‌های این زبان در بازی‌سازی محسوب می‌شوند.

جاوا اسکریپت در توسعه بازی پل کرفت (Pulkraft)

۵. تولیدات گرافیکی و انیمیشن

یکی دیگر از کاربردهای جاوا اسکریپت در تولید گرافیک و انیمیشن‌های تعاملی است. مشابه بازی‌سازی، برای این منظور از قابلیت‌های Canvas در HTML5 نیز استفاده می‌شود. همچنین، کتابخانه‌هایی مانند p5.js امکان ایجاد تصاویر و جلوه‌های گرافیکی متنوع را فراهم می‌کنند. به کمک این کتابخانه‌ها می‌توان آثار گرافیکی پیچیده و تعاملی تولید کرد.
ایجاد جلوه گرافیکی با استفاده از جاوا اسکریپت و کتابخانه p5.js

۶. یادگیری ماشین

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

کتابخانه تنسورفلو مبتنی بر جاوا اسکری\ت برای توسعه یادگیری ماشین

۶. توسعه بلاکچین با جاوااسکریپت

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

  • ethers.js :  بستری برای برنامه‌نویسی و تعامل با بلاک‌چین اتریوم فراهم می‌کند.
  • web3.js : مجموعه‌ای از کتابخانه‌ها که امکان توسعه و تعامل با شبکه‌های بلاک‌چین را فراهم می‌کنند.

این کتابخانه‌ها به توسعه‌دهندگان اجازه می‌دهند پروژه‌های بلاک‌چینی را به‌سادگی و با ساختار مشخص پیاده‌سازی کنند.

دلایل توصیه به یادگیری جاوا اسکریپت

۱. یکی از دلایل اصلی توصیه به یادگیری  جاوا اسکریپت ، گستردگی بازار کار و نیاز روزافزون به توسعه وب‌سایت‌ها و نرم‌افزارهای موبایلی است.

۲. علاوه بر این، جاوا اسکریپت امکان ارائه راهکارهای جامع در توسعه وب را فراهم می‌کند؛ به این معنا که با این زبان می‌توان هم سمت کاربر (Front-end) و هم سمت سرور (Back-end) را توسعه داد و تجربه کامل و یکپارچه‌ای برای کاربران ایجاد کرد.

۳. از سوی دیگر، کاربردهای گسترده و متنوع این زبان، مخاطب را ترغیب می‌کند تا آن را یاد بگیرد و در حوزه‌های مختلف برنامه‌نویسی فعالیت کند.

تمرین

در پایان هر جلسه، تمرین‌هایی ارائه می‌شود که توصیه می‌کنیم حتماً انجام دهید، زیرا تمرین عملی به تثبیت مفاهیم و افزایش مهارت شما کمک زیادی می‌کند. تمرین این قسمت به شرح زیر است:
ما در این قسمت به صورت کلی درباره ساختار وب‌سایت صحبت کردیم، اما فرصت نشد جزئیات کامل را بررسی کنیم. پیشنهاد می‌کنم مقاله‌ای با عنوان «یک وب‌سایت از چه بخش‌هایی تشکیل شده است» را در سایت سکان آکادمی مطالعه کنید. این مقاله دید دقیق‌تری نسبت به بخش‌ها و ساختار وب‌سایت‌ها به شما ارائه می‌دهد.

جمع بندی

در این قسمت با مفاهیم پایه‌ای جاوااسکریپت، تاریخچه و استاندارد ECMAScript و همچنین نقش این زبان در توسعه وب آشنا شدید. کاربردهای گسترده جاوا اسکریپت در فرانت‌اند، بک‌اند، موبایل، گرافیک، بازی‌سازی، یادگیری ماشین و بلاک‌چین بررسی شد و تفاوت کتابخانه‌ها و فریم‌ورک‌های مهم مانند React، Angular و Vue توضیح داده شد.

ES6آموزش جاوااسکریپتjsjavascriptجاوا اسکریپت

sokan-academy-footer-logo
کلیه حقوق مادی و معنوی این وب‌سایت متعلق به سکان آکادمی می باشد.