دوره آموزش CSS
این موضوع را به عنوان یک تجربهی دست اول از کسی که ۱۲ سال در حوزهی Frontend کار کرده و در پروژههای مختلف با
CSS دست و پنجه نرم کرده، بپذیرید که: CSS را به هیچ وجه نباید دستکم گرفت. فریب سینتکس ظاهراً سادهی این زبان
استایلدهی را نخورید. توسعهدهندگان باتجربهتر میدانند که با بزرگتر شدن پروژه، همین سینتکس ساده به سرعت
پیچیده میشود و اشکالزدایی کدها (debugging) و به طور کلی، کنترل کدها سختتر میشود.
اساساً تکنولوژیهای CSS Methodology مانند BEM و فریمورکهای CSS مانند Bootstrap با هدف کاهش همین پیچیدگیها و
ارائهی روشهای سیستماتیک برای تولید کدهای CSS مرتبتر و با قابلیت استفادهی مجدد (reusability)، به وجود
آمدهاند. اما اینکه آیا واقعاً این تکنولوژیها، پیچیدگیها را از بین میبرند یا اینکه فقط جنس آنها را
عوض میکنند، موضوعی است که جای بحث دارد.
برای نمونه، پیش پردازنده هایی نظیر LESS و SASS با افزودن قابلیتهایی مانند متغیرها، توابع، امکان تودرتو کردن استایلها و غیره سینتکس CSS را بسط میدهند.
اما اولاً باید سینتکس آنها را هم علاوه بر CSS یاد بگیرید، ثانیاً باید کدها را با استفاده از یک کامپایلر به CSS خالص کامپایل کنید؛ چون مرورگر
سینتکس این پیشپردازندهها را درک نمیکند و ثالثاً برخی از ویژگیهای آنها مانند امکان استفاده از متغیرها
به CSS افزوده شده و به شکل بومی مورد پشتیبانی قرار میگیرند.
یا یک فریمورک CSS مثل Bootstrap با وجود شروع طوفانی و محبوبیت زیاد، به مرور با انتقادهایی مثل سنگینتر کردن سایت و انعطافپذیری پایین مواجه شد
و کمکم جایگاهش را به نمونه های مدرن تری مانند Tailwind میدهد.
در دورهی آموزش جامع CSS خواهید دید که چرا CSS ساده نیست و چطور میتوان بدون توسل به متدولوژیها و فریمورکهایی
که ناکارامد بودن اغلب آنها در گذر زمان ثابت شده، بر دشواریهای آن غلبه کرد.
دوره آموزش CSS برای چه کسانی مناسب است؟
توسعهی وب در حوزهی Frontend شامل سه تکنولوژی عمده است که یک متخصص Frontend باید روی آنها مسلط باشد. این
تکنولوژیها عبارتند از:
- HTML یا HyperText Markup Language که یک زبان مارکاپ است و شامل تعدادی عنصر یا تگ از پیشتعریفشده است که هر یک برای ایجاد محتوای خاصی در صفحات وب کاربرد دارند.
- CSS یا Cascading StyleSheets که یک زبان استایلدهی است که ظاهر محتوای ایجاد شده با استفاد از HTML را تعیین میکند.
- JavaScript که یک زبان برنامهنویسی است که سالهاست برای ایجاد اسکریپتهای سمت کاربر در صفحات وب مورد استفاده قرار میگیرد. البته جاوااسکریپت به عنوان یک زبان برنامهنویسی چندمنظوره در حوزههای دیگری مانند Backend یا در خارج از وب هم کاربرد دارد اما یک متخصص Frontend با جنبهای از این زبان سر و کار دارد که به سمت کاربر وب مربوط است.
پس، محتوایی که با استفاده از HTML ایجاد میشود، با استفاده از CSS استایلدهی میشود. با این حساب، قبل از اینکه کسی بخواهد پا به دنیای CSS بگذارد، باید با HTML آشنا باشد. بتوصیه میکنم قبل از پرداختن به این دورهی آموزشی، ابتدا دورهی آموزش HTML را طی کنید که مثل همین دوره به صورت رایگان ارائه شده است.
اما دورهی آموزش CSS بهگونهای طراحی و تدوین شده که علاوه بر افراد مبتدی و کمتجربه، به درد حرفهایهای عرصهی توسعهی وب هم میخورد. حقیقت امر این است که خیلی از برنامهنویسان و توسعهدهندگان وب که سابقهی کمی هم ندارند، به اندازهی کافی روی CSS مسلط نیستند و در پروژههای مختلف به ضرب و زور آزمون و خطا و با زحمت فراوان گلیمشان را از آب بیرون میکشند و کدهایی که مینویسند، با بهینگی فاصلهی زیادی دارد. در نتیجه، نگهداری پروژه و توسعهی آن به یک چالش پر دردسر تبدیل شده و کارایی (performance) سایت یا اپلیکیشن نیز در سطح مناسبی قرار نخواهد داشت.
در دوره آموزش CSS پس از آشنایی ابتدایی با این زبان، رمز و رازهای غلبه بر دشواریهای آن را یاد میگیرید و در پایان این دوره، قادر خواهید بود بدون توسل به فریمورکهایی که مشکل را از بین نمیبرند بلکه فقط جنس آن را عوض میکنند، استایلدهی صفحات وب را به شکلی کارامد انجام دهید.