ایده اصلی پشت مفهوم جدا سازی مطالب از الگوی سایت، ساخت بستری است که به طراحان سایت و برنامه نویسان این امکان را می دهد تا نمای سایت را بدون نیاز به صفحه آرایی مجدد مطالب تغییر دهند. این مقاله، منطق پشت این جداسازی را تشریح می کند.
منظور مرا اشتباه متوجه نشوید، تنها یک روش برای انجام این کار وجود ندارد. از آنجاییکه با ظهور تکنولوژیهایی نظیر CGI، ASP، و PHP که به برنامه نویسان این امکان را مدهد تا بطور دینامیک صفحات سایت خود را تولید کنند، از این رو بسیاری از شرکتها روشهای خلاقانه ای را در ساخت نرم افزارهایی تحت وب بکار برده اند که از این مفهوم استفاده می کند.
ظرف چند سال گذشته، جامعه اینترنتی، سعی در تولید مجموعه استانداردهایی برای ساخت و طراحی سایت کرده است. یکی از آن تکنولوژیهای جدید، CSS نام دارد.عملا چیز جدیدی در روشی که CSS در نمایش صفحات بکار می برد وجود ندارد. CSS به برنامه نویسان این اجازه را می دهد تا استایلی را برای هر تگ html تعریف کنند. این روش، مشابه روشی است که برنامه نویسان در قدیم با اتصال متغیری به هر تگ html، استایل آن را تعریف می کردند. تفاوت اصلی آن است که تعاریف CSS، می توانند با اکثر مرورگرهای موجود، تفسیر شوند در حالیکه در روشهای قدیمی، موتور تولید صفحات دینامیک، تفاسیر را انجام می داد.
سازمان استانداردهای اینترنتی W3C، برنامه نویسان و طراحان را با افزایش قابلیتهای کنترل روی ظاهر صفحات، به استفاده از CSS تشویق می کند. اختیارات جدیدی که CSS می دهد در زبان توصیفی HTML وجود ندارد. شکی وجود ندارد که این یک حرکت هوشمندانه بوده است. برنامه نویسان مجبور شده اند تا برای رسیدن به صفحاتی جذاب از CSS که از اصل جداسازی مطالب از الگوی سایت، پشتیبانی می کند استفاده کنند. متاسفانه CSS آنطور که باید جایگاه خود را براحتی در مسیر اینترنت پیدا نکرد چراکه بخاطر مشکلات ناشی از سازگاری با اکثر مروزگرها، استفاده از CSS معضلاتی را پدید آورد. امروزه CSS توسط اکثر مرورگرها پشتیبانی میشود درحالیکه CSS2، که نسخه جدیدتری از CSS است هنوز با مشکلات سازگاری با مرورگرها دست و پنجه نرم می کند.
آشکار است که جدا سازی مطالب از الگوی سایت نه تنها با استایلها سر و کار دارد بلکه با مشکلاتی که در سازگاری مرورگرها بوجود می آید نیز سر و کار دارد. استایلها اولین چیزی بودند که توسط طراحان وب و برنامه نویسان بکار گرفته شدند. با افزایش پیچیدگی سیستمهای فناوری اطلاعات (IT)، جامعه اینترنتی به دنبال راه حلهایی هستند که استاندارد باشند بطوریکه مطالب بتوانند سادگی مدیریت شوند. یکی از اهداف در این استانداردها، تعریف یک زبانی است که سیستمها بتوانند با یکدیگر صحبت کنند و به تبادل اطلاعات بپردازند. با نگاهی بر تاریخچه موسسات بزرگ، این شرکتها برای هدایت تجارت خود از نرم افزارهای گوناگونی برای شبکه های خود استفاده کرده اند. برنامه های تحت اینترنت می توانند بستر واحدی را ارائه دهند که قادرند واسطه ای میان سیستمهای مختلف باشند و اجازه دهند تا ارتباط بطور گسترده تری صورت گیرد.
XML (زبان نشانه گذاری قابل بسط) بعنوان استانداردی برای نمایش خالص مطالب مورد قبول قرار گرفته است. OFX (تبادل مالی باز) خویشاوندی نزدیک از XML است که بطور گسترده ای توسط انستیتوهای مالی مورد قبول قرار گرفته است.
نیاز به نمایش مطالب به روشی استاندارد که آنها را از هر گونه المان طراحی جدا کند، در آن زمانها خیلی ضروری بنظر می رسید بطوریکه برای اولین بار در تاریخ نرم افزاری جهان، سه شرکت غول نرم افزاری (سان، آی بی ام، و مایکروسافت) عملا هر کدام با یکدیگر به توافق رسیدند و تقریبا یک شبه، XML بوجود آمد و توسط بسیاری از خبرگذاری ها و گردآورندگان مطالب، مورد قبول قرار گرفت.
ولی هنوز این مفهوم، بطور کامل پیاده سازی نشده بود. CSS با استایلها سر و کار دارد درحالیکه XML با محتویات و مطالب. ولی الگوی سایت چه؟ همه روزه بیش از هزاران سایت های جدید بوجود می آیند. همه روزه بیش از میلیونها صفحه جدید، به دیتابیس سراسری شبکه جهانی وب اضافه می شود. وبمستران به این نتیجه رسیده اند که تنها تغییر در رنگ پیش زمینه و رنگ فونتها ممکن است برای تازه نگاه داشتن سایت برای رقابت با دیگر وب سایتها کافی نباشد. در هر صورت، تغییر در الگوی سایت می تواند در مواردی تلاش زیادی را نیاز داشته باشد چراکه اینکار نیازمند ویرایش در سورس صفحات است. برای حل این مشکل، XSL بوجود آمد. XSL مجموعه ای از قوانینی است که می توانند الگوی صفحات را توصیف کنند. با ترکیب XSL و XML (و گهگاه CSS)، خروجی نهایی، فایل HTML معتبری خواهد بود.
XSL، از لحاظ مکانیزم بسیار شبیه به دیگر صفحه سازهای دینامیک است. با توجه به این حقیقت که XSL بدون پلتفرم است و وابستگی به آن ندارد، بزرگترین مزیت آن، این است که می تواند بر روی کامپیوتر کاربران یا کلاینت، اجرا شوند. وب سرور، مطالب را در فرمت XML و الگو را در فرمت XSL، به کلاینت می فرستد. با انجام اینکار، حجم کار CPU سرور کمتر شده و نیز بارگذاری صفحات سریعتر می گردد که منجر می شود سرور بتواند با سرعتی بیشتر، به کارهای دیگری بپردازد. در هر صورت، XSL، توسط اکثر مرورگرها پشتیبانی نمی شود. در نتیجه بر خلاف XML، XSL بسادگی مسیر خود را در بازار پیدا نکرد.
پیش از آنکه شما پشت میز کار خود برگردید و شروع به اصلاح سایت خود بر طبق این استانداردهای اساسی کنید، باید بدانید که این تکنولوژیها واقعا در اکثر مواقع نیاز نمی باشند. در حقیقت، استفاده از آنها در مواقعی که ضروری نیست می تواند منجر به مشکلاتی برای شما شود. CSS معمولا منجر به این نخواهد شد تا سیستم شما کندتر شود. تنها کافی است تا سعی کنید که فایلهای CSS خود را به کمترین حجم ممکن برسانید. بسیاری از برنامه نویسان وب، فایلهای CSS بزرگی را نگاه داری می کنند که در آنها تعاریفی غیر مستعمل وجود دارد. تصمیم بر سر اینکه از XML استفاده کنید یا نه، تصمیم بزرگی خواهد بود. چنانچه سایت شما، صفحات را بصورت دینامیک با دیتابیسهایی نظیر MySQL، می سازددر اینصورت افزودن XML، بشدت بر کارایی سایت شما تاثیر منفی خواهد داشت. در برخی اوقات، شما انتخاب دیگری ندارید و نیاز دارید تا سخت افزارتان را ارتقا دهید تا راندمان سایت حفظ شود. هیچ قانون سر انگشتی برای این موضوع وجود ندارد. تصمیم گیری باید بسته به هر سیستم و نیازهای مهندسی آن صورت گیرد. پیشنهاد من به شما این است که دو قدم جلوتر فکر کنید. سعی کنید آنچه را که سایت شما در آینده بعنوان خدمات اراده می دهد را پیش بینی کنید. برای سایت تان درست تصمیم گیری کنید و این کار را در گام اول انجام دهید تا از بسیاری از مشکلات در آینده بر حذر باشید.