این مطلب یکی از مقالات پرونده ویژه«جاوااسکریپت آینده است» شماره 198 ماهنامه شبکه است. علاقهمندان میتوانند کل این پرونده ویژه را از روی سایت شبکه دانلود کنند.
یادگیری جاوا اسکریپت بسیار ساده است. افرادی که در حوزه علوم کامپیوتر دانش اولیه را دارند بهراحتی میتوانند فرآیند یادگیری این زبان را آغاز و بهسرعت بر ویژگیهای عملکردی این زبان تسلط پیدا کنند. تقریباً همگان متفقالقول هستند که جاوا اسکریپت یک زبان کاربرپسند است که بهسرعت اجرا میشود و به پهنای باند کم وبسرور نیاز دارد. جاوا اسکریپت پذیرای کتابخانههایی است که به شما کمک میکند فرآیند توسعه سایتها را بهسرعت به سرانجام برسانید. همچنین، به این نکته توجه داشته باشید که فرآیند خطایابی کدهای جاوا اسکریپت بهدلیل دور بودن از پیچیدگیهای مرسوم بهسرعت انجام میشود. اما عاملی که باعث پیشرفت روزافزون جاوا اسکریپت شده است بهمراتب فراتر از نکاتی است که به آنها اشاره شد. شاید در اواسط دهه 90 میلادی که جاوا اسکریپت بهعنوان زبانی برای ساخت صفحات وب از سوی برندان ایچ معرفی شد، هیچکس باور نداشت روزی خواهد توانست نقش مهمی در توسعه نرمافزارهای تجاری ایفا کند. دوران شکوفایی جاوا اسکریپت از سال 1997 میلادی که به استاندارد ECMA تبدیل شد آغاز شد. با ظهور سکوهایی همچون Node.js در سال 2009 که بر پایه موتور جاوا اسکریپت گوگل V8 کار میکنند، مسیر موفقیت جاوا اسکریپت بیش از پیش هموار شد. به طوری که اکنون بهشکل گستردهای در صفحات وب، وبسرورها، برنامههای موبایل و سامانههای اینترنت اشیا به کار گرفته میشود. شاید این سؤال برای شما به وجود آمده باشد که چرا جاوا اسکریپت برای ساخت سامانههای اینترنت اشیا گزینه ایدهآلی است؟ جواب این پرسش در رویدادمحور بودن این زبان نهفته است. همان گونه که در مقاله «چرا جاوا اسکریپت مناسبترین گزینه برای اینترنت اشیا است؟» مشاهده خواهید کرد، حلقه رویدادها در جاوا اسکریپت به شما اجازه میدهند تا کارهای متعددی را بدون آنکه در انتظار کامل شدن وظایف دیگر باشید انجام دهید. این تکنیک ضمن آنکه به شما اجازه میدهد بهشکل موازی چند وظیفه را انجام دهید، به میزان قابل توجهی در مصرف باتری گجتهای اینترنت اشیا صرفهجویی میکند. جاوا اسکریپت در زمینه مدیریت حافظه نیز خوب عمل و جمعکننده زباله آن قادر است بهخوبی حافظه را آزاد کند. در نتیجه برنامهنویسان بهجای آنکه نگران آزادسازی اشیا باشند، بر جنبههای مهم دیگر روند توسعه متمرکز میشوند. آزادسازی خودکار حافظه استفاده شده باعث میشود تا محصول نهایی پایداری را بتوانید با جاوا اسکریپت ایجاد کنید. در حالی که جاوا اسکریپت به یکی از بزرگترین زبانهای برنامهنویسی حال حاضر جهان تبدیل شده است، اما در عینحال مخاطرات امنیتی را نیز به همراه میآورد.
اگر جاوا اسکریپت را بدون تمهیدات امنیتی لازم مورد استفاده قرار دهید، میتواند به ابزار خطرناکی تبدیل شود که باعث افشای اطلاعات یا به سرقت رفتن اطلاعات شخصی شود. حتی اگر سایت خود را به بهترین و ایمنترین شکل ممکن طراحی کرده باشید، باز هم این احتمال وجود دارد سایت شما هک شود و اطلاعات شما به سرقت برود. به طور مثال، هکرها میتوانند از طریق ردیابی کادرهای متنی که از سوی کاربران برای وارد کردن اطلاعات مورد استفاده قرار میگیرد، اطلاعات را استخراج کنند. درست مشابه کاری که دو پژوهشگر در سال 2012 میلادی انجام دادند و موفق شدند به نمونه دادههای وارد شده از سوی 5 میلیون کاربر سایت فیسبوک دسترسی پیدا کنند. این مفهوم کمی ترسناک به نظر میرسد که با حجم بسیار کمی از کدهای جاوا اسکریپت بتوانید هر نوع فعالیتی که روی یک صفحه وب انجام میشود را ضبط کنید، اما این نوع شنود اطلاعات نهتنها در ارتباط با کادرهای ورودی بلکه در ارتباط با ماوس و صفحه کلید نیز امکانپذیر است. اما چنین مشکلاتی مانع از آن نشده است تا جاوا اسکریپت از سوی طراحان کنار گذاشته شود، بهواسطه آنکه راهکارهایی برای حل این مشکلات وجود دارد. به طور مثال، محصولاتی همچون NormShield این توانایی را دارند تا کتابخانههای جاوا اسکریپتی که در سایت خود پیادهسازی میکنید را مورد بررسی قرار دهند و اشکالات احتمالی در این خصوص را شناسایی کنند. اما حقیقت مسلمی که وجود دارد این است که جاوا اسکریپت بهشدت مورد تقاضا است.
اگر به موقعیتهای شغلی جاوا اسکریپت در ماه اکتبر نگاهی داشته باشید، مشاهده میکنید که شرکتها بهدنبال کدنویسانی با دستمزدهای ثابت هستند که به آنها در ساخت برنامههای موبایلی که با جاوا اسکریپت نوشته میشوند کمک کنند. کافی است به سایتهایی همچون indeed مراجعه کنید تا آگهیهای شغلی مرتبط با جاوا اسکریپتی را مشاهده کنید که در آنها به طراحانی که سابقه کار با چهارچوبهای آنگولار و React یا Node.Js ،Coffeescript را دارند برخورد کنید. نکته جالب توجهی که وجود دارد این است که اکنون کارشناسان و حتی دانشمندان علم دادهها پیشنهاد کردهاند از جاوا اسکریپت در ارتباط با دادههای بزرگ نیز استفاده شود. شاید در نگاه اول این حرفه کمی عجیب به نظر برسد، اما اگر در این زمینه پژوهشی انجام داده باشید مشاهده میکنید که این ایده چندان هم دور از ذهن نیست. زمانی که میدانیم گسترشپذیری جاوا اسکریپت در محیطهای پرتراکم خوب است، در سمت سرور خوب عمل میکند، برای معماریهای توزیع شده گزینه ایدهآلی است، بهشکل ذاتی از سکوهای مختلف پشتیبانی به عمل میآورد، چرا نباید به فکر استفاده از آن در ارتباط با دادههای بزرگ باشیم؟ همان گونه که مشاهده میکنید، جاوا اسکریپت به موجودیتی بهمراتب فراتر از آنچه در ابتدا بر پایه آن به وجود آمده بود تبدیل شده است.
به این مطلب چند ستاره میدهید؟(امتیاز: 4.8 - رای: 2)
- منبع: ماهنامه شبکه
- نویسنده: حمیدرضا تائبی