آشنایی با اکلیپس

4 02 2008

PDT
درود فراوان بر یکان یکاندوستانتوی این مقاله به اکلیپس و کاربرد اون برای ملت PHP کار میپردازیم.
IDE چیست؟
تفاوتی نمیکند که PHP کار باشید یا Java باز، ++C یا Payton یا VB. بدون یک IDE کار شما از ریشه لنگ است. IDE سرنام واژگان Integrated Development Environment است که معنایش میشود : «محیط توسعه یکپارچه».درآن روزهای آغازین تاریخ برنامه نویسی، کار نوشتن، کامپایل کردن، اسمبل کردن، لینک کردن و اشکال زدایی برنامه ها جدا گانه وبا ایزارهای سوا از هم انجام میشد. برنامه نویس بتید کد منبع برنامه با یک نرم افزار ویراستار که میتوانست فایل اسکی محض بسازد مینوشت و سپس آنرا به خورد کامپایلر میداد. کامپالیر یک فایل اسمبلی به او تحویل میداد و او سپس این فایل را به خرد اسمبلر میداد تا یک فایل آبجکت دریافت کند تا در پایان این فایل آبجکت را با کمک لینکر، به یک فایل اجرایی تبدیل کند. فرایندی که توضیح دادم ویژه سیستم عامل ویندوز نیست و همه سیستمهای دیگر کم و بیش چنین فرایندی دارند. فرایند تغییری نکرده و هنوز از فایلهای منبع تا فایل اجرایی همه این مراحل یکی یک پیموده میشوندو در واقع کار سخت تر هم شده.‌
اما یک برنامه نویس ++ C ویندوز هیچیک از این ابزارها را نمیبیند و آنها را نمیشناسد. کلید این خوشبختی در همان نرم‌افزارغول پیکر و همه کاره‌ای است که آنرا با نام«ویژوال سی»‌میشناسیم. البته حالا دیگر فقط محدود به سی نیست و نامش «ویژوال استادیو» است. آیای چیزی شبیه ویژوال استادیو (یا حتی بهتر از آن) برای لینوکس یا به صورت رایگان هست؟ پاسخ مثبت است و در حقیقت میخواهیم با یکی از شاهکارهای
برنامه نویسی اوپن‌سورس آشنا شویم: «اکلیپس»
Eclipse چیست؟
به ساده ترین زبان ممکن، اکلیپس معادل رایگان و اوپن‌سورس ویژوال استادیو است. اکلیپس تمام ویژگیهای یک IDE ی حرفه ای را دارد و افزون برآن چیزهای دیگری هم دارد که در بسیاری از محصولات دیگر یافت نمیشود. اکلیپس کاملا با جاوا نوشته شده و بنابراین به سیستم‌عامل وابستگی ندا رد. اکلیپس را همه برنامه نویسان اوپن سورس از سراسر دنیا باهم مینویسند. نکته جالب این است که اکلیپس یک نرم‌افزار نیست بلکه به چندین پرژه و زیر پروژه تقسیم شده که هر کدام محیط مناسب برای یک دسته ویژه از برنامه نویسان (و حتی غیر برنامه نویسان) را در نظر دارند.
برای نمونه در پروژه PDT محصول کار یک محیط توسه برای PHP است و در پروژهJDT به جاوا توجه شده است. برای طراحان و معماران نرم‌افزار پرژهEMF و برای توسعه دهندگان وب پروژه WTP مشغول به کارند. پروژه‌های بسیار دیگری هم هستند که من نمیدانم برای چه کسانی خوب هستند!
وب و PHP
اگر برنامه نویس PHP هستید دست شما در گزینش محیط برنامه‌نوسی باز است. از محیطهای جمع و جور و کار راه بنداز گرفته تا ZDE محصول شرکت Zend (همانی که خود PHP را مینویسد). من با بسیاری از آنها کارکرده‌ام و بهترینشان ZDE و PDT هستند. PDT یکی ازپروژه‌های اکلیپس است که هدفش فراهم آوردن ابزارهای کار برنامه نویسان PHP در محیط اکلیپس است. جالب است بدانید که پروژه PDT را هم شرکتZend رهبری میکند و دیگر حرفی برای گزینش اکلیپس باقی نمیماند. برای آنانی که کار HTML و CSS و … میکنند هم پروژه ‌دیگری هست به نام WTP و پروژه فرزند آن به نام WST که مانند FrontPage عمل میکند (و البته خیلی بیشتر از آن).
گیج شدم!
دقیقا من هم برای نخستین بار که همه اینها را دیدم گیج شدم که بلاخره کدام پرژه را باید دانلود کنم؟ اگر برنامه نویس PHP هستید پروژه PHP Development Tools برای شماست. برای یافتن آن به این ترتیب عمل کنید:
به سایت اکلیپس بروید (http://www.eclipse.org/)از منوی بالا گزینه Projects را انتخاب کنی
ددر صفحه دروازه پروژه ‌ها (که در آن هستید)، روی پیوند Show me all the projects کلیک کنید
به سمت پایین صفحه بیایید و در زیر عنوان Tools Project بر روی پیوند PHP DevelopmentTools کلیک کنید
حالا در صفحه اصلی پروژه PDT هستید. روی پیوند Download (بالا سمت راست) کلیک کنید
زیر عنوان Latest Builds روی پیوندی که روبروی Release Build قرار دارد کلیک کنید
زیر قسمت PDT All-in-one نسخه مناسب برای خودتان را دانلود کنید




تکنولوژی کامیت (Comet)

8 01 2008

کامیت یک تکنولوژی تحت وب است که در آن وب سرور ، اطلاعات را به صورت نا متقارن به سمت کلاینت ( معمولاّ مرورگر وب ) می فرستد بدون آنکه کلاینت صریحاً درخواستی کرده باشد.کامیت به شما این امکان را می دهد که بر اساس رخداد ها عمل کنید ، به صورت زنده با مرورگر تراکنش داشته باشید که در حالت های دیگر ( سایر معماری ها ) امکان پذیر نیست.
واژه کامیت از سال 2006 مطرح شد ولی از سال ها قبل تحت نام های Server push, HTTP push, HTTP Streaming, Pushlets, Reverse Ajax و…. به کار می رفته است.اپلیکیشن های کامیت ارتباط های طولانی مدت HTTP بین وب سرور و کلاینت دارند (Long-Lived) که به سرور اجازه میدهد با وقفه به درخواست ها پاسخ دهد ، و هر موقع اطلاعات جدیدی بوجود آمد آن ها را به سمت کلاینت Push کنند.این متغایر با تعریفی که از ابتدا در مورد وب شده است می باشد که در آن مرورگر صفحه ی کامل وبی را در قبال فرستادن درخواست می گیرد.همچنین با مدلی که از آژاکس نیز ارائه شده است هم متغایر است که در آن مرور گر با درخواست خود قطعه ای از اطلاعات را برای بروز رسانی صفحه ی کنونی به کار می برد.اثری که کامیت می گذارد بسیار شبیه اپلیکیشن هایی است که به طور سنتی از آژاکس به همراه Polling برای چک کردن وجود اطاعات جدید و بروز رسانی صفحه استفاده میکنند.
ولی عملکرد بسیار بهینه شده و تاخیر و Server load بسیار کم شده است.اپلیکیشن های وب همیشه به خاطر وجود محدودیت های دسترسی به منابع محلی و شبکه ای و همچنین محدودیت هایی که برنامه های درون مرورگری نسبت به اپلیکیشن های دسکتاپ کم توانا تر و کم انعطاف پذیر تر بودند،با پیشرفت مرورگر ها بسیاری از این محدودیت ها برداشته شد و همین باعث بوجود آمدن اپلیکیش های توانای اینترنت شد.(Rich Internet Applications ) و اپلیکیشن های وب به اپلیکیشن های دسکتاپ شبیه تر و شبیه تر شدند.
یکی از این مشکلات آن بود که هر قطعه ای از اطلاعات که از سمت سرور به سمت کاربر می رفت باید از طرف کاربر صراحتاّ درخواست می شد. که این مشکل با بوجود آمدن کامیت برداشته شد.کامیت به سرور اجازه می داد به صورت زنده به رخ داد ها پاسخ دهد مانند به روز شدن منابع اطلاعات یا تغییر در آن ( شما شاهد تغییر آنی آن خواهید بود ) یا فرستادن پیغامی از طرف کاربر.کامیت بهترین راه حل برای حل این محدودیت می باشد.
فرض کنید شما نشستید و آخرین تغییرات قیمت طلا را مشاهده می کنید برای اینکه قیمت جدید را ببینید احتیاجی نیست از جاوا ، فلش یا … استفاده کنید. شما با کامیت فقط احتیاج به یک مرورگر دارید.به محض تغییر در سرور در مرورگر شما اطلاعات بروز می شوند بدون اینکه از شما درخواستی برای بروز شدن فرستاده شده باشد.
مثال هایی از کامیت

این مثال ها مربوط به Light Streamer نام فریم ورکی تجاری برای Comet و Ajax می باشد.
توجه داشته باشید که در آن واحد فقط یک اپلیکیشن را باز کنید و چند تا با هم باز نکنید.
برای سرعت بیشتر از مرورگر فایر فاکس استفاده کنید.1- نمودار زنده :
http://app.lightstreamer.com/ChartDemo/

2- لیست زنده قیمت های بازار بورس :
http://app.lightstreamer.com/StockLi…x.html?fade=ON

Rss خوان زنده :
http://app.lightstreamer.com/RSSDemo

مونیتوریگ زنده سرور ( برای پهنای باند ، رم ، CPU …)
http://app.lightstreamer.com/MonitorConsole/

اندازه گیری از راه دور مسابقات فرمول 1 :
http://app.lightstreamer.com/WebTelemetryDemo/

*نکته : طرز تلفظ درست Comet ،کامیت می باشد و نه کامت ، در تالار های گفتگوی فارسی دیدم که به اشتباه از کامت استفاده می کنند.