האנטומיה של גיליון סגנון שנכתב על ידי מפתח
כשמפתחים מקצועיים כותבים CSS, הם מעצבים אותו בכוונה לקריאות אנושית ולתחזוקה לטווח ארוך. המשמעות היא הזחה נדיבה כדי להראות היררכיית מפל, שורות ריקות בין בלוקי כללים כדי לשפר הפרדה חזותית, הערות בשורה ובכמה שורות שמסבירות את המטרה של בוררים מורכבים, ותחביר נקי ומרווח כמו margin: 0 auto; במקום המקבילה למכונה margin:0 auto. בחירות העיצוב האלה באמת בעלות ערך בשלב הפיתוח: הן מקלות על סקירות קוד, מזרזות קליטת מהנדסים חדשים, ומצמצמות את הסיכון לתופעות לוואי לא מכוונות כשמבצעים שינויים.
אבל כל אחת מהמוסכמות הקריאות לאדם האלה מייצגת בייטים מבוזבזים כשהקובץ נמסר לדפדפן של משתמש הקצה. מנתח ה-CSS של הדפדפן לא זקוק לרווחים, לטאבים, לשורות חדשות או להערות כדי להחיל סגנונות נכון על מודל אובייקט המסמך (DOM). מנקודת המבט החישובית של הדפדפן, body{margin:0;padding:0;font-family:sans-serif} זהה פונקציונלית לבלוק כללים של 20 שורות, מעוצב בקפדנות. כיווץ CSS הוא התהליך האוטומטי והשיטתי של המרת הגרסה הידידותית לאדם לגרסה האופטימלית למכונה, וצמצום קבוע של ספירת הבייטים של הקובץ בלי שום שינוי פונקציונלי.
היקף החיסכון: מספרים מהעולם האמיתי
גודל הצמצום שמושג בכיווץ CSS מפתיע לעיתים קרובות. גיליון סגנון ייצור טיפוסי לאתר שיווקי בינוני עשוי לשקול 80–150 KB במצב שעוצב למפתח. אחרי הרצה במכווץ מקצועי, אותו גיליון נדחס בדרך כלל ל-45–90 KB, צמצום של 30% עד 50% בגודל הקובץ הגולמי. לאפליקציות ארגוניות גדולות שמשתמשות במסגרות CSS כמו Bootstrap, Bulma או מערכות עיצוב מותאמות שנוצרו ממעבדי קדם Sass או LESS, גיליונות לפני כיווץ יכולים להתנפח ל-300–500 KB. כיווץ יכול להוריד אותם אל מתחת ל-200 KB, עוד לפני שמחילים דחיסת Brotli או Gzip ברמת הרשת.
לאתר שמשרת 100,000 משתמשים ביום, צמצום CSS של 50 KB מצטבר לטרה-בייטים של חיסכון ברוחב פס בשנה, ומתורגם ישירות לעלויות אחסון נמוכות יותר ולחוויית משתמש משופרת דרמטית למבקרים ברשתות מובייל מוגבלות ברוחב פס.
מה המכווץ מסיר: פירוט טכני
מכווץ CSS חזק מבצע כמה קטגוריות של המרה:
- הסרת רווח לבן: כל הרווחים, הטאבים והשורות החדשות שאינם נדרשים לתחביר CSS מכווצים או מבוטלים.
body { color : red ; }הופך ל-body{color:red}. - הסרת הערות: כל
/* block comments */מוסרים לחלוטין, כי הם נותנים אפס ערך פונקציונלי למנתח ה-CSS. - נקודה-פסיק מיותרת: הנקודה-פסיק האחרונה לפני סוגר סוגר היא אופציונלית תחבירית ב-CSS. מכווצים מסירים אותה בבטחה, וחוסכים בייט אחד לכל בלוק הצהרה.
- נרמול ערכים: מכווצים חכמים ממירים
#FFFFFFל-#fff,font-weight: boldל-font-weight:700,0pxל-0, ו-margin: 0px 0px 0px 0pxל-margin:0. - אופטימיזציה של בוררים: אפשר למזג בוררים כפולים ולאחד דריסות מיותרות של קידומות ספק.
המיקרו-אופטימיזציות האלה מצטברות משמעותית על פני קבצים גדולים, במיוחד כאלה שנוצרו על ידי מעבדי קדם ל-CSS. כל בייט שהוסר הוא בייט שלא צריך לחצות את הרשת או להיות מנותח בתהליכון הראשי של הדפדפן, והמכווץ החינמי שלנו ב-100% בדפדפן מבצע את כל ההמרות האלה מיד, עם אפס העלאות לשרת ובלי חובת הרשמה.
למה מכווצים ותיקים יוצרים חיכוך במקום לפתור אותו
המערכת האקולוגית של כלי כיווץ מקוונים נגועה היסטורית במחסומים מלאכותיים. מפתחים נתקלים במגבלות קצב יומיות, בתקרות גודל קובץ שרירותיות של 2–5 MB, בחומות תשלום פרימיום ליכולות האופטימיזציה הטובות ביותר, ובדפוס הפולשני מכולם: כפייה ליצור חשבון ולמסור כתובת אימייל לפני הורדת הפלט המכווץ. המחסומים האלה אינם הכרח טכני; הם אסטרטגיות מונטיזציה מכוונות.
מכווץ ה-CSS החינמי שלנו ב-100% אונליין מבטל כל אחד מהמחסומים האלה. אין מגבלות גודל קובץ, אין מדי מכסה יומית, אין הרשמות באימייל ואין חומות תשלום. כל הפעולה רצה מקומית בדפדפן באמצעות ארכיטקטורה פרטית של אפס העלאה לשרת, והופכת את הכלי בו-זמנית למאובטח יותר, למהיר יותר ולחסר עלות לחלוטין, בהשוואה לכל חלופה מבוססת שרת בשוק.