جاوا اسکریپت چیست؟ مقدمه ای بر Javascript
چه چیزی زبان جاوا اسکریپت را متمایز میکند؟ با استفاده از آن چه کارهایی میتوانیم انجام دهیم؟ و زبان جاوا اسکریپت با چه تکنولوژی های دیگری به خوبی کار میکند؟ در این مقدمه قصد داریم به این سوالات و صدها سوال دیگر از این دست را پاسخ دهیم پس با دوره جاوا اسکریپت نکست همراه باشید.
صفحات وب درگذشته مکان خستهکنندهای برای بازدید کنندگان بود، صفحات وب از HTML ساده تشکیلشده بود و تنها تعامل کاربران در آن صفحات کلیک کردن بر روی لینکها متنی بود تا آنها را به صفحات دیگر منتقل کند، این همه جذابیت وب درگذشتهای نهچندان دور بود. اما امروزه صفحات وب همانند برنامههای دسکتاپ کاملاً تطبیقپذیر هستند و کاربران میتوانند با آن تعاملی کامل و سریع داشته باشند وب جدید همه جذابیت خود را مدیون استفاده از زبان جاوا اسکریپت و کتابخانه های بی نهایت آن است.
جاوا اسکریپت چیست؟
javascript (به اختصار JS ) یک زبان برنامه نویسی شیء گرا است که از آن در توسعه وب سایت ها استفاده می شود. JS یک زبان مفسری تمام عیار برای افزودن پویایی و سرزندگی به کدهای HTML است.
جاوا اسکریپت یک زبان برنامهنویسی است که به شما اجازه میدهد با اضافه کردن انیمیشن، افکتهای بصری و تعاملی به صفحات HTML به زیباتر و پویاتر شدن آن کمک کنید.
به برنامه های نوشته شده در این زبان اسکریپت (script) میگویند، به این دلیل که کدها مستقیما در صفحات HTML قرار گرفته و با بارگذاری صفحه به صورت خودکار اجرا میشوند. اسکریپت ها به صورت متنی ساده نوشته میشوند و برای اجرا نیاز به کامپایلر و تبدیل به فایل خروجی ندارند. به همین دلیل است که جاوا اسکریپت تفاوت های اساسی با زبان جاوا دارد .
چرا این زبان را JavaScript نامیده اند؟
اولین بار که جاوااسکریپت طراحی شد از نامهای ‘Mocha‘ و بعدا ‘LiveScript‘ برای نام گذاری آن استفاده کردند، اما به دلایل تجاری و معروفیت بسیاز زیاد جاوا در آن زمان نام آن را به JavaScript تغییر دادند. در ادامه با رشد JS و فراگیر شدن ، این زبان برنامه نویسی به صورت کاملا مستقل از هر بستر و زبان دیگری با استانداردهای خاص خود ظاهر شد، با این استاندارد سازی عده ای آن را ECMAScript نیز می نامند.
قابلیت های جاوا اسکریپت
امروزه JavaScript تنها در مرورگرها استفاده نمیشود، بلکه از آن در برنامه نویسی سمت سرور نیز استفاده میشود. به طور کلی می توان گفت که کدهای JS را می توان در هر دستگاهی که از ‘the JavaScript engine’ پشتیبانی میکند اجرا کرد.
جاوا اسکریپت در مرورگرها
مرورگرها یک موتور داخلی دارند که آن ماشین مجازی جاوااسکریپت (JavaScript virtual machine) نامیده میشود، که برای مرورگرهای مختلف متفاوت است.
JavaScript در مرورگر یک زبان برنامه نویسی مطمئن است زیرا اجازه دسترسی سطح پایین به حافظه و سی پی یو را نمیدهد.البته چون کدها در مرورگر اجرا می شود نیازی به این سطح دسترسی نیز ندارند. در نسخه وابسته به مرورگر این زبان شما می توانید هر کدی برای بهبود صفحات وب، تعامل با کاربران و مرورگر را اجرا کنید که در لیست زیر نمونه هایی از این قابلیت ها گنجانده شده است.
جاوا اسکریپت صفحات وب را با اعمال بازخوردهای سریعتر برای کاربران قابلاستفادهتر میکند، برای مثال سبد خرید جاوا اسکریپت یک فروشگاه میتواند بهصورت زنده هزینه کلیه خریدها به همراه نرخ مالیات و تخفیف را بدون نیاز به ارتباط با سرور محاسبه و به مشتریان نمایش دهد. همچنین با جاوا اسکریپت میتوانید وقتیکه کاربری سعی در ارسال اطلاعات غلط به سرور دارد به او پیغام خطای مناسب در مکان مناسب و با گرافیک مناسب نشان دهید.
ویژگیهای JavaScript
جاوا اسکریپت به شما امکان ساخت رابط کاربری زیبا، تعاملی و پویا را میدهد. برای مثال با جاوا اسکریپت میتوانید یک صفحه ایستای مملو از عکس را به یک صفحه پویای اسلایدی تبدیل کنید یا میتوانید حجم بیشتری از اطلاعات را بهوسیله ابزارهایی مانند تب و یا چیدمان مخفی در صفحه وب جا دهید این روش در برنامههای دسکتاپ بسیار معمول است. حتی میتوانید اطلاعات مفیدی را در tooltip ها و بخشهای popup قرار دهید تا در شرایطی خاص به کاربر نمایش داده شوند.
یکی دیگر از ویژگیهای بر JavaScript واکنش آنی و سریع آن است با این ویژگی به صفحات وب اجازه میدهید بهصورت آنی به فعالیتهای کاربران مانند کلیک، پر کردن فرم، حرکت دادن موس و … پاسخ مناسب و برنامهریزیشده دهد، همچنین جاوا اسکریپت مشکلات و تأخیر های ناشی از ارتباط با سرور در زبانهای تحت سرور مانند PHP و ASP.NET ندارد. زبانهای طرف سرور برای ارتباط بین مرورگر و سرور طراحیشدهاند یعنی کد در سرور اجراشده و خروجی به مرورگر کاربر ارسال میشود و این باعث تأخیر میشود درحالیکه جاوا اسکریپت در مرورگر اجراشده و تأخیری ندارد و برنامهها را بیشتر شبیه به برنامههای تحت دسکتاپ اجرا میکند تا تحت وب.
چه چیزی Javascript را منحصر به فرد میکند؟
ابزاها و زبان های زیادی در چند دهه اخیر توسعه داده شده اند اما هیچ کدام تا به حال نتوانسته اند جایگزین مناسبی برای جاوا اسکریپت باشند، شاید بتوان دلیل آن را چهارمورد زیر دانست:
جاوا اسکریپت تنها تکنولوژی است که همه اینها را با هم دارد، به علاوه همه اینها با هیمن زبان می توان کدهای طرف سرور و اپلیکیشن های موبایل نیز طراحی کرد.
جاوا اسکرپت چه کارهایی را در مرورگر نمیتواند انجام دهد
تواناییهای جاوا اسکریپت برای امنیت بیشتر کاربر در مرورگر محدود شده است. هدف از این محدودیت جلوگیری از دسترسی به اطلاعات حساس و شخصی کاربران توسط هکرها و کدهای مخرب است. در ادامه مثالهایی از این محدودیتها ارائه شدهاند:
مثال هایی از کاربرد جاوا اسکریپت
اگر تا به حال از نقشه گوگل دیدن کرده باشید درواقع جاوا اسکریپت را در عمل مشاهده کردهاید، این وبسایت یکی از بارزترین نمونههای استفاده از جاوا اسکریپت در صفحات وب است
با نقشه گوگل میتواند شهر خود یا هر مکان دیگری را ببینید و برای دیدن اطلاعات بیشتر بر روی آن zoom کنید و جزئیات خیابانها و حتی محل ایستگاههای اتوبوس را ببینید. قبل از نقشه گوگل سایتهای زیادی برای دیدن نقشهها با روشهای مختلفی وجود داشت و تعدادی از آنها هنوز نیز وجود دارند البته برای نمایش نقشه یک مکان خاص در آنها باید بهدفعات صفحه را مجدداً بارگذاری میکردید، این اتفاق با هر بار zoom کردن و یا تغییر موقعیت نقشه میافتاد که باعث کند شدن آن سایتها میشد درحالیکه شما در نقشه گوگل بدون بارگذاری صفحه میتوانید ساعتها در نقشه سیر کنید و از اطلاعات آن استفاده نمایید.
برنامههایی که شما با JavaScript مینویسید میتواند از باز کردن یک صفحه بهصورت خودکار تا برنامههای تحت وب پیچیدهای مانندGoogle Doc (یکی از ابزارهای آنلاین اخیر گوگل برای مدیریت و ویرایش اسناد که میتوانند نمونه کاملی از مجموعه آفیس مایکروسافت البته بهصورت کامل آنلاین تلقی گردد) که امکان ساخت و ویرایش اسناد، صفحات گسترده، اسلاید و … را برای شما به ارمغان میآورد متغیر باشد
زبانهایی که مادرشان جاوا اسکریپت است
دستورزبان برنامهنویسی جاوا اسکریپت با نیازهای همه سازگار نیست. افراد مختلف ویژگیهای متفاوتی انتظار دارند زیرا پروژه ها و نیازهای همه آنها یکی نیست و متفاوت است. بنابراین، اخیراً تعداد زبانهای جدید ظاهر شدهاند که ریشه آنها js است یعنی کدهای آنها قبل از اجرا در مرورگر به کد جاوا اسکریپت تبدیل میشوند.
نمونه هایی از این زبان ها:
بهتر است حتی برای یادگیری این زبانها نیز قبلا جاوا اسکریپت را یاد بگیریم