بررسی یادگیری جاوااسکریپت در سال 2018

شما چندین سال است که در صنعت تکنولوژی بوده‌اید، HTML و CSS را می‌شناسید و زندگی خوبی دارید. اما در پشت سر خود زمزمه‌ای می‌شنوید که می‌گوید: "حالا زمانی برای یادگیری چیزهای جدید است، برای گام بعدی در حرفه‌یتان، باید برنامه‌نویسی را یاد بگیرید".

بررسی یادگیری جاوااسکریپت در سال 2018

ما سال‌هاست که در صنایع مختلف کار کرده‌ایم. مقالاتی در مورد طراحی، برنامه‌نویسی، HTML و CSS نوشته‌ایم. چندین کتاب نوشته و در کنفرانس‌های جهانی صحبت کرده‌ایم. اما هنوز صدایی در گوشمان زمزمه می‌کند که نیاز به انجام برنامه‌نویسی داریم. ما هرگز کار خود را عملی نمی‌کنیم تا زمانی که بدانیم چگونه ایده‌ها و پروژه‌های خود را ابتدا بسازیم. به عنوان کسانی که سال‌ها در زمینه وب کار کرده‌ایم، می‌گوییم زبان مشهود برای یادگیری، جاوااسکریپت است.

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

بار اطلاعات

آیا این مورد هم برای شما آشناست؟

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

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

اما مشکل این است که مردم (یا حداقل ما) آستانه‌ای برای میزان اطلاعاتی که می‌توانند قبل از احساس فرو رفتن در آن مبحث پردازش کنند، دارند. ما آن را "بار اطلاعات" می‌نامیم. اطلاعات شگفت‌انگیز هستند اما بررسی بیش از حد آن‌ها، ذهن شما را از کار می‌اندازد و باعث می‌شود ناامید شده و آن را ترک کنید و احساس ناتوانی کرده و از یادگیری آن منصرف شوید.

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

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

در اینجا چیزهایی وجود دارد که ما آن‌ها را یافتیم.

خواندن

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

کتاب‌ها

خوشبختانه کتاب‌های خوب بسیاری در رابطه با جاوااسکریپت وجود دارد. در زیر تعدادی از این کتاب‌ها را به شما معرفی می‌کنیم:

Eloquent JavaScript نوشته Marijn Haverbeke

JavaScript: The Good Parts نوشته Douglas Crockford

JavaScript: The Definitive Guide نوشته David Flanagan

You Don’t Know JS نوشته Kyle Simpson

Secrets of the JavaScript Ninja نوشته John Resig, Bear Bibeault, and Josip Maras

JavaScript and jQuery نوشته Jon Duckett

Speaking JavaScript نوشته Axel Rauschmayer

JavaScript for Web Designers نوشته Mat Marquis

کتاب Eloquent JavaScript به زبان ساده گفته شده است و معرفی شگفت‌انگیزی از جاوااسکریپت در آن بیان شده است. با مفاهیم ساده شروع شده و به تدریج شما را به چالش می‌کشد و مفاهیم و پروژه‌های پیشرفته را معرفی می‌کند.

بقیه کتاب‌های موجود در این لیست نیز عالی هستند اما کمی پیشرفته‌تر می‌باشند، به استثنای کتاب JavaScript and jQuery نوشته Jon Duckett و JavaScript for Web Designers نوشته Mat Marquis.  کتاب Jon در مورد HTML و CSS هم خوب است اما به نظر نمی‌رسد رویکرد بصری برای موضوعات پیچیده‌تر را در این کتاب خود استفاده کرده باشد. کتاب Mat بسیار خوب به مسائل پرداخته است اما برای یادگیری طولانی مدت به اندازه کافی عمیق و گسترده نیست. با این حال Eloquent JavaScript با JavaScript for Web Designers مکمل خوبی هستند. مطمئنا کتاب‌های خوب دیگری هم وجود دارند که می‌توانید از آن‌ها استفاده کنید.

وبلاگ‌ها

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

CSS-Tricks

freeCodeCamp’s dev category

dev.to’s JavaScript tag

MDN’s JavaScript docs

خبرنامه‌ها

دنبال کردن خبرنامه‌ها بسیار خوب است. آن‌ها اطلاعات خوب و به روزی را به شما می‌دهند. در اینجا ما دو مورد را برای شما گذاشته‌ایم:

JavaScript Weekly

Versioning  توسط SitePoint

اما قطعا خبرنامه‌های بیشتری وجود دارند که مفید هستند. این دو خبرنامه در رابطه با جاوااسکریپت بسیار محبوب هستند.

تماشا کردن

