بررسی اجمالی فصل
در آخر این فصل، شما توانایی شناسایی و انتخاب از بین ابزار های موجود برای توسعه پیشرفته جاوا اسکریپت، استفاده از آخرین سینتکس جاوا اسکریپت در مرورگر ها قدیمی، انتخاب از بین فریم ورک های به درد بخور برای توسعه اپلیکیشن سمت سرور و کلاینت، استفاده از npm و Yarn در یک پروژه، مدیریت asset بدون کانفیگ در Parcel، و پیاده سازی مدیریت asset با کانفیگ به کمک webpack رو خواهید داشت.
معرفی فصل
توی فصل قبلی یاد گرفتیم که چجوری با پیاده سازی درست فانکشن ها و ساده نگه داشتن کد، یک کد تمیز و قابل نگهداری داشته باشیم. حالا چیزی که باید در نظر داشته باشید اینه که با اینکه ممکنه کد شما دقیق و درست باشه، فاکتور های بی شماری وجود دارن که میتونن موقع دیپلوی شدن اپلیکیشنتون مشکل ساز باشن.
نوشتن اپلیکیشن های جاوا اسکریپت صرفا فقط شامل یک پروسه "نوشتن و دیپلوی کردن" نیست و چیز های زیادی هستن که باید حواستون بهشون باشه، مثل مدیریت ماژول های خارجی، وجود یک ساختار فایل و پوشه مناسب برای پروژه و ران شدن بدون مشکل کد در تمام محیط های ضروری.
یادتون باشه که جاوا اسکریپت پلتفرمیه که دائم در حال توسعه و گسترش داده شدن هست. جاوا اسکریپت از بدو تولدش تا الان همیشه بین ران تایم های مختلف و مهم تر از اون بین انواع و نسخه های مختلف مرورگر ها دارای تفاوت بوده. توی سال های اول خلق شدنش، جاوا اسکریپت خیلی از قانون خاصی پیروی نمیکرد و دارای تفاوت های واضحی بین مرورگر های مختلف بود. بنابراین اون زمان ها توسعه دهنده ها مجبور بودن اپلیکیشن هاشون رو به صورت جداگونه و مرتب توی همه مرورگر ها تست کنن تا مطمئن بشن بدون مشکل کار میکنه. حتی الان هم هر کدوم از مرورگر ها دارای لیست متفاوتی از قابلیت های پشتیبانی شده هستن و باز هم دارای یک سری تفاوت های خیلی کوچیکی توی نحوه پیاده سازی شدن هر کدوم از اون قابلیت ها با هم دارن که میتونن یک توسعه دهنده تازه کار رو به چالش بکشن. نوشتن کدی که توی همه مرورگر ها کار کنه میتونه زمان بر باشه و نیاز به صبر زیادی داشته باشه.
خوشبختانه یک سری روش برای دور زدن این تفاوت ها با استفاده از کتابخونه و ابزار های مختلف وجود داره که شامل زیر میشن:
- کتابخونه های polyfill، که قابلیت های ناموجود رو به ران تایم ها اضافه میکنن و باعث میشن اپلیکیشن روی همه ران تایم ها بهتر کار کنه.
- کتابخونه هایی که از متودولوژی های کد زدن مختلف پشتیبانی میکنن و باعث میشن که بشه برای همه ران تایم ها یک کد زد.
- Transpiler ها، که کدی که توی یک زبان پیاده سازی شده رو به کدی که توی ران تایم های مختلف پشتیبانی میشه تبدیل میکنن.
با استفاده از این ابزار ها در پروژه هاتون نه تنها چندین ساعت ور رفتن به قسمت های مختلف کد برای حل یک مشکل و دیپلوی کردن کد رو ذخیره میکنید، بلکه از همون اول کار تجربه خوبی رو توی توسعه دادن پروژتون خواهید داشت و بجای جنگ با ابزار ها و مشکلات مختلف میتونید روی خلاقیتتون تمرکز کنید.
این فصل کتابخونه ها و ابزار هایی که کار کد زدن با جاوا اسکریپت رو آسون تر میکنن رو معرفی میکنه.