فراز و نشیب‌های JavaScript در سال ۲۰۲۰


۲ اسفند ۱۳۹۹
فراز و نشیب‌های javascript در سال ۲۰۲۰

نتیجه نظرسنجی سامانه stateofjs که از ۱۳۷ کشور و ۲۳۷۶۵ توسعه‌دهنده به‌منظور بررسی اکوسیستم زبان JavaScript جمع‌آوری شده بود در تاریخ ۲۵ دی ماه سال ۱۳۹۹ منتشر شد. در این نظرسنجی به کاربردها و نظرات افراد درباره‌ی ویژگی‌ها، فناوری‌ها، ابزارها و موارد دیگر موجود در اکوسیستم زبان JavaScript پرداخته شده است و ما در این مقاله بخش‌های مهمی از آن را پوشش داده‌ایم تا بتوانید در سال جدید پروژه‌های خود را با متناسب‌ترین ابزارهای موجود توسعه دهید.

فناوری‌های محبوب اکوسیستم JavaScript در سال ۲۰۲۱

تکنولوژی‌های پراستفاده جایگاه خود را حفظ کرده‌اند. همچنان TypeScript پراستفاده‌ترین تکنولوژی گسترش یافته زبان JavaScript و در کنار آن React پراستفاده‌ترین کتابخانه فرانت‌اند و Express پراستفاده‌ترین فریم‌ورک بک‌اند است. بنابراین اگر شما یک توسعه‌دهنده تازه‌کار وب باشید می‌توانید روی این فناوری‌ها حساب باز کنید.

بااین‌حال فناوری‌هایی را می‌توانید در این نظر سنجی مشاهده کنید که در سال ۲۰۲۰ نیز مورد توجه زیادی قرار گرفته‌اند:

Svelte

Svelte از React به‌عنوان محبوب‌ترین کتابخانه فرانت‌اند پیشی گرفت. برخلاف React که بایستی کتابخانه‌ی آن را در ابتدای کدهای برنامه قرار دهیم، Svelte یک کامپایلر محسوب می‌شود که کدهای ما را به کدهای JavaScript کامپایل و بهینه‌سازی می‌کند.

درنتیجه bundle نرم‌افزاری سبک‌تر با عملکرد سریع‌تری در اختیار ما قرار داده می‌شود. همچنین Svelte با معرفی Sapper و Svelte Native به‌سرعت درحال بلوغ در اکوسیستم خود است و می‌توانیم آن را رقیب شایسته‌ای برای React، Vue و Angular بدانیم.

Next.js

اگرچه به‌طور کلی نباید این دو تکنولوژی با هم مقایسه شوند چونکه موارد استفاده‌ی مختلفی دارند اما Next.js از Express به‌عنوان محبوب‌ترین فریم‌ورک بک‌اند پیشی گرفته است. Next.js یک فریم‌ورک SSR است که یک سایت اساتیک را برای کاربر در سمت سرور رندر می‌کند.

esbuild و Snowpack

esbuild و Snowpack از webpack به‌عنوان محبوب‌ترین build tools پیشی گرفتند. esbuild یک پکیج نرم‌افزاری است که با Golang توسعه داده شده و از این رو عملکرد سریع‌تری نسبت به webpack خواهد داشت. از طرف دیگر Snowpack رویکردی جدید را معرفی کرده که فقط یک بار هر ES module را در صورت وجود تغییر build می‌کند اما webpack با با هر تغییر، کل پروژه را build می‌کند.

esbuild و Snowpack هر دو به‌طرز چشم‌گیری زمان توسعه و استقرار برنامه را با روش‌های مختلف کاهش داده‌اند.

قابلیت‌های جدید زبان JavaScript

در این نظرسنجی نیز میزان پذیرش قابلیت‌های جدید زبان JavaScript توسط توسعه‌دهندگان مورد بررسی قرار گرفته ‌است. قابلیت‌های nullish coalescing operator با ۴۵.۳%، optional chaining operators با ۶۶.۷% و Promise.allSettled() با ۱۴.۷% رای‌ها از ۲۳۷۶۵ نفری که در این نظرسنجی شرکت کرده بودند مورد پذیرش قرار گرفته‌ است.

همچنین به این دلیل که این قابلیت‌ها در همه‌ی مرورگرهای اصلی، Node.js 14 و نسخه‌های بعدی آن پشتیبانی می‌شوند بنابراین زمان خوبی است که از آن‌ها در پروژه‌های خود استفاده کنید.

Nullish coalescing operator

Nullish coalescing operator یک logical operator است که وقتی مقدار سمت چپ آن null یا undefined باشد مقدار سمت راست را return می‌کند. حال از این روش می‌توانید برای تنظیم مقادیر پیش‌فرض برای متغیرهایی که ممکن است مقدار آن‌ها null یا undefined باشد، استفاده کنید.

قابلیت nullish coalescing operator

Optional chaining operator

این قابلیت به توسعه‌دهندگان امکان می‌دهد تا بدون نیاز به بررسی موجودیت‌ها به nested objectها دسترسی پیدا کنند.

قابلیت optional chaining operator

Promise.allSettled

