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

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 نسخه مناسب برای خودتان را دانلود کنید




شرح پروژه

6 01 2008

شرح پروژه

دید و دامنه پروژه:
پروژه *کلوپ آنلاین* نرم افزاری است تحت وب که به دنبال ساخت یک کلوپ ورق بازی آن لاین است. بازیکنان میتوانند وارد کلوپ شده و با دیگر بازیکنان بازی دلخواه خود را بازی کنند.برخی امکانات جانبی همچون گپ در حال بازی و رتبه بندی بازیکننان بر اساس مهارت ایشان در بازی نیز از دیگر ویژگیهای کلوپ خواهد بود. افزون بر این دید اولیه، توانش سیستم نرم افزاری کلوپ برای طراحی و ساخت نرم افزارهایی با کاربردهای تجاری در حال بررسی است. تا کنون دو کاندیدای بالقوه برای کاربردهای تجاری شناسایی شده اند:

* خدمات ویشتیبانی آن لاین برای ISP ها و دیکر مشتریان بالقوه (سروسی چت با مشتری)
* خدمات رسم نمودار و نمایش داده ها به صورت real time برای کابردهایی همچون فارکس
*خدمات اخبار های لحظه ای برای خبرگذاری ها به صورت زنده و بدون احتیاج به Refresh  کردن و نصب نرم افزار مثل فلش و جاوا

اعضای تیم، فرایند نرم افزاری و لیسانس کد
در حال حاضر دو برنامه نویس در تیم هستند. اشکان خانزاده نظری در نقش معمار، تحلیل گر، طراح و توسعه دهنده سیستم در کنار بامداد دشتبان در نقش طراح، توسعه دهنده و متخصص رابط گرافیکی کاربر به کار مشغول هستند. پرژه فعلا هیچ فرایند نرم افزاری خاصی را دنبال نمیکند اما در صورت نیاز فرایند OpenUP استفاده خواهد شد. برای مدیریت کد و ارتباط بین اعضا هنوز هیچ قردادی وجود ندارد اما در صورت نیاز از سیستسم Subversion استفاده خواهد شد. هر دوی برنامه نویسان از پلاتفرم Eclipse برای کد نویسی استفاده میکنند. تیم به در نظر دارد تا بزودی کل پرژه را با لیسانس کد باز در اختیار عموم قرار دهد.

ساختار منطقی پروژه
با توجه به ماهیت پروژه کاملا بدیهی است که معماری کلاینت – سرور بهترین گزینه خواهد بود؛ در نتیجه کار ساخت و گسترش پروژه به دو بخش *کلاینت* و *سرور* تقسیم میشود.

زیر ساخت نرم افزاری و فن آوری های مورد استفاده
چون یکی از مهمترین هدف های پروژه به کارگیری و پیاده سازی مفاهیم نو در برنامه نویسی وب همچون کامیت و آژاکس است و با توجه به تسلط برنامه نویسان پروژه به زبان PHP، لذا نرم افزار سرور به زبان PHP و نرم افزار کلاینت با استفاده از HTML و JS نوشته میشوند. ارتباط بین کلاینتها و سرور از راه آژاکس و کامیت خواهد بود. سرور و کلاینت از پروتوکل HTTP و بسته بندی XML برای تبادل داده با یکدیگر استفاده میکنند. در طرف سرور از کتابخانه phpsocketdaemon برای ساخت سرور و متعلقات آن استفده شدو در سمت کلاینت نیز از کتابخانه Prototype و script.aculo.us برای ساخت چارچوب کلاینت و رابط کاربری آن استفاده خواهد شد.

اثبات مفاهیم
از آنجا که بسیاری از مفاهیم و فن آوریهای استفاده شده در ساخت پروژه از جمله آخرین دست آوردهای صنعت برنامه نویسی وب هستند و همچنین برای اطمینان از استفاده درست و کارا بودن آنهاُ لذا در حال حاظر پروژه بیشتر به صورت Prove of concept پیش میرود. به این معنی که تیم در تلاش است تا با ساخت و گسترش پروژه های کوچک و جانبی، کارایی و عملی بودن مفاهیم استفاده شده را ثابت کند. این زیر پروژه ها در آینده میتوانند به صورت راه حل هایی کامل و مناسب برای کاربردهای تجاری استفاده شوند. در حال حاضر تیم در حال اثبات مفاهیم بنیادی و شکل دهی زیر ساختار نرافزاری پروژه در یک نرم افزار گپ زنی آنلاین میباشد.





پروژه کلاب

6 01 2008

برای کسب اطلاعات در مورد این پروژه از قسمت درباره پروژه دیدن کنید.