| XUL parser for PHP-GTK |
|
|
|
اگه با برنامه نويسي رابط كاربري جاوا آشنا باشيد ميدونيد كه جاوا مستقل از سيستم عامل هست كه اصطلاحا كراس پلتفرم گفته ميشه و برنامه اي كه در ويندوز اجرا در لينوكس هم اجرا ميشه .
البته PHP هم به واسطه PHP-GTK ميتونه اين طور باشه . اما ميخوام مبحث فراتري رو مطرح كنم . مستقل از اساس يا كراس بيس . شما وقتي يك صفحه HTML طراحي ميكنيد ميشه برنامه Web Base و وقتي برنامه اي با مثلا CBuilder مينويسيد ميشه Desktop App در واقع اولي مخصوص وب هست و دومي روي دسكتاپ اجرا ميشه اما برنامه كراس بيس برنامه اي هست كه هم روي وب و در مرورگر اجرا ميشه و هم روي دسكتاپ ! البته مايكروسافت هم قبلا براي اين كار تلاش كرده بود و شما كافيه يك فايل HTML رو با پسوند HTA ذخيره كنيد تا شبيه به يك برنامه دسكتاپ باز بشه و براي برنامه نويسي اون هم بايد از JScript استفاده كنيد يا VBScript. اما هيچوقت نتونست محبوبيتي بين كاربران كسب كنه . خوب همه شما ميدونيد XUL چيه : Xml-based User interface Language اين قابليت باعث ميشه كه يك صفحه وب ايجاد كنيد كه كاملا شبيه به يك برنامه كاربردي هست اما web base . خوب يه نفر كه خيلي آدم خوبي بوده اومده XUL Parser درست كرده براي PHP-GTK. يعني شما يه صفحه XUL درست ميكنيد و بعدش هم تو مرورگر اجرا ميشه و هم ميتونيد به صورت يك برنامه PHP البته قابل اجرا بر روي دسكتاپ با استفاده از PHP-GTK اجراش كنيد ! اين به نظر من خيلي خوبه كه آدم بره XUL ياد بگيره و تو محيط وب باهاش كار كنه و بعد هر موقع خواست بياردش روي دسكتاپ و تبديلش كنه به يك برنامه اجرايي . اين پروژه كه GUL نام داره در حال حاضر 75 درصد از تگهاي XUL رو پردازش ميكنه . در تصوير زير مشاهده ميكنيد كه برنامه اجرا شده در دسكتاپ و مرورگر فرقي با هم ندارند : ![]() روش كارش هم خيلي ساده هست فايلهاي زير رو بايد دانلود كنيد : http://gul.redsofa.net/snapshots/Gulpad-0.0.1rc2.tgz http://gul.redsofa.net/snapshots/Gul-2.0-snap-070506.zip فايل اولي كه GULPAD هست خيلي كار رو ساده كرده و در واقع فقط كد XUL توش مينويسيد و با زدن F5 اولا خروجي رو نشون ميده و بعد يك فايل XUL هم ايجاد ميكنه . شما براي اينكه بتونيد gulpad رو ايجاد كنيد بايد php-gtk رو داشته باشيد من جوري تنظيم كردم كه فايلهاي phpw رو با php-gtk بشه و واقعا مثل يك برنامه كاربردي ميتونه اجرا بشه . البته متاسفانه مشكل قديمي PHP-GTK هنوز وجود داره و اون هم پشتيباني نكردن از فارسي هست كه همه ما اميدواريم در نسخه 6 اين مشكل رفع بشه . اين كد باعث ميشه يك دكمه با نوشته Hello World ايجاد بشه : <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin" type="text/css"?> <window id="window" title="Gulpad 2.0 alpha" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <button label="hello world" style="direction:rtl;"/> </window> |