همان طور که در مقدّمه اشاره شد جاوااسکریپت منحصر به مرورگر نیست و کاربردهای فراوان دیگری هم دارد. شما میتوانید با جاوااسکریپت نرم افزارهای ویندوزی، اندرویدی، ربات تلگرام و… نیز بسازید. در این بخش اشارهای به کاربردهای جاوااسکریپت و ابزارهای مربوطه خواهیم داشت.
نویسنده: مجتبی قاسم زاده تهرانی
سلام دنیا!
در فصل اوّل این سلسله آموزشها قرار است خود زبان جاوااسکریپت را یاد بگیریم. فارغ از محیطی که کد در آن اجرا میشود. ولی به هر حال برای این که بتوانیم همین کار را هم انجام بدهیم، باز هم به محیطی احتیاج داریم که بتوانیم کدمان را در آن اجرا کنیم. از آن جایی که …
ابزار برنامهنویسی (DevTools)
خیلی از اوقات در کدهایی که مینویسیم سوتی میدهیم، اشتباه میکنیم و به باگ میخوریم. همهی برنامهنویسان کم و بیش با این موضوع درگیر هستند، زیرا که ما انسان هستیم، نه ربات یا فرشته! انسان هم ممکن الخطاست. وقتی خطایی رخ میدهد مرورگر آن را بروز نمیدهد تا کاربر خطا را نبیند. حالا اگر چیزی …
نگاهی کلی به تست جاوااسکریپت
بسم الله الرّحمن الرّحیم معرفی یکی از مهمترین کارهایی که در ساخت برنامهی تحت وب باید انجام داد تست کردن آن است. در این راستا میخواهیم با مهمترین مفاهیم، اصطلاحات، ابزارها و رویکردهای تست برنامههای جاوااسکریپتی آشنا شویم. به صورت کلی برنامهنویسان JavaScript علاقهی زیادی به تست سایتشان ندارند. زیرا نوشتن تست معمولاً سخت، زمانبر …
گیرندههای ورودی را به تأخیر بیندازید
یکی از چیزهایی که میتواند در عملکرد برنامه مشکل ایجاد کند گیرندههای ورودی هستند. به تابعهایی که تنظیم میکنید در هنگام ورودیهای کاربر مثل کلیک و… اجرا شوند input handler یا گیرندهی ورودی میگوییم. این گیرندهها میتوانند جلوی کامل شدن فریم را بگیرند و باعث انجام صفحهآراییهای غیر ضروری شوند.
بهینهسازی مرحلهی Composite
مرحلهی Composite یا ترکیب، مرحلهایست که در آن قسمتهای مختلف صفحه که قبلاً ترسیم شدهاند با هم ترکیب میشوند. به هر کدام از این قسمتها یک لایه میگوییم. دو عامل مهم در بهینهسازی این بخش تأثیر دارند: یکی تعداد لایهها و دیگر ویژگیهای CSS که برای انیمیشن از آنها استفاده میکنید.
بهینهسازی مرحلهی Paint
به فرآیند پر شدن پیکسلها که نهایتاً پس از ترکیب، روی صفحهی نمایش کاربر دیده میشوند Paint یا ترسیم گفته میشود. خلاصه: همیشه هر کدام از ویژگیهای CSS که تغییر کنند ترسیم انجام میشود، به استثنای دو ویژگی transform و opacity. ترسیم پرهزینهترین مرحله در pixel pipeline است و باید تا حد امکان از …
بهینهسازی مرحلهی Layout
«صفحهآرایی» یا همان Layout فرآیندی است که در آن مرورگر مشخّصات هندسی عناصر را به دست میآورد: یعنی اندازهی آنها و مکان دقیقشان روی صفحه. بر اساس کدهای CSS نوشته شده، محتوای داخل عنصر، یا عنصرِ پدر، اندازهی عنصرها مشخّص میشود. این فرآیند در مرورگرهای Chrome، Opera، Safari و Internet Explorer به نام Layout معروف …
بهینهسازی مرحلهی Style calculation
تغییر دادن DOM از طریق حذف عناصر، تغییر attributeهایشان، کلاسهایشان یا توسّط انیمیشن، همه و همه باعث میشوند تا مرورگر دوباره استایلها را بررسی کند و ببیند به چه عناصری باید چه استایلهایی اعمال شود و خیلی وقتها چیدمان صفحه یا قسمتی از آن را درست کند. به این فرآیند «محاسبهی استایلهای نهایی» یا «computed …
بهینهسازی مرحلهی Scripting
معمولاً کدهای جاوااسکریپت تغییراتی در ظاهر صفحه ایجاد میکنند که از این پس به این تغییرات «تغییرات ظاهری» میگوییم. گاهی اوقات این کار مستقیماً از طریق دستکاری استایلها انجام میشود و بعضی وقتها این تغییرات ظاهری نتیجهی محاسبات و پردازشهایی خاص است، مثل جستجو یا مرتّبسازی اطّلاعات. معمولاً مشکل اصلی بهینه نبودن این مرحله به …