این فانکشن در زمانی که همه‌ی Promiseهای موجود resolve یا reject شده‌ باشند، یک Promise را return می‌کند. سپس توسعه‌دهنده می‌تواند بررسی کند آیا Promiseها با موفقیت اجرا شده‌اند یا خیر و به این صورت می‌توان عملکردهایی مانند transactionها را مورد بررسی قرار داد.

فانکشن promise.allSettled

جمع‌بندی

در سال گذشته تغییرهای زیادی در کتابخانه‌های JavaScript به‌وجود آمده است. تکنولوژی‌های تازه‌ای مانند esbuild به‌سرعت در حال رشد هستند و پروژه‌هایی مانند Svelte درنهایت مورد توجه توسعه‌دهندگان قرار گرفته است. علاوه‌براین‌ها در ES2020 شاهد اضافه شدن چندین قابلیت مختلف هستیم که بسیاری مشکل‌های توسعه‌دهندگان را برطرف کرده است.

منبع: https://medium.com/better-programming/the-state-of-javascript-in-2020-97b8bdfdfa20

برچسب‌ها:

خدمات رایگان لیارا

۲.۵ گیگابایت فضای ذخیره‌سازی ابری رایگان

۲.۵ گیگابایت Object Storage سازگار با پروتکل S3 با دیسک‌های SSD به‌صورت رایگان دریافت کنید.

هاست رایگان برای دیتابیس‌

دیتابیس‌های MariaDB، PostgreSQL و Redis را فقط با یک کلیک و به‌صورت رایگان تهیه کنید.

سرویس DNS رایگان

به سادگی دامنه‌تان را اضافه کنید و به صورت رایگان رکورد‌های آن را مدیریت کنید.

۱۰۰ هزار تومان اعتبار اولیه

بعد از ثبت نام در لیارا مبلغ ۱۰۰ هزار تومان اعتبار هدیه دریافت می‌کنید که با توجه به ساعتی بودن هزینه سرویس‌ها، می‌توانید تمامی خدمات پولی را برای چندین هفته رایگان استفاده کنید.

ارسال ۱۰۰ ایمیل تراکنشی رایگان در هر ماه

در سرویس ایمیل لیارا شما می‌توانید تا ۱۰۰ ایمیل رایگان در هر ماه ارسال کنید و فقط برای بیش از آن هزینه پرداخت کنید. (به‌همراه دسترسی SMTP)

هاست رایگان برای انواع وبسایت

تفاوتی ندارد برای وبسایت خود از Node استفاده می‌کنید یا Laravel و Django، در لیارا می‌توانید به صورت کاملا رایگان آن را میزبانی کنید.

توسعه‌دهندگان درباره‌ی ما چه می‌گویند

تجربه کار باliara_cloud@امروز خیلی خوب بود. یکی از سرویس هام رو منتقل کردم روش و راضیم. انقد سریع و جذاب کارم راه افتادم اصن باورم نمیشد! برعکس سرویس های PaaS دیگه با اون همه پیچیدگیشون. دمتون گرم
...

MohammadReza
liara testimonial
keikaavousi

بعد از بسته شدن @fandoghpaas و ناراحتی همه‌مون از اینکه یه سرویس خوب و صادق نمی‌تونه از پس هزینه‌ها بر بیاد، سرویسم رو منتقل کردم به پاس لیارا (https://liara.ir @liara_cloud) . تجربه راحت و خوب. تفاوت‌هایی داشت که کمی کار می‌خواست ولی تا الان کاملا راضی.

jadi
liara testimonial
jadi

یه خسته نباشید باید به تصمیمliara_cloud@بگم،
بعد از چندین روز سرکله زدن با سرویس های مشابه بالاخره تصمیم گرفتم لیارا رو امتحان کنم و باور نمیشه ۱۰ دقیقه بیشتر وقت نبرد،
دمتون گرم.

Arch
liara testimonial
EbadiDev

واسه سرویس PaaS با اختلاف لیارا بهترین رابط کاربری داره و یکی از مزیت‌های سرویس دیتابیس‌شون اینه که خودشون به صورت دوره‌ای بکآپ میگیرن.
...

Ali Najafi
liara testimonial
me_ali_najafi

یکی از کارهای خوبی که جدیداً میکنم اینه که یه دیتابیس روی لیارا میسازم و به پروژه وصل میکنم اینطوری هم خونه و هم محل کار دیتابیس بروز رو دارم و راحت میتونم ادامه بدم کار روliara_cloud@

Navid
liara testimonial
1navid

عاشقliara_cloud@شدم درسته در حد AWS نیست ولی خب تجربه خوبی واسه پروژه های داخل ایران ارائه میده، میتونم رو CD هم اجراش کنم

Amir H Shekari
liara testimonial
vanenshi

همراه شما هستیم

در خصوص سفارش یا استفاده از سرویس‌ها سوالی دارید؟
تلفن واحد فروش:
۰۲۵-۳۳۵۵۷۶۱۹ (روزهای کاری ۹ الی ۱۷)
تلفن واحد فروش: ۳۳۵۵۷۶۱۹-۰۲۵ (روزهای کاری ۹ الی ۱۷)