یکی دیگر از راه‌های خوب یادگیری این است که مباحثی که می‌خواهید انجام دهید را ببینید. اما این راه همیشه برای ما یک راه دوم، بعد از مطالعه، بوده است. زمانی که در یک موضوعی گیر می‌افتیم یا می‌خواهیم جنبه‌های مشخصی از کدنویسی را عمیقا بررسی کنیم، تماشای فیلم‌ها یک راه خوب است.

برای اکثر مردم دو دسته فیلم آنلاین وجود دارد: دوره‌ها و ویدیوهای مستقل (بیشتر در یوتیوب). چندین مورد برای هر کدام از این موارد وجود دارد، اما لیست زیر بهترین مواردی است که می‌توانیم نام ببریم:

ES6 for Everyone توسط Wes Bos

JavaScript 30 توسط Wes Bos

Code School’s JavaScript path

Introduction to JavaScript Programming توسط Kyle Simpson

The Good Parts of JavaScript and the Web توسط Douglas Crockford

Debugging and Fixing Common JavaScript Errors توسط Todd Gardner

Data Structures and Algorithms in JavaScript توسط Bianca Gandolfo

The Coding Train توسط Daniel Shiffman

Fun Fun Function توسط Mattias Petter Johansson

LearnCode.academy

JSConf YouTube Channel

ما چیزهای شگفت‌انگیزی در مورد دوره‌های Wes Bos شنیده‌ایم. بنابراین بررسی آموزش‌های آن بسیار خوب است اما باید مراقب باشیم تا در آن‌ها غرق نشویم.

گوش دادن

پادکست‌ها یک راه عالی برای یادگیری مفاهیم هستند و شما را در یک موضوع خاص فرو می برند بدون اینکه نیاز باشد فعالانه به صفحه نمایش متصل شوید. در حقیقت راه خوبی برای یادگیری در هر شرایطی است.

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

ShopTalk Show

Syntax

CodeNewbie

Toolsday

انجام دادن

آخرین و مهم‌ترین بخش یادگیری جاوااسکریپت که بخش اصلی آن است، انجام دادن می‌باشد؛ نوشتن کد، به کارگیری آن و تکرار.

همان‌طور که در ابتدا ذکر کردیم، ما چندین سال است که با HTML و CSS (و تکنولوژی‌های دیگر) کار می‌کنیم، بنابراین از بعضی ابزارها حمایت می‌کتیم. ما اغلب با Sublime Text در Mac کار می‌کنیم، بنابراین از آن برای نوشتن کد به صورت محلی استفاده می‌کنیم، اما از آنجا که اخیرا روی iPad Pro کار می‌کردیم، می‌خواهیم Sublime Text را با چند ابزار اضافی برای نوشتن و تست کردن کد تقویت کنیم.

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

ما نگاهی به ابزارهای دیگری مثل JSFiddle و JSBin انداختیم، اما در CodePen راحت هستیم و ویژگی‌های قدرتمندی دارد، بنابراین ما آن را انتخاب کردیم.

یکی دیگر از ابزارهای آنلاینی که گاهی وقت‌ها از آن استفاده می‌کنیم، Glitch است. یک ابزار نسبتا جدید برای کدنویسی و اشتراک‌گذاری آنلاین در اینترنت است و یک محیط زیبا و فوق‌العاده دارد. در حالی که ما فکر می‌کنیم اکثر برنامه‌نویسان با CodePen یا به صورت محلی با Sublime Text کار می‌کنند، فکر می‌کنیم Glitch زمانی حیاتی خواهد بود که در حال یادگیری موارد پیچیده‌تر مثل تعامل با APIها، ساخت ربات‌های خارق‌العاده و تست برخی از این فریم‌ورک‌های ترسناک هستید.

برنامه یادگیری ما

بنابراین، با توجه به تمام منابع بالا، این کارهایی است که برای انجام و یادگیری اصول جاوااسکریپت باید انجام دهیم:

با کتاب Eloquent JavaScript کار کنید.

به صورت محلی در Sublime Text کدنویسی کنید اما اول به صورت آنلاین با CodePen کار کنید.

اخبار را از طریق وبلاگ‌ها، خبرنامه‌ها و پادکست‌ها دنبال کنید.

بعد از بررسی Eloquent JavaScript در JavaScript 30 و ES6 for Everyone غوطه ور شده و آن را به خوبی بررسی کنید.

از طریق ویدیوها و کتاب‌هایی که در بالا ذکر شد شروع به کار کنید، ما آموزش‌های Wes Bos را دنبال کردیم.

در نهایت اگر منابع دیگری یا نظراتی در این زمینه دارید می‌توانید بیان کنید. مطمئنا بسیاری از شما فرآیند یادگیری مشابهی را طی کرده‌اید و به نکات شگفت‌انگیزی برخورد کرده‌اید که می‌توانید با ما به اشتراک بگذارید.

منبع تم شاپ