زول (زبان برنامهنویسی)
زول (به انگلیسی: XUL) که مخفف عبارت (XML User Interface Language) است یک زبان برنامهنویسی کامپیوتری است که بوسیله بنیاد موزیلا توسعه داده میشود. زول یک زبان نشانه گذاری واسط کاربر است که به عنوان یک گویش از اکسامال اجرا شدهاست و به اجازه میدهد که واسطهای گرافیکی کاربر شبیه صفحه وب نوشته شوند.
زول را میتوان برای نوشتن ابزارهای چندسکویی (به انگلیسی: cross-platform) همچون فایرفاکس شرکت موزیلا استفاده کرد که توسط موتور ترسیم معروف به گِکو (به انگلیسی: Gecko) تفسیر میشود که وظیفه نمایش رابط کاربری فایرفاکس و صفحات وب را دارد.
طراحی
زبان زول متکی بر استانداردها و تکنولوژیهای موجود وِب شامل سیاساس، جاوااسکریپت و مدل شیگرای سند میباشد. چنین وابستگیهایی، یادگیری زبان زول را برای افرادی که پیشزمینههایی در برنامهنویسی و طراحی وب دارند آسان مینماید.
شرکت موزیلا نسخه آزمایشی اجراکننده زول (به انگلیسی: XULRunner) را مهیا کرده که به توسعهدهندگان این اجازه را میدهد تا ابزارشان را بر روی چارچوبکاری شرکت موزیلا و مشخصا زبان زول، پیادهسازی کنند.
زول تعریف قابلحمل (به انگلیسی: portable) بودن را برای ویجتها به نحوی مهیا میکند که به آنها اجازه میدهد تا به راحتی بر روی هر سکویی که ابزار موزیلا بر روی آن اجرا شدهاست، قابل انتقال باشند.
مستندات زبان زول
رابط زول عموماً به مجموعهای از عناصر زیر تقسیم میشود:
- محتوا: اسناد زول که عناصر آن طرح رابط کاربری را تعریف میکند
- پوسته: اسناد تصویر و سیاساس که ظاهر ابزار را مشخص میکند
- اطلاعات محلی: اسنادی که شامل رشتههای قابل رویت توسط کاربر هستند که برای سادهساختن محلیسازی نرمافزار کاربرد دارند
نامگذاری
نام زول برگرفته از فیلم شکارچیان روح (به انگلیسی: Ghostbusters) محصول سال ۱۹۸۴ است که در آن روح خدای سومریان باستان به نام زوول (به انگلیسی: Zuul) کالبد شخصیت داستان به نام دَنا بَرِت (به انگلیسی: Danna Barret) را تسخیر میکند و عنوان میکند که «در اینجا دَنایی وجود ندارد، تنها زوول». از آنجایی که زول، همانند زبان MXML از اکسامال برای تعریف رابطها و نه اسناد استفاده میکند، توسعه دهندگان را واداشت تا از تکیه کلام «در اینجا دادهای وجود ندارد، تنها زوول» استفاده کنند. از این رو پیوند نامکاری (به انگلیسی: namespace) در ابتدای اسناد زول به شکل زیر میباشد:
http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul
واژههایی همچون اربابکلید (به انگلیسی: keymaster) و نگهبان دروازه (به انگلیسی: gatekeeper) نیز از خط سیر داستان فیلم شکارچیان روح گرفته شدهاست. دیگر ارجاعات به فیلم شکارچیان روح در محصولات شرکت موزیلا شامل برنامه رفعخطای جاوااسکریپت (به انگلیسی: Javascript debugger component) به نام ونکمن (به انگلیسی: Venkman) میباشد که برگرفته از یکی دیگر از شخصیتهای این فیلم میباشد.
کاربردهای زول
از زبان زول به صورت عمده برای ایجاد ابزارهای شرکت موزیلا و گسترش دهندههای (به انگلیسی: extensions) آنها استفاده میشود هرچند در ابزارهای تحت وبی که بر روی پروتکل HTTP تبادل داده دارند نیز مورد استفاده قرار میگیرد. مرورگر شرکت موزیلا برای سایت آمازون که نمونهای مشخصی از چنین کاربردی میباشد، رابط قویای را برای جستجوی کتاب در سایت آمازون برا کاربران مهیا کردهاست.
از آنجایی که جیکو (به انگلیسی: Gecko) تنها پیادهسازی کامل را از زول انجام دادهاست، چنین ابزاری طبیعتاً برای کاربران مرورگرهای مبتنی بر چیزی غیر از مرورگر شرکت موزیلا، غیرقابل دسترس خواهد بود.
دیگر ابزار مبتنی بر زول عبارتند از:
مثال
این مثال سه دکمه را در یک جعبه نگهدارنده عمودی، نمایش میدهد:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window id="vbox example" title="Example 3...."
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<vbox>
<button id="yes" label="Yes"/>
<button id="no" label="No"/>
<button id="maybe" label="Maybe"/>
</vbox>
</window>