اصول فلسفی سیستم پنجره ایکس
در کامپیوتر، سیستم پنجره ایکس (که معمولا X11 یا X هم خوانده میشود)، سیستمی است، محصول پیاده سازی X که امکان نمایش پنجرهها روی صفحات نمایش را فراهم میکند. این سیستم ابزار و پروتکلهای استاندارد برای ساختن رابط گرافیکی کاربر در سیستمهای مشابه یونیکس و OpenVMS را فراهم میکند و در عین حال امروزه در بسیاری از سیستم عاملهای مدرن نیز شبیه سازی شده است.
ایکس، تنها ساختار پایه یا ابتدایی رابط گرافیکی کاربر را فراهم میکند: نمایش و حرکت پنجرهها روی صفحه و برقراری ارتباط از طریق کیبرد و ماوس. بنابر این، شکلی که ایکس میتواند به خود بگیرد شدیدا وابسته به برنامههای دیگر است. برنامههای مدیر پنجره مختلف میتوانند رابطهای کاملا متفاوتی ایجاد کنند. ایکس بخشی از سیستمعامل نیست بلکه به عنوان یک برنامه و در لایهای بالاتر از خود سیستم عامل اجرا میشود.
بر خلاف پروتکلهای پنجره قبلی، ایکس کاملا برای کار در شبکه رایانهای طراحی شده است. به عبارت دیگر، ارتباط ایکس با صفحه نمایش به جای ارتباط مستقیم، ارتباطی مبتنی بر شبکه است. در ایکس ، شبکه شفاف است: جایی که برنامه اجرا میشود میتواند با جایی که دیده میشود تفاوت داشته باشد.
پروژه ایکس اولین بار در دانشگاه ماساچوست و در سال ۱۹۸۴ شروع شد. نسخه فعلی (یعنی X11) در ۱۹۸۷ ظاهر شد و در حال حاضر به عنوان یک نرمافزار ازاد در حال توسعه است.
اصول اولیه طراحی ایکس
در ۱۹۸۴، باب شیفلر و جیم گتیس اصول اولیه ایکس را به این صورت تدوین کرند:
هیچ قابلیت جدیدی اضافه نکنید مگر اینکه برنامهنویسی بدون آن قابلیت نتواند برنامه واقعیاش را تمام کند.
اهمیت تصمیمگیری در این مورد که برنامه چه چیزی قرار نیست باشد، همانقدر مهم است که برنامه چه چیزی قرار است باشد. لازم نیست به همه نیازهای جهان پاسخ دهید. نکته مهم این است که برنامه قابل توسعه باشد تا بعدها بتوان با حفظ سازگاری، آن را پیش برد.
تنها چیزی که از تعمیم دادن بر مبنای یک مثال بدتر است، تعمیم دادن بدون وجود حتی یک مثال است.
اگر مشکل کاملا درک نشده باشد، بهترین کار این است که هیچ جوابی داده نشود.
اگر میتوانید ۹۰٪ خواستهها را با ۱۰ درصد کار جواب دهید، از راه حل ساده تر استفاده کنید.
تا جایی که ممکن است، پیچیدگی را ایزوله کنید.
به جای خط مشی، مکانیزم ارائه دهید. به طور عام، خط مشی رابط کاربری را به کلاینتها بسپارید.
در طول توسعه ایکس.۱۱، قانون اول به این شکل تغییر کرد: «هیچ قابلیت جدیدی اضافه نکنید مگر اینکه برنامهای واقعی را بشناسید که به آن نیاز داشته باشد.»