بررسی اجمالی فصل
در آخر این فصل، شما میفهمید که یک API وب/مرورگر چیه، توی HTML با کمک جاوا اسکریپت شکل های مختلف رسم کنید، صدا های مختلف رو توی مرورگر ایجاد و کنترل کنید، دیتا توی مرورگر ذخیره کنید، توانایی انتخاب نوع فضای ذخیره سازی با توجه به موقعیت های مختلف رو داشته باشید، کارایی یک وبسایت رو اندازه گیری و بررسی کنید، و یک ارتباط پایدار و دو طرفه بین مرورگر و سرور ایجاد و مدیریت کنید.
توی این فصل، قراره در مورد API های جالب توی مرورگر یاد بگیریم و نگاهی به قابلیت های گسترده تر جاوا اسکریپت بندازیم.
معرفی فصل
توی فصل قبل، نگاهی به محیط های اجرایی مختلف جاوا اسکریپت انداختیم و بررسی کلی از قسمت های مختلفشون انجام دادیم. قراره به یکی از اونها و API هایی که در اختیار جاوا اسکریپت قرار میده خیلی عمیق تر نگاه کنیم، که بهش Browser Object Model (BOM) گفته میشه.
BOM یه سری خاصیت و متد هست که توسط مرورگر به جاوا اسکریپت ارائه داده میشه. تا الان شما چند تا از قسمت های BOM سروکار داشتید، مثل متد ()setTimeout و خاصیت document و متد های مربوط بهش مثل ()addEventListener. نکته ظریف اما مهمی که باید در نظر داشته باشید اینه که متد ها و خاصیت هایی که توی این فصل بررسی میکنیم جز قسمت های خود جاوا اسکریپت نیستن، یا بهتره بگیم جز مشخصه های ECMAScript نیستن، مشخصه هایی که موتور های جاوا اسکریپت بر اساس اونها توسعه داده شدن، بلکه اونها متد ها و خاصیت های مرورگر هستن و رابط بین مرورگر و جاوا اسکریپت رو تشکیل میدن (و بین جاوا اسکریپت و سیستمی که روش در حال اجرا هست).
همونطور که هر مرورگر پیاده سازی خودش رو از موتور جاوا اسکریپت مورد استفاده قرار داده، هر مرورگر BOM رو به روش کمی متفاوت تری پیاده سازی کرده. پس مهمه که سازگاری قابلیت هایی که میخواید پیاده سازی کنید رو توی مرورگر های مختلف تست کنید و fallback ها و pollyfill های مختلف (معادل سازی کد های جاوا اسکریپت جدید با کد های جاوا اسکریپتی که توی مرورگر های قدیمی تر اجرا میشن) برای مرورگر هایی که از یه سری از قابلیت های به خصوصی پشتیبانی نمیکنن پیاده سازی کنید. معمولا توی اینجور مواقع نسخه های جدیدتر یک مرورگر از یه قابلیت پشتیبانی میکنن و نسخه های قدیمی تر پشتیبانی نمیکنن.
همونطور که قبلا گفتیم، شما تا حالا متد های رایج استفاده شده از BOM رو دیدید. اینجا قراره یه سری از API های رایج و پرکاربرد مرورگر رو با جزئیات بیشتری بررسی کنیم و همچنین جنبه های کمتر استفاده شده اما قدرتمند BOM رو پوشش بدیم که تعداد و کارایی ابزار هایی که در اختیارتون هست رو بیشتر میکنه. این باعث میشه که بتونید قابلیت های خیلی باحال و حتی به درد بخوری به برنامه ها و سایت هاتون اضافه کنید.