چند ماهی است که سال ۲۰۲۰ شروع شده است. اگر علاقهمند به این هستید که بدانید در آینده چه مواردی در دنیای برنامه نویسی داغ خواهند شد و نیاز به یادگیری آنها خواهید داشت، با ما همراه باشید. البته ممکن است که پیشبینی من اشتباه از آب در آید؛ ولی حدسهای علمی خود را بیان خواهم کرد.
آبراهام لینکلن میگوید:
« بهترین راه برای پیشبینی آیندهتان، ساختن آن است. »
Rust
Rust یک زبان برنامه نویسی با سیستم چند الگویی (multi-paradigm) است که تمرکز آن بر روی امنیت (به خصوص امنیت همزمانی یا concurrency) میباشد. Rust از نظر قواعد نوشتاری و سینتکسی شبیه به ++C است؛ اما به گونهای طراحی شده است که علاوه بر بالا بودن بازده و پرفورمنس آن، ایمنی حافظه را نیز بهتر محیا کند.
حدود چهار سال است که این زبان برنامه نویسی، مسیر رشد را طی کرده است و به نظر میرسد که سال ۲۰۲۰ سالی است که باید تبدیل به جریان اصلی و mainstream در دنیای برنامه نویسی شود. به این معنا که به عنوان مثال آموزشگاهها شروع به معرفی این زبان به دانشآموزان خود خواهند کرد و میتوان در آیندهای نزدیک، انتظار موج جدیدی از مهندسان زبان Rust را داشت.
Rust در مدت کمی توانسته نشان دهد که زبان برنامه نویسی خیلی خوبی است و این موضوع از جامعه (community) فعال و پر جنبوجوش این زبان، مشخص است. فیسبوک نیز با ساخت پروژهی عظیم خود با عنوان Libra با استفاده از Rust، نشان داد که میتوانیم در آینده خیلی بیشتر بر روی این زبان حساب کنیم و بیشتر از آن بشنویم.
اگر شما به دنبال یادگیری یک زبان جدید هستید، قطعا یادگیری Rust را به شما پیشنهاد میکنم!
GraphQL
همان طور که اپلیکیشنهای ما رو به پیچیدهتر شدن هر چه بیشتر میروند، قاعدتا نحوهی ارتباط با دادهها نیز پیچیدهتر میشود. من به شخصه طرفدار بزرگ GraphQL هستم و در موارد زیادی از آن استفاده کردهام. به نظر من این روش بسیار راهکار خوبی برای fetch کردن دادهها در مقایسه با REST APIهای سنتی است.
در حالی که REST APIها نیاز به لود کردن آدرسهای مختلفی برای پاسخ (respond) به درخواستها دارند، اما GraphQL API ها تمام دادههای مورد نیاز شما را، در یک درخواست (request) واحد ارسال میکنند.
GraphQL مورد استفادهی گروههای مختلفی در ابعاد و اندازهها و محیطها و زبانهای متفاوتی است؛ هم بر روی وبسایتها و هم بر روی اپهای موبایل مورد استفاده قرار میگیرد.
اگر به یادگیری GraphQL علاقه دارید، پیشنهاد میکنم که این آموزش را مطالعه کنید.
Progressive Web Apps
Progressive Web Appها رویکرد جدید در ساخت اپلیکیشنها با استفاده از بهترین ویژگیهای گلچین شده از موبایل اپها و وب اپها هستند؛ در واقع PWA ها از ترکیب بهترین ویژگیهای موجود در اپهای موبایل با بهترین ویژگیهای موجود در وبسایتها، به وجود آمده اند.
در دنیای برنامهنویسان، افرادی که توسعهدهندهی سایت هستند، بسیار بیشتر از افرادی هستند که اپهای محلی (native) برای پلتفرمهای خاص میسازند. به عقیدهی من زمانی فراخواهد رسید که کمپانیهای مختلف به این نتیجه میرسند که منافع زیادی از سرمایهگذاری بر روی progressive web applicationها خواهند برد و توسعه دهندگان خود را مجبور به ساخت وب اپ خواهند کرد. در واقع این زمانی است که من پیشبینی میکنم، موج عظیمی از PWAها را شاهد خواهیم بود.
البته که قبول این مورد برای کمپانیها، زمانبر خواهد بود که روندی طبیعی برای هر تکنولوژی است و باید بدانیم که برای رسیدن به PWAها بیشتر بار بر دوش توسعه دهندگان فرانتاند است؛ چرا که بخش مهم و بزرگ این نوع از وب اپلیکیشنها در استفاده از Web Workers API (ای پی آی بومی و نیتیو مرورگرها) است.
پس به نظر من، وب اپلیکشنها نه تنها ناپدید نخواهند شد، بلکه افراد و کمپانیها خواهند فهمید که این نوع از اپها بسیار سودمند و پربازده خواهند بود. چون شما با نوشتن یک اپلیکیشن که با دستگاههای مختلف سازگاری دارد، میتوانید از هزینههای اضافی ساخت اپ برای هر دستگاه، جلوگیری کنید. علاوه بر اینها زمانبر بودن این فرآیند سنتی را نیز باید در نظر گرفت.
بهترین زمان برای یادگیری Progressive Web Appها، الان است و به شما پیشنهاد میکنم از اینجا یادگیری خود را شروع کنید.
Web Assembly
(WebAssembly (Wasm یک فرمت دودویی برای یک ماشین مجازی بر پایهی پشته (stack) است. در واقع wasm به عنوان یک بستر پورتابل، برای کامپایل کردن زبانهای برنامه نویسی سطح بالا مثل C++، C و Rust طراحی شده است. همچنین میتواند بر روی کلاینت و سرور وب اپلیکیشنها نیز مورد استفاده قرار گیرد. Progressive Web App ها هم میتوانند از وب اسمبلی استفاده کنند.
اگر بخواهیم بهتر توضیح دهیم، باید بگوییم که وب اسمبلی، راهی است برای ارتباط بین JavaScript و دیگر تکنولوژیهای سطح بالا. به این فکر کنید که روزی بتوانید از یک کتابخانهی پردازش تصویر Rust در اپلیکیشن React خود استفاده کنید. وب اسمبلی این امکان را به شما خواهد داد.
بالا نگه داشتن کارایی یا پرفورمنس نکتهای کلیدی است که با افزایش مقدار دادهها نیز کاری حیاتیتر و دشوارتر شده است. به همین دلیل احساس نیاز به استفاده از کتابخانههایی که با زبانهای برنامه نویسی سطح پایین نوشته شدهاند، میشود. زبانهای سطح پایینی مثل Rust و ++C. قطعا در آینده شاهد استفادهی زیادی از Web Assembly در بین شرکتهای بزرگ خواهیم بود.
React
در سال ۲۰۲۰ قطعا مثل چند سال اخیر، باز هم شاهد سلطنت کتابخانهی جاوااسکریپتی React خواهیم بود. این کتابخانه که محبوبترین کتابخانه در زبان جاوااسکریپت است، برای توسعهی فرانتاند به کار برده میشود. ساخت اپلیکیشنهای ریاکت کاری سرگرم کننده و نسبتا آسان است. تیم React و جامعهی آن، کار بسیار بزرگی تا به امروز برای ساخت اپلیکشنها کردهاند.
من از React، Vue و Angular استفاده کردهام و فکر میکنم که هر سهی آنها فریمورکهای فوقالعادهای هستند. فراموش نکنیم که هدف یک کتابخانه، انجام دادن کارهایمان است. پس کمتر به ابزار مورد استفادهمان دقت کنیم و تمرکزمان را بر روی انجام صحیح وظایفمان بگذاریم. بحث کردن راجع به اینکه کدام فریمورک از دیگری بهتر است کاری بیهودهای میباشد. یک فریمورک را انتخاب کنید و انرژی خود را بیشتر صرف انجام کارهایتان با همان ابزار بکنید.
JavaScript
جاوااسکریپت زبانی است که همیشه میتوانید روی آن حساب کنید. با اطمینان میتوانیم بگوییم که دههی گذشته، دههی جاوااسکریپت بود. ما پیشرفت قابل توجهی در جاوااسکریپت شاهد بودیم و به نظر میرسد که سرعت این پیشرفت به هیج عنوان کاهش پیدا نکرده است.
توسعهدهندگان جاوااسکریپت ممکن است با سخنان ناروای دیگر توسعهدهندگان، مورد آزار قرار گرفته شده باشند. سخنانی مانند توسعهدهندگان جاوااسکریپت توسعهدهندهی واقعی نیستند. باید بدانیم که جاوااسکریپت، قلب هر کمپانی بزرگ در زمینهی تکنولوژی مانند Netflix، Google و Facebook است. پس میتوان جاوااسکریپت را از هر زبان دیگری بیشتر زبان برنامه نویسی دانست. اگر توسعه دهندهی جاوااسکریپت هستید به خودتان افتخار کنید؛ چرا که با این همه، موارد خلاقانه و نوآورانهی زیادی با استفاده از جاوااسکریپت و به وسیلهی جامعهی آن، ساخته شده است.
حداقل بدانید که تمام میلیونها وبسایت موجود در دنیا، در سطوح مختلف خود به مقادیر متفاوت، از جاوااسکریپت استفاده میکنند.
هیچ زمانی بهتر از الان، برای شروع مسیرتان به عنوان توسعهدهندهی جاوااسکریپت، مناسب نبوده است؛ درآمد این افراد درحال افزایش است، جامعهی توسعهدهندگان آن بسیار پویا وزنده است و بازار کار آن بسیار بزرگ است. اگر به یادگیری جاوااسکریپت علاقهمند شدهاید، پیشنهاد میکنم کتاب «You Don’t Know JS» را مطالعه کنید.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید