آشنایی با جاوا اسکریپت (بخش دوم)
در قسمت قبل با جاوا اسکریپت چیست ِDOM و متد های ان ، شی گرایی را یاد گرفتیم در این قسمت میخواهیم درباره زبان های سمت سرور و کاربر ، کاربرد جاوا اسکریپت ، چگونگی کار جاوا اسکریپت ، تاریخچه ان و نقاط قوت و ضعف این زبان صحبت کنیم .
زبان های سمت سرور و سمت کاربر چه تفاوتی هایی دارند؟
پردازش و اجرای برخی زبانها بر روی سرور (سایت) صورت میگیرد و سپس نتیجه به سوی کاربر ارسال میشود. این زبانها برای برقراری ارتباط به نرمافزاری احتیاج دارند که به آن وب سرور گفته میشود. اما نکته جالبی که در مورد زبان JavaScript وجود دارد این است که از این زبان میتوان هم برای برنامه نویسی سمت سرور و هم سمت کاربر استفاده کرد. اما در گذشته قلمروی این زبان تنها به برنامه نویسی سمت کاربر محدود میشد. کدهای زبانهای برنامه نویسی سمت کاربر همانطور که از اسم آن مشخص است در سیستم کاربر پردازش و اجرا میشوند.
کاربرد جاوا اسکریپت در دنیای برنامه نویسی چیست؟
پیشتر به محبوبیت زبان جاوا اسکریپت اشاره کردیم. این محبوبیت بی دلیل نیست چرا که با این زبانِ شی گرا شما قادر خواهید بود تا سایتهای بیروح خود را جان بخشی کنید و با کاربران خود تعامل داشته باشید. یعنی میتوانید فایلهای انیمیشنی، صوتی و تصویری را روی سایت خود به نمایش بگذارید. همچنین میتوانید روی سایتتان تایمر قرار دهید، رنگها را با حرکت موس تغییر دهید و بسیاری کارهای دیگر که باعث جذابیت بیشتر صفحات وب میشوند.
اما این تمام چیزی نیست که جاوا اسکریپت در اختیار شما قرار میدهد. شما با استفاده از این زبان میتوانید شروع به ساخت برنامههای وب و موبایل و دسکتاپ کنید. برای این منظور میتوانید از فریمورکهای مختلف JavaScript که مجموعهای از کتابخانهها را در اختیار شما قرار میدهند استفاده کنید. یکی از کارهای سرگرم کننده دیگری که میتوانید از طریق این زبان انجام دهید، توسعه بازیهای رایانه ای تحت مرورگر است. پس به صورت کلی میتوان کاربردهای زبان جاوا اسکریپت را به صورت زیر بیان کرد :
- برنامه نویسی فرانت اند
- برنامه نویسی بک اند با جاوا اسکریپت
- برنامه نویسی نرم افزارهای موبایل
- برنامه نویسی نرم افزارهای دسکتاپ
جاوا اسکریپت چگونه کار میکند؟
حال که آموختیم زبان جاوا اسکریپت چیست و چه کاربردهایی دارد، شاید این سوال برای شما پیش آمده باشد که جاوا اسکریپت چگونه در مرورگرهای مختلف اجرا میشود؟ جواب این سوال موتورهای پردازشی (Engine) هستند. مرورگرهای مختلف برای اجرای کدهای جاوااسکریپت از موتورهای مختلفی استفاده میکنند که در ادامه به برخی از آنها اشاره میکنیم.
- موتور V8 برای مرورگرهای اپرا و کروم
- موتور SpiderMonkey برای فایرفاکس
- موتورهای Trident و Chakra برای ورژنهای مختلف اینترنت اکسپلورر
- موتور ChakraCore برای مرورگر Edge
- موتورهای Nitro و SquirrelFish برای مرورگر سافاری
این موتورها در ابتدا کدهای جاوا اسکریپت را ترجمه میکنند. سپس اسکریپتها را به زبان ماشین کامپایل میکنند تا در نهایت کدها اجرا شوند. البته این موضوع به این معنی نیست که زبان جاوا اسکریپت تنها بر روی مرورگرهای وب اجرا میشود. این زبان برنامه نویسی تقریبا بر روی تمام پلتفرمها با استفاده از JavaScript Virtual Machine قابل اجرا است.
تاریخچه زبان Java Script چیست؟
جاوا اسکریپت اولین بار در می1995 در 10 روز توسط برندن ایچ، یکی از کارکنان شرکت Netscape متولد شد ! در ابتدا این شرکت به این نتیجه رسیده بود که به صفحات وب پویا و جذابتری احتیاج دارد. این اولین قدم به سوی ساخت زبانی ساده بود. آقای براندان ایچ از طرف این شرکت مامور شد که زبانی اسکریپتی برای صفحات وب و دست بردن در کدهای HTML بسازد. ماموریت آقای ایچ این بود زبانی را ارائه کند که نه تنها متخصصان برنامه نویسی از آن استقبال کنند، بلکه به راحتی مورد استفاده طراحان هم باشد.
این شرکت در ابتدا به فکر ارتقا و ساده سازی زبان Schema افتاد اما در نهایت به این نتیجه رسید که به زبانی شبیه جاوا اما با سینتکس سادهتر احتیاج دارد. در ابتدای کار اسم این زبان برنامه نویسی Mocha بود که بعد به Mona تغییر پیدا کرد. در سپتامبر همان سال اسم این زبان به LiveScript تغییر کرد و در آخر سریال تغییر اسم با انتخاب اسم JavaScript به اتمام رسید.
نهایی شدن این اسم تنها به این دلیل بود که در آن روزها زبان برنامه نویسی Java بسیار پرطرفدار شده بود. انتخاب این نام برای این زبان بسیار هوشمندانه بود. زیرا در آن زمان این زبان با انتخاب این نام، توانست سهم زیادی از بازار جاوا را به خود اختصاص دهد. به هر حال در سال 1996 جاوا اسکریپت برای استاندارد شدن به سازمان ECMA سپرده شد. در نهایت اولین استاندارد جاوا اسکریپت با نام ECMAScript در سال 1997 منتشر شد. اولین اکما اسکریپت ECMA-262 و آخرین ورژن آن با اسم ECMAScript 2017 در ژوئن 2017 منتشر شد.
نقاط قوت زبان جاوا اسکریپت چیست؟
هر یک از زبان هایی که در دنیای برنامه نویسی مورد استفاده قرار میگیرند نقاط قوت و ضعف هایی دارند که زبان جاوا اسکریپت هم از این موضوع مستثنا نیست. این زبان به دلیل مزایای فراوانی که دارد در میان برنامه نویسان از محبوبیت زیادی برخوردار است که به طور خلاصه به برخی از آنها اشاره میکنیم :
- بر اساس بررسی سایت StackoverFlow محبوبترین زبان برنامه نویسی سال 2018 است
- برای پردازش و اجرا به کامپایلر احتیاجی ندارد.
- یادگیری جاوا اسکریپت نسبت به خیلی از زبانهای برنامه نویسی راحتتر است.
- به صورت کراس پلتفورم روی مرورگرها یا پلتفرمهای مختلف اجرا میشود.
- نسبت به زبانهای برنامه نویسی دیگر سبکتر و سریعتر است.
- فریم ورک ها،کتابخانهها و به صورت کلی ابزاره��ی بسیار زیادی را در اختیارتان قرار میدهد.
- زبان بومی مرورگر وب است و در مرورگر کاربران پردازش میشود.
- امکان ایجاد صفحات وب تعاملی و پویا را به برنامه نویسان میدهد.
- در جواب عمل کاربران، عکس العمل نشان میدهد.
نقاط ضعف زبان برنامه نویسی جاوا اسکریپت چیست؟
- برخی از ضعفهای این زبان برنامه نویسی عبارتند از :
- دشواری در تشخیص دلیل خطا دادن و مشکل در دیباگ کردن
- محدودیت در اجرای اسکریپتهای جاوا اسکریپت با ایجاد محدودیت هایی جهت حفظ امنیت
- اجرا نشدن بر روی مرورگرهای قدیمی
- نفوذپذیری نسبت به اکسپلویتها و عوامل مخرب
- می تواند برای اجرای کدهای مخرب در کامپیوتر کاربران استفاده شود.
- با رندر شدن متفاوت بر روی ابزارهای مختلف میتواند باعث ایجاد تناقض و نداشتن یکپارچگی شود.