آیا جاوا‌اسکریپت آینده دارد؟

ترجمه و تالیف : مهدی عقیقی
تاریخ انتشار : 17 اسفند 98
خواندن در 2 دقیقه
دسته بندی ها : جاوا اسکریپت

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

جاوااسکریپت یک تکنولوژی قدیمی می‌باشد، درست همان‌طور که کامپیوتر‌های‌مان هستند. این زبان خیلی وقت پیش درست شد و دچار واکنش‌های خیلی شدید شد. اما با آمدن ECMAScript و Node.js همه چیز تغییر کرد، و جاوااسکریپت امروزه با جاوا و پایتون در بالای خود، سومین زبان پراستفاده در جهان است. با توسعه‌ی CSS و گسترش اهمیت Vue.js و Node.js و بقیه‌ی فریمورک‌ها و برنامه‌های تحت api، این که فکر کنید جاوااسکریپت آینده ندارد، احمقانه است.

زبان‌های دیگر از طریق Web Assembly وارد می‌شوند، اما بلوغ آن‌ها بسیار دور است. همین الان شما می‌توانید برنامه با زبان C بنویسید که به Web Assembly کامپایل شود و اعمال فشرده را به جاوااسکریپت بسپارد. چندین زبان دیگر هم هستند که به جاوا‌اسکریپت کامپایل می‌شوند. Scala.js, ClojureScript, TypeScript, CoffeScript چند نمونه از آن‌ها هستند. 

و به نظرم گویا است که جاوااسکریپت از ابتدایی‌ترین و بهترین زبان‌های فعلی است. و تا زمانی که سازنده‌ی استاندارد ECMAscript، آن‌را به چرخه انتشار سالانه وارد کرده، جاوااسکریپت قطعا آپدیت‌های فوق‌العاده و مدرن خواهد داشت. این زبان هر روز و هر روز زیباتر می‌شود. و همیشه یک وقفه تاریخی خواهد داشت زیرا استانداردهای وب در صدد سازگاری 100٪ به عقب با هر قطعه کدی هستند که از زمان آغاز به کار برای وب نوشتند. به همین دلیل جاوااسکریپت تجملات قدیمی را از بین نمی‌برد. با بسیاری از شیوه‌های جدید، شما هرگز همچین چیزی را نمی‌بینید.

همه‌ی کد‌های فرانت‌اند ذاتا نا‌امن هستند.مطمئنا که اکو‌سیستم IOS و Android قفل‌تر است و مهندسی معکوس کردن کد‌های ماشین یک چیزی که برای انسان قابل فهم باشد، درد بزرگی است، اما قابل انجام است. نکته این است، که شما هرگز نمی‌توانید به کلاینت اعتماد کنید. به همین خاطر است که OAuth و Authentication های دیگر ابداع شدند. در واقع Frontend حالت‌ها را مدیریت می‌کند در حالی‌که backend داده‌های شما را می‌گیرد و می‌دهد و دسترسی به داده‌ها را برای اشخاص مجاز یا غیر مجاز می‌کند. به فرض این‌که Frontend شما به خطر بی‌افتد و endpoint های api شما در معرض همه قرار بگیرد. هیچ اتفاقی نمی‌افتد؛ زیرا بدون JWT درست یا هر چیزی نمی‌توانید هیچ اطلاعاتی از API دریافت کنید. و اگر Frontend به خطر بی‌افتد. خیلی بد است اگر بتواند حالت‌ها را کنترل کند. Frontend هیچ وقت نباید منبع راستین باشد.

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

جاوااسکریت آینده ندارد، جاوااسکریت خود آینده است.

منبع

گردآوری و تالیف مهدی عقیقی

برنامه‌نویس وب، عاشق جاوااسکریپت و ریکت و لاراول :)