در این مقاله می‌خواستم در مورد نحوه ایجاد برنامه‌های کاربردی با استفاده از Eclipse RCP (پلتفرم Rich Client) صحبت کنم. دلیل نوشتن این واقعیت بود که مطلقاً هیچ مقاله ای در Habré وجود ندارد که این پلتفرم را توصیف کند. به عنوان مثال، ما یک فرم ورودی سفارشی ایجاد خواهیم کرد. صحت داده ها با استفاده از چارچوب JFace Data Binding بررسی می شود. برای شروع، من یک اسکرین شات در زیر با آنچه که باید دریافت کنیم، می دهم.

Eclipse RCP چیست؟

برای شروع، هنوز باید بگوییم Eclipse RCP چیست. کسوفیک محیط توسعه نوشته شده به زبان جاوا است که توسط بنیاد Eclipse توسعه یافته و نگهداری می شود (اعضای آن IBM، SAP، Oracle، شرکت هایی هستند که محصولات مبتنی بر Eclipse RCP ارائه می کنند و در توسعه اکوسیستم Google، RedHat، Adobe، Cisco، Intel شرکت می کنند). Eclipse RCPمجموعه ای از پلاگین ها برای ایجاد برنامه های به اصطلاح rich Client است. هر چیزی که کاربر هنگام باز کردن Eclipse IDE می بیند یک پلاگین است که بر اساس این پلتفرم ایجاد شده است. کاربر می تواند پلاگین های خود را بر اساس تعداد زیادی پلاگین موجود ایجاد کند و در صورت لزوم می توانید محبوب ترین فریم ورک ها مانند Hibernate، Google Guice، Google Guava، JUnit، TestNG را به عنوان پلاگین پیدا کنید. همچنین شایان ذکر است که معماری زمان اجرا بر اساس مشخصات پلت فرم سرویس است OSGI، این مشخصات نحوه ایجاد و عملکرد برنامه های ماژولار را شرح می دهد. Eclipse، همانطور که در بالا ذکر شد، به زبان جاوا نوشته شده است و به عنوان یک محصول متقابل پلتفرم قرار می گیرد (در 90٪ موارد، یک برنامه RCP بر روی ویندوز، لینوکس و مک ساخته می شود). تمام پلاگین هایی که هسته پلتفرم و اکثر افزونه های شخص ثالث را تشکیل می دهند تحت مجوز EPL (مجوز عمومی Eclipse) توزیع می شوند. رابط کاربری برنامه های RCP بر اساس اجزای بصری چارچوب های SWT و JFace و همچنین ویجت های Eclipse بومی است. شکل های زیر اجزای یک اپلیکیشن مبتنی بر پلتفرم RCP و ساختار خود پلتفرم Eclipse را نشان می دهد.


شکل 1 - اجزای مورد استفاده در برنامه RCP (تصویر از این سایت گرفته شده است)


شکل 2 - معماری Eclipse (تصویر برگرفته از این سایت)

مزایا و معایب پلتفرم
سوال اصلی این است که چرا این پلتفرم اینقدر خوب است و چرا از آن برای توسعه برنامه های دسکتاپ استفاده می شود (به هر حال، امکان توسعه برنامه های تحت وب و برنامه های کاربردی برای پلتفرم های موبایل وجود دارد). ماژولار بودن، چند پلتفرمی، پشتیبانی چند زبانه، رایگان، مقدار زیادیپلاگین ها، کتابخانه ها و چارچوب های موجود. همه اینها به شما امکان می دهد برنامه های کاربردی درجه تجاری ایجاد کنید (پیوندی به لیست برنامه های موجود توسعه یافته در این پلت فرم در انتهای مقاله آورده شده است). معایب شامل سطح نسبتاً بالایی از ورود است، زیرا برای توسعه یک برنامه کاربردی جدی، باید حداقل به طور کلی بدانید که چارچوب OSGI چگونه کار می کند، بتوانید با مؤلفه ها و ویجت های SWT و JFace کار کنید. همچنین، برای توسعه دهندگان روسی زبان، یافتن هر گونه مطالب یا کتاب در مورد چارچوب ها و کتابخانه های ذکر شده در بالا مشکل خواهد بود (پیوندهای منابع یافت شده، از جمله منابع روسی، در انتهای مقاله آورده شده است)، اگرچه کنفرانس ها به طور دوره ای در اروپا و ایالات متحده برگزار می شود که توسط شرکت کنندگان Eclipse Foundation برگزار می شود، مجله ویژه ای در آلمان منتشر می شود که در مورد پلاگین های جدید صحبت می کند و شامل نمونه های زیادی از استفاده از آنها است و همچنین مجموعه ای کامل از کتاب ها در آلمانی که تمام ظرافت ها و ظرافت های توسعه را توصیف می کند. به زبان انگلیسی، می‌توانید یک سری کتاب ویژه از سری کتاب‌های کسوف اثر ادیسون-وسلی را پیدا کنید، همچنین می‌توانید چند کتاب از Apress را پیدا کنید. اما مطالب و کتاب به زبان مادری ما بسیار کم است.

شروع شدن

نصب پلاگین های مورد نیاز
بیایید مستقیماً به ایجاد اولین برنامه RCP خود بپردازیم. برای کار، ما باید اسمبلی را دانلود کنیم: Eclipse برای توسعه دهندگان RCP و RAPاز سایت رسمی اگر Eclipse IDE قبلاً نصب شده است، می توانید از مدیر به روز رسانی استفاده کنید. از منوی اصلی Help->Install New Software را انتخاب کنید. در پنجره Install که ظاهر می‌شود، از لیست کشویی، سایتی را که به‌روزرسانی‌هایی را که نیاز داریم از لیست کشویی انتخاب کنید - download.eclipse.org/releases/indigo، اگر چنین سایتی در لیست وجود ندارد، سپس روی دکمه افزودن در سمت راست کلیک کنید، در قسمت نام می نویسیم - Indigo Update Site، در قسمت Location - آدرس داده شده در بالا، روی OK کلیک کنید (اگر هنگام اضافه کردن پیامی ظاهر شد آدرس - مکان تکراری، سپس آدرس از قبل در لیست سایت های نرم افزار موجود وجود دارد، لیست سایت های به روز رسانی را می توان در پنجره نصب قبلی با کلیک بر روی پیوند سایت های نرم افزار موجود در زیر لیست کشویی مشاهده کرد. پس از انتخاب سایت به روز رسانی، یک لیست درخت مانند در زیر ظاهر می شود (در صورتی که چک باکس Group آیتم ها بر اساس دسته علامت زده شود)، مورد General Purpose Tools را باز کرده و انتخاب کنید. محیط توسعه پلاگین Eclipse، سپس مورد EclipseRT Target Platform Components را باز کنید و افزونه را علامت بزنید - Eclipse RCP Plug-in Developer Resources، برای ایجاد پروژه خود به این دو افزونه نیاز داریم. بعد، دوبار روی Next کلیک کنید، قبول کنید توافقنامه مجوزو روی دکمه Finish کلیک کنید؛ تمام است، نصب افزونه های لازم آغاز می شود. پس از نصب، از ما خواسته می شود که Eclipse را مجددا راه اندازی کنیم، که این کار را انجام خواهیم داد.


شکل 3 - پنجره نصب پلاگین

یک پروژه ایجاد کنید
پس از راه اندازی مجدد، آیتم File-> New-> Other را در منوی اصلی انتخاب کنید، مورد Plug-in Development را انتخاب کنید، سپس در منوی کشویی، Plug-in Project را انتخاب کنید.


شکل 4 - منوی انتخاب نوع پروژه در حال ایجاد

روی Next کلیک کنید، باید نامی به پروژه خود بدهیم، اجازه دهید first.rcp.application نامیده شود، دوباره روی Next کلیک کنید. در پنجره بعدی باید نام اپلیکیشن را مشخص کنیم، در قسمت Name می نویسیم First RCP Application. علامت کادر Generate an activator را بردارید، یک کلاس جاوا که چرخه عمر افزونه را کنترل می کند. برای ما برنامه سادهبدون نیاز به کلاس فعال کننده بیایید کادر انتخاب مورد را ترک کنیم - این افزونه به رابط کاربری کمک خواهد کرد، زیرا برنامه ما شامل رابط کاربری. اجازه دهید گزینه سوم Enable API Analysis را بدون علامت بگذاریم. در پاسخ به این سوال - آیا می خواهید یک برنامه مشتری غنی ایجاد کنید؟ پاسخ بله.


شکل 5 - پنجره ایجاد پلاگین

روی Next کلیک کنید، از ما خواسته می شود که یک الگو برای برنامه آینده انتخاب کنید، Hello RCP را انتخاب کنید و روی Next کلیک کنید.


شکل 6 - پنجره انتخاب الگوی پروژه RCP

در آخرین پنجره، در قسمت عنوان پنجره برنامه، بنویسید - User Form، در قسمت Application class - MyApplication. کادر بررسی افزودن نام تجاری را غیرفعال بگذارید. بیایید دکمه Finish را فشار دهیم. از ما خواسته می شود که به دیدگاه توسعه افزونه تغییر دهیم، ما با این پیشنهاد موافقت خواهیم کرد.


شکل 7 - پنجره پیکربندی الگوی پروژه RCP

ساختار پروژه
بنابراین ما ساختار پروژه جدید ایجاد شده را داریم.


شکل 8 - ساختار پروژه

محتوای پنج کلاس در بسته first.rcp.application در حال حاضر مورد توجه ما نیست، فقط می توانم بگویم که کلاس MyApplicationاین به نوعی روش اصلی () یک برنامه معمولی جاوا است، این کلاس مسئول نحوه راه اندازی افزونه و نحوه توقف آن است. در کلاس ApplicationWorkbenchWindowAdvisor، می توانیم اندازه پنجره برنامه را با خط کد زیر تنظیم کنیم:
configurer.setInitialSize(new Point(400, 300));
همچنین می توانیم ببینیم که نوار ابزار و نوار وضعیت به طور پیش فرض نشان داده نمی شود:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
خط آخر عنوان پنجره اصلی را تعیین می کند:
configurer.setTitle("فرم کاربر");
کلاس ApplicationActionBarAdvisorمسئول تنظیم نوار منوی برنامه ما است. کلاس چشم اندازمسئول مکان و اندازه ویرایشگرها (ویراستارها) و نماها (نماها) است که در این منظر (چشم انداز) هستند، در یک برنامه RCP باید حداقل یک دیدگاه وجود داشته باشد.

راه اندازی پروژه
برای اجرای برنامه ای که ایجاد کردیم، باید به پوشه META-INF رفته و فایل را باز کنیم. MANIFEST.MF، اگر به طور ناگهانی آن را ببندید (این فایل به طور پیش فرض هنگام ایجاد پروژه باز می شود).


شکل 9 - ویرایشگر ویژگی برنامه RCP

این فایل به ما امکان می دهد بسیاری از تنظیمات پروژه را تغییر دهیم، افزونه های اضافی را متصل کنیم، افزونه ها را متصل و مدیریت کنیم، ساخت پلاگین خود را سفارشی کنیم و موارد دیگر. ما در تب Overview هستیم، در قسمت Testing، روی لینک کلیک کنید - برنامه Eclipse را اجرا کنید، در یک لحظه پنجره برنامه ما روی صفحه ظاهر می شود، آن را ببندید و به مرحله بعد بروید.


شکل 10 - پنجره برنامه ما

افزودن نما (نما)

افزودن پسوند
وظیفه ما ایجاد یک نمای (نما) است که می توانیم عناصر رابط گرافیکی را روی آن قرار دهیم. بیایید به پرونده برگردیم. MANIFEST.MF، برگه را در پایین انتخاب کنید - برنامه های افزودنی. می بینیم که به طور پیش فرض دو پسوند داریم: org.eclipse.core.runtime.applications و org.eclipse.ui.perspectives. پسوند اول مربوط به کلاس برنامه ما است. MyApplication، اگر این پسوند را انتخاب کنیم و نمای درختی را به گره first.rcp.application.MyApplication (اجرا) گسترش دهیم، خواهیم دید که فیلد کلاس حاوی نام این کلاس خاص است. با بازگشت به گره ریشه این لیست، در سمت راست در قسمت Extension Details دو فیلد را مشاهده خواهیم کرد که مقادیر آنها را نیز می توانیم تغییر دهیم (اکنون این کار را انجام نمی دهیم): ID - شناسه برنامه و نام - برنامه. نام.

افزونه دوم مسئول تنظیم چشم انداز برنامه ما است. فایل MANIFEST.MFبه ما اجازه می دهد بدون نگاه کردن به کد کلاس Perspective، موقعیت، اندازه و نسبت آن ها را مشخص کنیم. با کلیک بر روی این پسوند و رفتن به آیتم فرزند می بینیم که در قسمت Extension Element Details می توانیم کلاس پرسپکتیو، شناسه و نام را مشخص کنیم. لازم به ذکر است که چنین تغییراتی همانطور که در بالا ذکر شد با ویرایش مستقیم کد کلاس مرتبط با این پسوند و ویرایش فایل قابل انجام است. plugin.xml، اما ما نمی خواهیم ایجاد اولین پروژه خود را پیچیده کنیم.


شکل 11 - تب با پسوندهای پروژه ما

برای ایجاد نمای باید یک پسوند جدید اضافه کنیم. برای این کار روی دکمه Add کلیک کنید و در پنجره ظاهر شده در قسمت Extension Point فیلتر views را وارد کنید، فقط یک پسوند - org.eclipse.ui.views وجود داشته باشد، آن را انتخاب کرده و دکمه Finish را بزنید.


شکل 12 - پنجره انتخاب پسوند جدید

در لیست پسوندها، باید یک پسوند دیگر، سومین پسوند متوالی داشته باشیم.

مشاهده سفارشی سازی
روی افزونه ای که اضافه کردیم کلیک کنید کلیک راستموش، ظاهر می شود منوی زمینه، New->view را در آن انتخاب کنید، به این ترتیب یک عنصر به پسوند خود اضافه می کنیم (این عنصر نمای مورد نیاز ما است). تنظیمات این عنصر در سمت راست ظاهر می شود. ابتدا بیایید یک کلاس برای نمای خود ایجاد کنیم. ما می توانیم این کار را با کلیک بر روی لینک کلاس* انجام دهیم.


شکل 13 - مشاهده تنظیمات (نمایش)

یک گفتگوی استاندارد برای ایجاد کلاس جاوا باز می شود، نامی برای آن بگذارید - MainView. همانطور که می بینیم، این کلاس از کلاس به ارث می رسد org.eclipse.ui.part.ViewPart، کلاس والد برای همه نماها. ایجاد کلاس را با کلیک بر روی دکمه Finish کامل می کنیم. خیلی کم باقی مانده است، پس از ایجاد یک کلاس برای view ما، کد آن در مقابل ما باز می شود، یک متغیر استاتیک ایجاد می کنیم که حاوی شناسه این view باشد، نام کانونی این کلاس را به عنوان یک شناسه قرار می دهیم. . بیایید موارد زیر را بنویسیم:

کلاس عمومی MainView ViewPart را گسترش می دهد(
شناسه رشته نهایی ثابت عمومی = MainView.class.getCanonicalName();

}
بیایید به پرونده برگردیم MANIFEST.MF، تب Extension را باز کنید، محتویات فیلد کلاس* را کپی کرده و در قسمت ID قرار دهید. اکنون نام کلاس و شناسه این نما یکی است، این ترفند تمرین خوبی است، زیرا همیشه به شما این امکان را می دهد که به سرعت نمای مورد نظر را پیدا کرده و به شناسه آن پی ببرید. در قسمت نام* بنویسید - User Form. کل دیدگاه ایجاد شده است، باقی می ماند که آن را با دیدگاه ما مرتبط کنیم، زیرا خود نما قابل استفاده نیست، به عبارت دیگر، باید به چشم اندازی تعلق داشته باشد.

تنظیم موقعیت نمایش
ما می‌توانیم در حالی که در ویرایشگر برنامه افزودنی هستیم دستکاری‌های بیشتری انجام دهیم یا کد کلاس پرسپکتیو را باز کنیم - Perspective.java، که ما انجام خواهیم داد. در کلاس چشم انداز، بیایید به روش - createInitialLayout() برویم. این روشموقعیت اولیه نماها و ویرایشگرها را تنظیم می کند. در متد، دو خط کد زیر را بنویسید:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID، true، IPageLayout.LEFT، 1.0f، layout.getEditorArea());
خط اول به شی layout می گوید که ما نیازی به ناحیه ویرایش نداریم زیرا فقط یک نما داریم و هیچ ویرایشگری نداریم. خط دوم دیدگاه ما را اضافه می کند و به عنوان یک مستقل (مستقل). اولین پارامتر، شناسه view ما است. پارامتر دوم یک مقدار بولی است که تعیین می کند عنوان نمای ما (فرم کاربر) نشان داده شود یا خیر. پارامتر سوم برای نشان دادن جهت نما در پرسپکتیو در نظر گرفته شده است، زیرا ما یک نمای داریم و کل فضای پرسپکتیو را اشغال خواهیم کرد، این مقدار می تواند هر کدام باشد. پارامتر چهارم موقعیت این نما را در رابطه با سایر نماها یا ویرایشگرها تعیین می کند، زیرا در مورد ما، نما به تنهایی باید کل فضای پرسپکتیو را اشغال کند. آخرین پارامتر پنجم، شناسه ناحیه ویرایشگر است. بیایید تغییرات خود را ذخیره کنیم.
اجرای برنامه با نمای اضافه شده
بیایید به پرونده برگردیم MANIFEST.MFو دوباره اپلیکیشن ما را راه اندازی کنید، برای این کار به تب Overview بروید، در قسمت Testing روی لینک Launch an Eclipse application کلیک کنید. ما تفاوت زیادی با نحوه ظاهر فرم در راه اندازی قبلی نخواهیم دید، فقط یک برگه با نمای ما، فرم کاربر، اضافه شده است.


شکل 14 - پنجره برنامه ما با نمای اضافه شده

برای امروز تمام است، ادامه در مقاله بعدی خواهد بود.

IBM چه کمکی به جامعه منبع باز برای شما می کند؟

مارک اریکسون و انگوس مک اینتایر
منتشر شده در 1380/11/01

پلتفرم Eclipse برای ساخت محیط های توسعه یکپارچه (IDE) طراحی شده است. می توان از آن برای ایجاد انواع راه حل های محاسباتی انتها به انتها برای انواع محیط های اجرای برنامه استفاده کرد. هنگام انتخاب یک معماری، سازندگان ابزار باید:

  • شرایط برابر و افشای کامل اطلاعات در غیاب API ها و رابط های پنهان از ابزاری به ابزار دیگر. Eclipse یک پلتفرم متن باز برای این منظور ارائه می دهد. برای بررسی کیفیت، قابلیت حمل و عملکرد کد، APIهای منتشر شده توسط کنسرسیومی از صنایع مرتبط تست می شوند.
  • آزادی برای گسترش بستر برای دستیابی به فرصت های جدید. Eclipse توانایی ایجاد آثار مشتق شده از جمله توزیع مجدد پلت فرم را فراهم می کند. استفاده از Eclipse به توسعه دهندگان ابزار اجازه می دهد تا بر شایستگی های اصلی خود و مدل های جدید فناوری توسعه تمرکز کنند.
  • دریافت پاسخ های به موقع به درخواست های تغییر و بهبود محصول که به صورت کنترل شده و سازماندهی شده ارائه می شود. از طریق سایت www.eclipse.org توسعه دهندگان می توانند تغییرات مختلفی ایجاد کنند. این امر از طریق کار مشترک و انواع کمک های توسعه دهندگان در توسعه پلت فرم به دست می آید.

پرسش و پاسخ

    Eclipse.org چیست؟

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

    پلتفرم Eclipse چیست؟

    ایده اصلی پروژه Eclipse ایجاد "Apache for developer tools" است. این به معنای ایجاد یک زیرساخت منبع باز است که بسیاری از خدمات اساسی مورد نیاز توسعه دهندگان نرم افزار را ارائه می دهد. این باید یک "جعبه ابزار برای توسعه جعبه ابزار" باشد. نه تنها مجموعه ای از APIها، چارچوب Eclipse از کدهای واقعی ساخته شده برای انجام کار واقعی تشکیل شده است.

    پلتفرم Eclipse پایه‌ای برای ساخت و اجرای ابزارهای توسعه نرم‌افزار یکپارچه سرتاسر فراهم می‌کند. این پلتفرم شامل اجزای منبع باز است که توسط ارائه دهندگان ابزار برای ساخت راه حل هایی که در یک فضای کاری یکپارچه تعبیه شده اند استفاده می شود. پلت فرم Eclipse فناوری را در یک محیط طراحی و پیاده سازی به خوبی شکل گرفته است.

    چرا IBM Eclipse را به عنوان منبع باز توزیع می کند؟

    منبع باز تنها راه برای ارائه یک پلت فرم باز برای یکپارچه سازی ابزارها است. علاوه بر این، استفاده از منبع باز مزایای دیگری نیز دارد.

    یکی از اصلی ترین این مزایا استفاده مجدد از محصولات است. اگر چیزی از قبل در قالب کار وجود داشته باشد، چرا باید دوباره بسازید؟ با استفاده از پلتفرم باز Eclipse، سازندگان ابزار می‌توانند با ارائه زیرساخت ابزار برای ساخت محیط‌های توسعه یکپارچه (IDE) روی توسعه خود تمرکز کنند. به هر حال، استفاده از کد شخص دیگری شروع به جلب اعتماد می کند.

    ایجاد اعتماد در هر معماری یا پلتفرم جدیدی زمان زیادی می برد. به عنوان مثال، جلب اعتماد توسعه دهندگان در ساخت ابزارهایی که حاوی رابط های اختصاصی هستند که استفاده از یک برنامه کاربردی را در یک سیستم عامل خاص (مثلاً ویندوز) محدود می کند، دشوار است. همچنین، هنگامی که سطوح مختلف API ها به کار می روند، جلب اعتماد سازندگان ابزار دشوار است سطوح مختلفابزارها (به عنوان مثال، APIهای جامعه که با APIهای شرکتی متفاوت هستند).

    پلتفرم Eclipse به شما امکان می دهد با ارائه کد منبع پلت فرم اعتماد ایجاد کنید.

    منبع باز برای همه API ها، بدون رابط داخلی، بومی یا پنهان ارائه شده است. توسعه دهندگانی که اعتماد آنها به زمان زیادی نیاز دارد می توانند کد را ببینند و نتیجه گیری مناسب را بگیرند. به منبع اعتماد کنید و نوآوری کنید!

    گرد هم آوردن توسعه دهندگان منبع باز نیز می تواند به ایجاد کد بهتر کمک کند. هنگام همکاری روی کد، سازندگان تلاش بیشتری برای آن انجام می دهند. چنین کدی به بازتابی از کار آنها تبدیل می شود، محصول شهرت فردی و شرکتی. به منابع اعتماد کنید و موقعیت خود را در بازار تثبیت کنید!

    یک پروژه منبع باز مبتنی بر مشخصات خالص می تواند کدی را ارائه دهد که درک آن آسان تر باشد. یک رابط (در قالب جعبه سیاه) رفتار انتزاعی یک جزء را توصیف می کند. با بررسی کد منبع، توسعه دهندگان می توانند عملکرد کد را خط به خط تجزیه کنند. اعتماد به رابط شخص دیگری سخت است. به منابع اعتماد کنید و فناوری را کشف کنید!

    اشکال زدایی منبع باز آسان تر است. وقتی خطایی پیدا شد، مشاهده کنید کد منبعبه سرعت بخشیدن به شناسایی علت آن کمک می کند. این ممکن است تقصیر شما یا خطای پلت فرم و محیط باشد. دسترسی به کد منبع کار حدس زدن علت خطا را باطل می کند. اشتراک گذاری مسائل در انجمن ها به شما امکان می دهد یادداشت های خود را با کسانی که با مسائل مشابه آشنا هستند به اشتراک بگذارید. اگر مشکلی در کدهای منبع باز رایج رخ دهد، رفع آن یا رفع آن آسان تر است. برای دریافت اطلاعات مورد نیاز به منابع اعتماد کنید.

    کار بر روی فناوری پیچیده به تنهایی بسیار دشوار است. چندین سازنده ابزار می توانند آزادی تحقیق در مورد فناوری جدید را با هم به دست آورند. برای کاهش ریسک به منابع اعتماد کنید!

    فروشندگان ابزار می آیند و می روند. توسعه دهندگان سازمانی می خواهند از پشتیبانی طولانی مدت این پلت فرم مطمئن باشند. با کد منبع موجود، شرکت ها می توانند کوتاه مدتشروع کنید و کسب و کار را برای مدت طولانی ادامه دهید: برای رشد کسب و کار خود به منبع اعتماد کنید!

    انعطاف پذیری ویژگی اصلی Eclipse است. با پلتفرم Eclipse، کامپوننتی که برای شما مناسب نیست، می‌تواند مطابق با نیاز شما تغییر یابد. برای مثال، اگر از ویرایشگر راضی نیستید، ویرایشگر خود را ایجاد کنید یا یکی از ویرایشگرهای محبوب ساخته شده در بازار منبع باز ارائه شده توسط پلتفرم Eclipse را به آن وصل کنید. به دنبال پیوند یک پلت فرم میزبانی جدید به یک پشتیبانی سرتاسر موجود هستید؟ به منابع اعتماد کنید و افزونه ایجاد کنید!

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

    آیا هنوز در شک هستید؟... از فرانک هکر برای کار بزرگش در ساخت فروشگاه منبع باز تشکر می کنیم (برای لینک به منابع مراجعه کنید).

    Eclipse در چه پلتفرم هایی در دسترس است؟

    Eclipse برای Windows NT، Windows XP (بتا)، Windows 2000، Windows 98، Windows ME و Red Hat Linux نسخه 7.1 منتشر و آزمایش شده است. فناوری Eclipse به زبان جاوا نوشته شده است که استفاده از آن را در طیف گسترده ای از پلتفرم های مختلف آسان می کند.

    آیا Eclipse به پلتفرم های دیگر منتقل می شود؟

    این سوالی است که باید حل شود، اما زیبایی پلتفرم Eclipse در همین است. سازندگان ابزار می توانند فناوری Eclipse را در آغوش بگیرند و مرزهای جدید را با اطمینان از یک پلت فرم ابزار باز اثبات شده در صنعت کشف کنند.

    هزینه پلت فرم Eclipse چقدر است؟

    پلت فرم Eclipse تحت مجوز عمومی عمومی در دسترس است. جزئیات مجوز در http://www.eclipse.org موجود است.

    در مورد این واقعیت که توسعه دهندگان ابزار واقعا مشتاق مقابله با کد منبع نیستند و نمی توانند از آن سود زیادی ببرند، چطور؟

    دسترسی به کد منبع اغلب به شما این امکان را می دهد که به سرعت مشکلات را شناسایی کنید، کارهای تکراری را حذف کنید، و سرعت تکمیل کار روی فناوری جدید سازگار را افزایش دهید.

    آیا این منجر به تقسیم محصول به نسخه های ناسازگار نمی شود؟

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

    آیا اقداماتی برای تعریف نسخه "رسمی" در حمل و نقل محصولات (مثلاً به عنوان بخشی از برندی مانند "Eclipse Inside") انجام خواهد شد؟

    این موضوع در هیئت مدیره Eclipse در حال بررسی است.

    خطر مصرف کننده هنگام استفاده از نسخه های جداگانه چیست؟

    به طور معمول، نسخه "رسمی" پلتفرم Eclipse، پس از آزمایش و بررسی، به www.eclipse.org ارسال می شود. این نسخه از طریق Eclipse.org نگهداری می شود. نسخه های فردی باید به طور کامل توسط فروشنده پشتیبانی شوند، بنابراین مزیت همکاری با اعضای انجمن از بین می رود.

    آیا سازندگان ابزار در صورت استفاده از آن در پروژه‌های خود، نگران این خواهند بود که فناوری منبع باز Eclipse باعث خراب شدن کدهای دیگر شود؟

    Eclipse تحت مجوز برنامه‌نویسی مشترک مجوز دارد، که به شما اجازه نمی‌دهد کدهای دیگری را که کد Eclipse را با استفاده از APIهای عمومی فراخوانی می‌کنند، خراب کنید.

    چیزهای ناخوشایندی که کاربران ممکن است در کد منبع Eclipse پیدا کنند، مانند باگ ها چطور؟

    توسعه منبع باز شانس یافتن و رفع اشکالات کوچک و بزرگ را افزایش می دهد. آنها توسط توسعه دهنده اصلی یا اعضای انجمن کشف و رفع می شوند.

    آیا افشای کد منبع می تواند برنامه ها و استراتژی های محرمانه را به رقبا بدهد؟

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

    آیا کاربران می توانند به سادگی از کد منبع Eclipse استفاده کنند و بدون بازگشت کافی به پشتیبانی انجمن تکیه کنند؟

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

    اگر رقبا سعی کنند یک محصول متن باز را برای اهداف خود "دزدیدن" کنند چه؟

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

    از کجا می توانم اطلاعاتی در مورد ادغام ابزارها در فناوری Eclipse پیدا کنم؟

    چندین مقاله سفید در http://www.eclipse.org وجود دارد.

    پلت فرم Eclipse چگونه کار می کند و چه ویژگی هایی را ارائه می دهد؟

    پلت فرم Eclipse بر اساس اصول زیر ساخته شده است:

    • تسهیل ادغام همگن ابزارهای داخلی و همچنین بین انواع مختلفارائه دهندگان محتوا و ابزار
    • پشتیبانی از ایجاد انواع ابزار.
    • پشتیبانی از تعداد نامحدودی از ارائه دهندگان ابزار، از جمله فروشندگان مستقل نرم افزار (ISV).
    • پشتیبانی از ابزارهایی برای کار با هر فرمتی (از جمله HTML، جاوا، C، JSP، EJB، XML و GIF).
    • پشتیبانی از محیط های توسعه برنامه با و بدون رابط کاربری گرافیکی (GUI).
    • قابل اجرا بر روی طیف گسترده ای از سیستم عامل ها از جمله ویندوز و لینوکس.
    • استفاده از محبوبیت زبان جاوا برای نوشتن ابزار.
  • آیا IBM کد منبع پلتفرم Eclipse را برای جامعه باز منتشر خواهد کرد؟ چه زمانی این اتفاق خواهد افتاد؟

    بله، کد منبع اکنون تحت مجوز عمومی عمومی در دسترس است. به زودی، IBM Eclipse را به هیئت مدیره موقتی که پلتفرم Eclipse را مدیریت خواهد کرد، واگذار خواهد کرد.

    چه کسانی در هیئت مدیره موقت حضور دارند؟

    شورای موقت متعاقبا اعلام خواهد شد.

    من می خواهم به جامعه بپیوندم. چگونه انجامش بدهیم؟

    از www.eclipse.org دیدن کنید.

    چگونه عضو شورا شویم؟

    همکاری، مشارکت، تبلیغ: کد، ایده‌ها، محصولات، رفع اشکالات خود را ارائه دهید، دانش و تجربه خود را به اشتراک بگذارید.

    پلتفرم Eclipse چگونه پشتیبانی می شود؟

    پشتیبانی از طریق انجمن و ایمیل به صورت داوطلبانه و با استفاده از منابع شناخته شده توسط جامعه ارائه می شود. اطلاعات بیشتر را می توانید در www.eclipse.org بیابید

    آیا پشتیبانی 24/7 وجود دارد؟

    هیئت مدیره موقت چگونه انتخاب می شود؟

    با کارکنان محدود، تیم Eclipse تنها می‌تواند با چند شرکت منتخب که برای ساخت این پلتفرم انتخاب شده‌اند تعامل داشته باشند. اعضای هیئت مدیره موقت از بین شرکت‌هایی انتخاب می‌شوند که تاکنون به صورت آزمایشی در توسعه این پلتفرم مشارکت داشته‌اند. انتخاب بر اساس سه معیار است: اعضای هیئت مدیره باید از Eclipse در شرکت خود استفاده کنند. آنها همچنین باید از Eclipse برای ایجاد زمینه های فروش استفاده کنند. آنها باید آشکارا Eclipse.org را حفظ کنند.

    چرا انتشار کد منبع Eclipse را اینقدر به تاخیر انداختید؟

    هنگامی که برنامه های شرکت برای ارسال کد منبع مورد بررسی قرار گرفت، تیم توسعه می خواست مطمئن شود که اولین پلتفرم به طور کامل توسعه یافته و به طور کامل آزمایش شده است. ما چندین مفهوم ساختمان جایگزین را امتحان کرده ایم که برخی از آنها در حال حاضر در بازار هستند. متعاقبا، این ایده ها را با سایر ارائه دهندگان ابزار به اشتراک گذاشتیم و آنها را بهبود بخشیم. پلتفرم Eclipse اکنون برای اولین نسخه آماده است.

    وقتی IBM یک فناوری را به صورت رایگان منتشر می کند، آیا این بدان معناست که IBM دیگر به این فناوری متعهد نیست؟

    آی‌بی‌ام متعهد است که پلتفرم Eclipse را بپذیرد و از آن به‌عنوان پایه‌ای برای کل خانواده ابزارهای توسعه نرم‌افزار IBM، که خانواده WebSphere Studio است، استفاده کند. این محصولات تنها از استفاده از کنترل کیفیت یکپارچه، از پشتیبانی افسانه ای بهره می برند محصولات آی بی امو همچنین تعهد ما به برند IBM. آنها از رابط های مشابه استفاده می کنند و بر اساس فناوری مشترک با پلت فرم Eclipse ساخته شده اند.

    از کجا می توانم اسناد و اطلاعات مربوط به Eclipse را پیدا کنم؟

    در وب سایت www.eclipse.org.

    Eclipse چقدر با دات نت متفاوت است؟

    دات نت به طور انحصاری برای استفاده در پلتفرم های مایکروسافت از طریق یک رابط اختصاصی تحمیل شده توسط مایکروسافت ایجاد شد. توسعه دهندگان باید به تغییراتی که در دات نت رخ می دهد پاسخگو باشند. در دنیایی که بیش از فناوری "wintel" توصیف می شود، پلت فرم دات نت یک نقطه دردناک مهم است. پروژه های محاسباتی انتها به انتها که نیاز به ادغام سرورها، ایستگاه های کاری، دستگاه های تعبیه شده و PDA های قابل حمل دارند، در انواع دیگر محیط های اجرایی بسیار پیشرفته و پیشرفته عمل می کنند. این منجر به استفاده از بسیاری از معماری‌های پردازشگر قدرتمند و پلتفرم‌های عامل مانند OS/390، Linux و QNX می‌شود.

    پلتفرم Eclipse تحت یک مجوز عمومی باز با تمام APIهای مستند و نقاط افزونه در دسترس است، بنابراین به توسعه دهندگان ابزار اجازه می دهد تا از هر تعداد فضای کاری، از جمله محصولات مایکروسافت، پشتیبانی کنند.

    آیا می توان Eclipse را با ابتکار منبع باز Sun Microsystems مقایسه کرد؟

    ایده پشت پروژه Eclipse ایجاد "Apache for developer tools" است. این به معنای ایجاد یک زیرساخت منبع باز است که بسیاری از خدمات اساسی را که توسعه دهندگان نرم افزار به آن نیاز دارند ارائه می دهد. این باید یک "جعبه ابزار برای توسعه جعبه ابزار" باشد. نه تنها مجموعه ای از APIها، چارچوب Eclipse از کدهای واقعی ساخته شده برای انجام کار واقعی تشکیل شده است.

    همانطور که اریش گاما بیان می کند: "همه چیز در Eclipse یک افزونه است. Java IDE وضعیت خاصی ندارد، این فقط مجموعه دیگری از افزونه ها است که توسعه پذیری پلتفرم را به راحتی یکپارچه نشان می دهد. ساختن پلتفرم Eclipse منبع باز اجازه ابزار را می دهد. سازندگان نیز همین کار را انجام دهند." و نه تنها برای ایجاد پلاگین های جدید، بلکه برای کمک به بهبود پلاگین های موجود. در نتیجه، شرکت های بزرگ و نمایندگان شرکت ها زمینه بازی برابر برای یکپارچه سازی ابزارها را دارند."

    تفاوت بین WebSphere Studio Workbench و پلتفرم Eclipse چیست؟

    WebSphere Studio Workbench از Eclipse به عنوان پایه ای برای ارائه یکپارچه سازی محصول که پشتیبانی می کند استفاده می کند پلت فرم نرم افزاری WebSphere. WebSphere Studio Workbench نمونه ای از استفاده از فناوری Eclipse از پلتفرم Eclipse است.

    Eclipse یک پلت فرم یکپارچه ابزار منبع باز است که برای استفاده در هر محیط کاری موجود است.

    آنها در چهار نکته اصلی با هم تفاوت دارند:

    1. پشتیبانی

      پشتیبانی از پلت فرم Eclipse از طریق کنسرسیوم Eclipse.org ارائه می شود، در حالی که پشتیبانی از WebSphere توسط ساختار پشتیبانی استاندارد IBM (PartnerWorld) ارائه می شود.

      صدور مجوز

      Eclipse Patform تحت "مجوز عمومی مشترک" در دسترس است، در حالی که WebSphere Studio Workbench تحت مجوز IBM PartnerWorld در دسترس است.

      اسپین آف ها / اصلاحات کد منبع

      پلتفرم Eclipse به توسعه دهندگان ابزار اجازه می دهد تا مرزهای جدید را کشف کنند، پلتفرم ها و سیستم عامل های جدید را با گسترش و اصلاح کدهای مشتق شده از پروژه Eclipse هدف قرار دهند. WebSphere Studio Workbench باید ادغام شده و همانطور که توسط IBM ارائه شده است توزیع شود.

      نام تجاری

      فناوری Eclipse توسط یک برند متمرکز ادعا نشده است. چگونه جزءنام تجاری، زمانی که محصولات سازگار منتشر می شوند، می تواند توسط جامعه پذیرفته شود. WebSphere Studio Workbench شامل نام تجاری، برنامه های شریک و پیشنهادات پشتیبانی خود است.

  • چه زمانی باید Eclipse و چه زمانی WebSphere Studio Workbench را انتخاب کنید؟

    برای کمک به انتخاب تکنولوژی مورد استفاده، سازندگان ابزار باید به چند سوال ساده پاسخ دهند:

    محیط کاری پشتیبانی شده ابزار را تعیین کنید:

    • اگر فقط WebSphere است، سپس WebSphere Studio Workbench را انتخاب کنید.
    • سایر محیط ها یا برنامه های افزودنی برای فناوری های آینده؟ پلت فرم Eclipse باید انتخاب شود.
    • هر دو محیط انتخاب باید پس از ارزیابی میزان هم افزایی بین برنامه های شریک IBM و IBM انجام شود.
  • آیا کل پیشنهاد، هم کد Eclipse و هم کد خودتان را حفظ خواهید کرد؟

    • اگر نه، میز کار WebSphere Studio برای شما مناسب تر است.
  • آیا ابزارهایی را برای پلتفرم هایی که توسط IBM پشتیبانی نمی شوند ارائه می کنید؟

    • اگر بله، پس پلتفرم Eclipse باید انتخاب شود.
    • اگر نه، پس انتخاب باید بر اساس دو معیار قبلی انجام شود.
  • آیا مایل به پشتیبانی رسمی و مشارکت در موجود هستید؟ برنامه های وابسته IBM.

    • اگر بله، WebSphere Studio Workbench را انتخاب کنید.
    • اگر نه، پس پلتفرم Eclipse باید انتخاب شود.

- چارچوب رایگانبرای توسعه برنامه های کاربردی متقابل پلت فرم مدولار.

این پروژه در ابتدا در IBMبه عنوان یک IDE استاندارد شرکتی برای توسعه زبانهای مختلفبرای پلتفرم های IBM سپس این پروژه به نام تغییر یافت و برای توسعه بیشتر به جامعه ارائه شد.

اول از همه کامل Java IDE، با هدف توسعه گروهی، مجهز به ابزارهایی برای کار با سیستم های کنترل نسخه (پشتیبانی از CVS در توزیع Eclipse گنجانده شده است، چندین نوع ماژول SVN به طور فعال توسعه یافته است، پشتیبانی از VSS و دیگران وجود دارد). به دلیل رایگان Eclipse استاندارد شرکتی برای توسعه اپلیکیشن در بسیاری از سازمان ها است.

قرار دوم- به عنوان یک پلت فرم برای توسعه برنامه های افزودنی جدید (که محبوبیت پیدا کرده است - هر توسعه دهنده ای می تواند Eclipse را با ماژول های خود گسترش دهد). آن ها شدند ابزارهای توسعه C/C++(CDT)، توسط مهندسان QNX به همراه ابزارهای IBM، COBOL، FORTRAN، PHP از توسعه دهندگان مختلف توسعه یافته است. بسیاری از برنامه های افزودنی Eclipse را با مدیران برای کار با پایگاه های داده، سرورهای برنامه و غیره تکمیل می کنند.

از نسخه 3.0، Eclipse دیگر یک IDE یکپارچه نیست که از افزونه ها پشتیبانی می کند، بلکه مجموعه ای از افزونه ها است. این مبتنی بر چارچوب OSGi و SWT / JFace است که بر اساس آن لایه بعدی توسعه یافته است - پلت فرمی برای توسعه برنامه های کاربردی مشتری RCP کامل (پلتفرم مشتری غنی - (برنامه های کاربردی مشتری غنی انگلیسی). پلت فرم RCP در خدمت است. به عنوان پایه برنامه های RCP مانند Azareus و File Arranger لایه بعدی پلتفرم Eclipse است که مجموعه ای از پسوندهای RCP - ویرایشگرها، پانل ها، پرسپکتیوها، یک ماژول CVS و یک ماژول ابزار توسعه جاوا (JDT) است.

نوشته شده در جاوابنابراین یک محصول مستقل از پلتفرم است، به استثنای کتابخانه SWT که برای همه پلتفرم های رایج توسعه یافته است. کتابخانه SWT به جای Swing "آهسته" استفاده می شود و کاملاً به پلت فرم زیرین (سیستم عامل) وابسته است که سرعت و طبیعی بودن را تضمین می کند. ظاهررابط کاربری

اساس Eclipse پلت فرم مشتری غنی (RCP) است. از اجزای زیر تشکیل شده است:


  • OSGi (محیط تحویل استاندارد برای کیت ها)؛
  • SWT (کیت ابزار ویجت قابل حمل)؛
  • JFace (بافرهای فایل، دستکاری متن، )؛
  • محیط کاری Eclipse (پانل ها، ویرایشگرها، پیش بینی ها، جادوگران).
  • رابط کاربری گرافیکی با استفاده از جعبه ابزار SWT نوشته شده است. دومی، برخلاف Swing (که فقط عناصر گرافیکی خاصی از پلتفرم مورد استفاده را شبیه سازی می کند)، در واقع از اجزای گرافیکی این سیستم استفاده می کند. رابط کاربری Eclipse همچنین به یک میان افزار رابط کاربری گرافیکی به نام JFace بستگی دارد که ساخت یک رابط کاربری بر اساس SWT را آسان می کند.

    انعطاف‌پذیری از طریق پلاگین‌ها ارائه می‌شود که امکان توسعه را نه تنها در جاوا، بلکه در زبان‌های دیگر مانند C / C ++، Perl، Ruby، Python، PHP، ErLang و غیره را ممکن می‌سازد.

    بومی سازی

    از نسخه 3.1.1، یک بسته زبان برای Russification منتشر شده است. به روسی به عنوان ترجمه شده است رابط کاربری گرافیکیو همچنین مستندات.

    برای محیط زیست وجود دارد کل خطماژول های رایگان و تجاری این محیط در ابتدا برای زبان جاوا توسعه داده شد، اما اکنون افزونه های متعددی برای پشتیبانی از زبان های دیگر مانند

    • C/C++ - ابزار توسعه C/C++ CDT Eclipse
    • Perl - ماژول EPIC، Eclipse Perl Integration
    • PHP - PDT ابزارهای توسعه پی اچ پی
    • جاوا اسکریپت - پلاگین جاوا اسکریپت JSEclipse برای محیط Eclipse
    • پایتون - Pydev، محیط توسعه پایتون
    • روبی - RDT، ابزار توسعه روبی

    همچنین ماژول هایی برای ایجاد رابط های گرافیکی وجود دارد.

    برای توسعه و دریافت گزارش ها و توسعه برنامه های کاربردی BI تحلیلی، وجود دارد en:BIRT_Projectتی

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

    آپتانا(aptana.com) - توزیع Eclipse و افزونه ای که از توسعه پشتیبانی می کند با استفاده از جاوا اسکریپت(تمام کتابخانه های اصلی JS Ajax در توزیع گنجانده شده است)، HTML، CSS، Ruby on Rails، Adobe AIR.

    نظر خود را بگذارید

    2005/04/19 ناتالیا دوبووا

    جامعه منبع باز چندین پروژه کلیدی را رهبری می کند که از جمله آنها، همراه با سیستم عامل لینوکس، ایجاد پلت فرم توسعه Eclipse است. چند سال پیش توسط IBM راه اندازی شد، امروز این پلت فرم باز برای یکپارچه سازی ابزارهای توسعه برنامه به صورت رایگان در اینترنت در دسترس است. کدهای بازو توسط جامعه کاربران توسعه یافته است.

    بدون پرداختن به بحث در مورد این که برنامه نویسی چیست - یک هنر یا یک هنر، می پذیریم: در هر دو مورد، یک برنامه نویس نمی تواند بدون ابزارهایی برای ایجاد برنامه ها کار کند. همراه با تکامل فرآیند برنامه نویسی (از "جادوگری" بر دستورات ماشین گرفته تا استفاده از زبان های سطح بالا)، امکانات خودکارسازی کار سخت برنامه نویسان نیز بهبود یافت. اولین محیط های توسعه محدود به راه اندازی متوالی کامپایلرها، لینک کننده ها، لودرها و اشکال زداها با استفاده از اینترفیس بود. خط فرمان. در دهه 1980 همراه با کامپیوترهای شخصیکلاس جدیدی از محصولات نرم افزاری در بازار ظاهر شد - محیط های توسعه یکپارچه (IDE) برای الگوریتمی (پاسکال و غیره) و سپس زبان های برنامه نویسی شی گرا (Smalltalk، C ++). این منطقه به لطف سازگاری فعال توسعه دهندگان زبان جاوا به اوج واقعی خود رسیده است. معروف ترین محیط های یکپارچه برای ایجاد برنامه به این زبان عبارتند از Borland JBuilder، Symantec Visual Cafe، Microsoft J++، IBM VisualAge و Oracle JDeveloper.

    هدف اصلی یک IDE افزایش بهره وری توسعه دهندگان است. اولین محیط های توسعه، ترکیبی از عملکرد ویرایشگرهای متن برنامه، کامپایلرها و دیباگرها، عمدتاً مصرف کنندگان را از عملیات روتین آزاد می کرد. با گذشت زمان، مجموعه ویژگی های IDE غنی تر شده است. این شامل کامپایلرهای گام به گام، مرورگرهایی برای ارائه منطقی تر برنامه ها، ابزارهای تولید خودکار کد و ویرایشگرهای بصری برای ایجاد رابط های گرافیکی کاربر بود. به دنبال روندهای زمانه، محیط های توسعه از ابزاری برای افزایش بهره وری یک برنامه نویس به وسیله ای برای پشتیبانی از تمام مراحل کار گروهی در یک پروژه نرم افزاری تبدیل شده است. آخرین روند تبدیل IDE به ALM (مدیریت چرخه عمر برنامه) است، یک سیستم مدیریت چرخه عمر برنامه یکپارچه - از تعریف نیازمندی ها و مدل سازی تا پیکربندی نرم افزار و مدیریت نسخه، استقرار و نگهداری یک راه حل کلید در دست.

    هر مرحله جدید در تکامل IDE محیط های توسعه پیچیده ای دارد. با این حال، کاربران چنین محصولاتی همچنان مجبور بودند به ابزارهایی متوسل شوند که در IDE ادغام نشده بودند، البته فقط به این دلیل که ایجاد یک برنامه به نوشتن و اشکال زدایی برنامه ها در یک زبان برنامه نویسی محدود نمی شود. نیاز به استفاده در سیستم برنامه، به عنوان مثال، صفحات HTML، طرحواره های پایگاه داده رابطه ای، یا قطعات کد به زبان های دیگر (مانند Cobol یا PL / 1) توسعه دهندگان را مجبور به استفاده از ابزارهای مناسبی می کند که در ابتدا در برنامه گنجانده نشده بودند. IDE.

    به همین دلیل است که بسیاری از فروشندگان محیط‌های توسعه تجاری تلاش می‌کنند تا آن‌ها را تا حد امکان باز کنند و مکانیزم‌های ویژه‌ای را برای یکپارچه‌سازی ابزارهای خارجی فراهم کنند. اما هیچ محیطی به تنهایی قادر به برآوردن تمام نیازهای کاربر ممکن نیست. برای این کار باید نسبت به زبان برنامه نویسی کاملاً خنثی باشد و حداکثر مجموعه توابع را پشتیبانی کند. Eclipse چنین محیطی نیست، اما یک پایگاه است، یک پلتفرم که با آن می توانید محیط های توسعه چند منظوره و چند زبانه بسازید.

    سکو

    همانطور که مبتکران پروژه Eclipse توضیح می‌دهند، ایده او ایجاد «آپاچی برای ابزارهای توسعه» بود - یک پلتفرم باز که حداکثر ویژگی‌های اساسی را برای محیط‌های توسعه فراهم می‌کند و مکانیسم‌هایی را برای یکپارچه‌سازی ابزارهای مختلف فراهم می‌کند. اولین نسخه این پلتفرم توسط IBM توسعه یافت و در پایان سال 2001 به صورت متن باز منتشر شد. پیاده سازی های تجاری مبتنی بر Eclipse به زودی شروع به ظهور کردند که توسط WebSphere Studio Application Developer 4.0 پیشگام شد. Eclipse اکنون یک اکوسیستم کامل از توسعه منبع باز دارد که فروشندگان و کاربران ابزار، سازمان های تحقیقاتی و توسعه دهندگان فردی را گرد هم می آورد.

    در اسناد رسمی بنیاد Eclipse ( www.eclipse.org) پلتفرم Eclipse به عنوان یک پلتفرم توسعه باز مستقل از فروشنده تعریف می شود که چارچوب و ویژگی های نمونه و همچنین ابزارهای قابل توسعه را ارائه می دهد. جعبه ابزار در پلتفرم Eclipse از این نظر معمولی است که کاربرد ویژگی های اساسی پلتفرم را بررسی می کند، موقعیت های معمول استفاده از آنها را نشان می دهد و از توسعه و نگهداری خود پلتفرم Eclipse پشتیبانی می کند. این جعبه ابزار قابل توسعه است زیرا عملکرد آن از طریق رابط های برنامه نویسی مستند در دسترس است. اصول اساسی، که سازندگان پلتفرم Eclipse را راهنمایی کرده و مطابق با آن به توسعه خود ادامه می دهد، به شرح زیر است:

    • پشتیبانی از ساخت ابزار برای توسعه برنامه؛
    • پشتیبانی از تعداد نامحدودی از فروشندگان ابزار، از جمله توسعه دهندگان نرم افزار مستقل؛
    • پشتیبانی از ابزارهایی برای کار با انواع محتوای دلخواه، از جمله HTML، جاوا، C، صفحات جاوا سرور، EJB، XML، GIF و غیره؛
    • اطمینان از ادغام "یکپارچه" ابزارها برای کار با انواع مختلف محتوا تولید کنندگان مختلف;
    • پشتیبانی از محیط های توسعه برنامه با رابط های کاربری معمولی و گرافیکی؛
    • ارائه توانایی اجرای یک محیط توسعه بر اساس سیستم عامل های مختلف (امروزه ابزارهای مبتنی بر Eclipse برای Linux، HP-UX، IBM AIX، Sun Solaris، QNX، Mac OS X، Windows پیاده سازی می شوند).
    • با توجه به منافع توسعه پلتفرم، محبوبیت زبان جاوا هنگام ایجاد ابزارهای توسعه.

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

    محیط توسعه Eclipse

    اساس معماری پلتفرم Eclipse اصل استفاده از پلاگین ها (plug-in) است. این پلتفرم مکانیسم هایی را برای شناسایی، ادغام و اجرای چنین ماژول هایی اجرا می کند (شکل را ببینید). توسعه دهنده ای که می خواهد از قدرت پلتفرم Eclipse استفاده کند، جعبه ابزار خود را در جاوا به عنوان یک افزونه جداگانه می نویسد. این ماژول با فایل های موجود در فضای کاری کار می کند که با استفاده از کامپوننت فضای کاری پیاده سازی می شود. و رابط کاربری آن بر اساس ابزارهای کامپوننت workbench است که ساختار کلی رابط و امکان گسترش آن را تعریف می کند.

    به طور معمول، یک پلاگین واحد ساده ترین عملکرد یک IDE مبتنی بر پلتفرم Eclipse را اجرا می کند، در حالی که ابزارهای پیچیده تر از چندین ماژول ساخته می شوند. در همان زمان، تقریباً تمام عملکردهای داخلی پلتفرم Eclipse نیز با استفاده از چنین ماژول هایی - به استثنای یک هسته کوچک Platform Runtime - اجرا می شود. هر افزونه فایل مانیفست (مانیفست) خود را دارد که رابطه را توصیف می کند این ماژولبا دیگران. هنگامی که یک محیط توسعه مبتنی بر پلتفرم Eclipse راه اندازی می شود، Platform Runtime مجموعه پلاگین های موجود را تعیین می کند، فایل های مانیفست آنها را می خواند و یک رجیستری پلاگین ایجاد می کند. پس از راه اندازی سیستم، ماژول های اضافی دیگر نمی توانند اضافه شوند. پروژه Eclipse یک محیط ویژه برای ایجاد پلاگین ها - Plug-In Development Environment (PDE) پیاده سازی کرد.

    با کمک ماژول های ویژه، اجزای فضای کاری (فضای کاری) و رابط کاربری (ورک میز) پلتفرم Eclipse پیاده سازی می شوند. فضای کاری حاوی فایل هایی است که توسط کاربران ابزارهای پیاده سازی شده توسط افزونه ها ایجاد می شوند. مؤلفه workbench چارچوب و ابزار مشترکی را برای گسترش رابط کاربری محیط توسعه مبتنی بر پلتفرم Eclipse ارائه می‌کند و شامل دو مؤلفه برای پیاده‌سازی ابزار ارائه اطلاعات به کاربر است.

    • ابزار استاندارد ابزارک (SWT) مجموعه‌ای از عناصر رابط و یک کتابخانه گرافیکی است که مکانیسم‌هایی برای ادغام با سیستم پنجره یک پلت فرم عامل خاص دارد، اما APIهای مستقل از سیستم عامل را پیاده‌سازی می‌کند. این به شما امکان می دهد تا رابط های کاربری محیط توسعه را طبق همان اصول بسازید که با محیط پنجره آشنا برای مصرف کننده مطابقت دارد، اما برای حداکثر محدوده ممکن سیستم عامل در نظر گرفته شده است.
    • JFace یک جعبه ابزار برای پیاده سازی تعدادی از وظایف رایج مربوط به رابط های برنامه نویسی با استفاده از ابزار SWT است.

    بر اساس API های ارائه شده توسط مؤلفه های SWT و JFace، یک رابط کاربری شخصی ساخته شده است که ساختار تعامل مصرف کننده با جعبه ابزار توسعه را تعریف می کند. رابط پلتفرم Eclipse با استفاده از ویرایشگرها (ویرایشگر)، نماها (نما) و پرسپکتیوها (چشم انداز) سازماندهی شده است.

    هدف ویرایشگرها باز کردن، ویرایش و ذخیره اشیاء فضای کاری است. این پلتفرم دارای یک ویرایشگر داخلی برای منابع متنی است و سایر ویژگی ها باید به عنوان افزونه پیاده سازی شوند. View ها اطلاعاتی در مورد شی ای که کاربر در حال حاضر با آن کار می کند ارائه می دهد. در نهایت، مکانیسم پرسپکتیو به شما امکان انتخاب و سازماندهی را می دهد ویراستاران مناسبو نماهایی که روی صفحه نمایش داده می شوند.

    سازمان

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

    توسعه یک محصول مطابق با اصول منبع باز کیفیت کد را بهبود می بخشد، زیرا به طور مشترک توسط بسیاری از توسعه دهندگان علاقه مند "پال می شود". اشکال زدایی آسان تر و بهتر می شود - به لطف دسترسی به کد منبع برنامه و باز هم مشارکت یک تیم توزیع شده در کار. همکاری به شما امکان می دهد خطرات ایجاد فناوری های پیچیده را به اشتراک بگذارید. و بدنه توسعه جمعی پلتفرم بدون توجه به فراز و نشیب هایی که ممکن است با ارائه دهندگان محیط های توسعه خاص رخ دهد، پشتیبانی خود را تضمین می کند. در نهایت، استفاده از یک پلت فرم توسعه منبع باز با مکانیزم انعطاف پذیر پلاگین برای اجرای عملکردهای اضافی، امکانات نامحدودی را برای بهبود آن باز می کند.

    Eclipse Platform Architecture

    با این حال، درک مزایای مدل توسعه منبع باز به سادگی با انتشار یک پلت فرم فنی "در شناور آزاد" ممکن نخواهد بود. شما باید فرآیند را سازماندهی کنید. با انتشار اولین نسخه Eclipse در سال 2001، این نگرانی توسط یک کنسرسیوم سازماندهی شده توسط IBM به همراه تعدادی از بازیگران برجسته بازار به عهده گرفت و در فوریه 2004، هیئت مدیره Eclipse تصمیم گرفت بنیاد Eclipse را به یک بنیاد تبدیل کند. شرکت مستقل غیر انتفاعی

    بنیاد Eclipse، کنسرسیومی متشکل از بیش از 60 شرکت، کار را برای بهبود پلتفرم Eclipse و سایر پروژه‌های منبع باز هماهنگ می‌کند.

    پروژه Eclipse کاملاً باز است، هر توسعه دهنده علاقه مندی که لازم نیست کارمند هیچ شرکتی باشد می تواند در آن شرکت کند. در اصل، همه می توانند نه تنها به جزئیات توسعه علاقه مند شوند و در شناسایی خطاها مشارکت داشته باشند، بلکه در نوشتن کد و طراحی کلی نسخه بعدی پلت فرم نیز شرکت کنند. با این حال، Eclipse از اصل اولویت دادن به حرفه ای بودن پیروی می کند. یک توسعه دهنده با سابقه حرفه ای اثبات شده می تواند انتظار مسئولیت بیشتر و فرصتی برای پیاده سازی فعالانه مهارت های خود در پروژه های Eclipse را داشته باشد. برخی از توسعه دهندگان به عنوان "مسئول" (متعهد کننده) تعریف می شوند، زیرا آنها مسئول کدهای منبع هستند و فقط آنها حق ایجاد نسخه های جدید در مخزن کد منبع باز را دارند. به طور معمول، این توسعه دهندگان کارمندان شرکت هایی هستند که هزینه کار خود را در پروژه های Eclipse پرداخت می کنند.

    فرآیند توسعه تکراری است و هدف آن به حداکثر رساندن مشارکت اعضای جامعه Eclipse در کار روی پروژه است. قبل از انتشار نسخه بعدی چندین مرحله با مدت زمان ثابت (به ترتیب چند هفته) انجام می شود که هر کدام یک چرخه کامل است که شامل برنامه ریزی، توسعه، آزمایش و انتشار میانی نسخه است. تکمیل چرخه بعدی با انتشار باز شرح ویژگی های جدید سیستم همراه است که اعضای جامعه را به بحث، استفاده و ارائه توصیه هایی برای بهبود تشویق می کند. در نتیجه، در مراحل بعدی توسعه، می توان واکنش جامعه را به آزادی موقت در نظر گرفت. این یک روند باز برای بهبود مستمر پلت فرم Eclipse و توسعه سایر ابتکارات مبتنی بر آن است.

    هدف پروژه فناوری Eclipse هماهنگ کردن تلاش های توسعه دهندگان، محققان، اعضای علمی و سازمان های آموزشیبرای تعیین چشم انداز پلتفرم Eclipse و سایر تحولات منبع باز. از جمله مهمترین زیر پروژه های تحقیقاتی در این زمینه می توان به توسعه نرم افزار جنبه گرا (AspectJ و AJDT)، ایجاد یک هسته جایگزین برای Eclipse Runtime (Equinox)، ایجاد یک پلت فرم توسعه مشترک (Koi)، مدیریت پیکربندی نرم افزار اشاره کرد. (Stellation)، جعبه ابزار برای طرحواره های XML (تعریف طرحواره XML) و برای توسعه مبتنی بر مدل (تبدیل مدل مولد).

    انجمن

    استفاده از تمام مواد به دست آمده از اجرای پروژه های Eclipse تابع قوانین مجوز عمومی عمومی (CPL) است که توسط ابتکار منبع باز تایید شده است. بر اساس CPL، هر کسی می‌تواند از Eclipse برای مقاصد تجاری و غیر تجاری استفاده و توزیع کند. به صورت رایگان در وب سایت eclipse.org در دسترس هستند:

    • نسخه های فعلی پلتفرم Eclipse برای استفاده مستقیم (به صورت باینری)؛
    • مخزن کد منبع که در آن هر کسی می تواند محتویات و تاریخچه ویرایش هر کدام را مشاهده کند منبع فایلو همچنین اسکریپت هایی برای کامپایل مجدد و ساختن پلت فرم Eclipse از کدهای منبع دریافت کنید.
    • باز کردن انجمن های گفتگو برای بحث در مورد پلتفرم Eclipse.
    • پایگاه داده اشکال برای ردیابی نقص و مشکلات نسخه های فعلیبستر، زمینه. با استفاده از این پایگاه داده، کاربران می توانند نقص های شناخته شده را در پیشرفت های مبتنی بر Eclipse شناسایی کرده و مشکلات جدیدی را که کشف می کنند عمومی کنند.
    • برنامه های توسعه و تماس های توسعه دهندگان درگیر در پروژه های Eclipse.

    امروز در eclipse.orgرایگان در دسترس - بیش از صد افزونه در کدهای منبع برای پلت فرم Eclipse. پروژه های متن باز Eclipse در مجموع بیش از 2 میلیون خط کد هستند.

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

    بنابراین، در پلت فرم Eclipse، تمام محصولات خانواده IBM Rational کار می کنند. Borland قصد دارد تمامی ابزارهای پشتیبانی خود را به Eclipse منتقل کند چرخه زندگیبرنامه های کاربردی. یک نسخه Eclipse از ابزارهای توسعه تعبیه شده QNX وجود دارد. پروژه مشابهی توسط ویند ریور در حال اجراست. به نوبه خود، Hewlett-Packard یک محیط توسعه کامپوننت مبتنی بر Eclipse را برای سیستم مدیریت مصرف اینترنت خود ارائه می دهد. مخاطب هدفکه اپراتورهای مخابراتی هستند. نوکیا از پشتیبانی از Eclipse به عنوان یک پلتفرم توسعه خبر داد برنامه های موبایل. آی‌بی‌ام یک جعبه ابزار محاسباتی خودکار مبتنی بر Eclipse را پیاده‌سازی کرده است که برای پشتیبانی از فناوری‌های محاسباتی مستقل در برنامه‌های کاربردی توسعه‌یافته طراحی شده است. از میان تمامی فروشندگان پیشرو نرم افزار در جهان، تنها Sun Microsystems و Microsoft با بنیاد Eclipse همکاری نمی کنند.

    فروشندگان محیط های تجاری مبتنی بر Eclipse به توسعه دهندگان شخص ثالث اجازه می دهند تا افزونه هایی را برای IDE خود بفروشند و این اتفاق می افتد که یک شرکت همان پلاگین اختصاصی را برای محیط های مختلف در پلتفرم Eclipse پیاده سازی می کند. این نه تنها روشی برای توسعه بازارهای جدید است، بلکه راه دیگری برای افزایش اهمیت پروژه است. کاربران برای آزادی انتخاب ارزش قائل هستند: اگر از عملکرد موجود یک محیط مبتنی بر پلت فرم منبع باز راضی نباشند، می توانند آن را از طریق توسعه خود یا با خرید راه حل های تجاری در همان قالب گسترش دهند.

    این گروه ها از پیشرفت های Eclipse به روش های مختلف استفاده می کنند، اما همه آنها در توسعه آن سهیم هستند. روند استفاده از پلتفرم Eclipse برای ساخت برنامه های غیر IDE است. این امکان پذیر است زیرا در راه حل فن آوریپلتفرم Eclipse دارای عناصر خاص IDE نیست. در نسخه سوم Eclipse، از یک پلتفرم برای محیط های توسعه به یک پلتفرم برای پیاده سازی ایستگاه های کاری کلاینت با امکانات کامل (Rich Client Platform) تکامل یافته است. تصادفی نیست که IBM در حال اجرای محیط همکاری امیدوارکننده Workplace بر اساس Eclipse است.

    ادبیات

    1. مارک آر اریکسون، آنگوس مک اینتایر. ، 2001، نوامبر.
    2. J. dea Rivieres، J. Wiegand. کسوف بستری برای ادغام ابزارهای توسعه. مجله سیستم های آی بی ام، 2004، شماره. 2.

    ساختار سازمانی Eclipse

    توسعه Eclipse و مشارکت در پروژه های متن باز سازمان های مختلف و توسعه دهندگان فردی توسط کنسرسیوم مستقل غیر انتفاعی Eclipse Foundation هماهنگ می شود.

    هیئت مدیره بنیاد Eclipse از چهار دسته اصلی شرکت کنندگان تشکیل شده است:

    • توسعه دهندگان استراتژیک (توسعه دهندگان استراتژیک) - Actuate، Borland، IBM، Computer Associates، Intel، QNX، Wind River، Sybase، Scapa Technologies، BEA Systems.
    • مصرف کنندگان استراتژیک (مصرف کنندگان استراتژیک) - HP، Montavista Software، SAP، Serena Software.
    • ارائه دهندگان شامل (ارائه دهندگان افزودنی)؛
    • سرنخ های پروژه منبع باز

    همه توسعه دهندگان استراتژیک و مصرف کنندگان استراتژیک در هیئت مدیره هستند و دو گروه دیگر نمایندگان خود را به آن تفویض می کنند. اعضای استراتژیک کنسرسیوم همچنین دارای حقوق مشخصی برای شرکت در کمیته های مدیریت پروژه و شوراهایی هستند که فرآیندهای توسعه را هماهنگ می کنند.

    کنسرسیوم چندین پروژه منبع باز اساسی را که شامل تعداد معینی از پروژه های فرعی است، نگهداری می کند. پروژه اصلی توسط کمیته مدیریت پروژه (PMC) مدیریت می شود. برای مدیریت توسعه به طور کلی، سه شورای اصلی ایجاد می شود - در مورد تعریف الزامات (شورای الزامات)، در مورد معماری (شورای معماری) و در مورد برنامه ریزی (شورای برنامه ریزی).

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

    پروژه ها توسط تیم های توسعه به رهبری مدیران پروژه و شامل توسعه دهندگان و توسعه دهندگان مسئول اجرا می شوند. اولی ها مشغول نوشتن کد، شناسایی خطاها، آزمایش و مستندسازی برنامه ها هستند و همچنین وظایف دیگری را در پروژه انجام می دهند. توسعه دهندگان مسئول حق دارند مخزن کد منبع را دوباره پر کنند و باید بر توسعه پروژه تأثیر بگذارند. شرکت‌هایی که دارای وضعیت توسعه‌دهنده استراتژیک در بنیاد Eclipse هستند، باید حداقل یک پروژه را رهبری کنند. آنها همچنین به رهبری کمیته ها تشویق می شوند.



    Eclipse یک پلتفرم ایجاد نرم افزار مبتنی بر جاوا است که توانایی توسعه برنامه ها با پلاگین ها را فراهم می کند. این شامل مجموعه ای از اجزای داخلی است که در میان آنها محصول شناخته شده Eclipse - محیط توسعه پلاگین PDE است. PDE به شما امکان می دهد خود پلتفرم را که از اجزای داخلی تشکیل شده است گسترش دهید. سازندگان Toolkit می‌توانند افزونه‌های خود را ارائه دهند و به کاربران یک محیط توسعه منسجم (IDE) بدهند.

    علاوه بر زبان جاوا که Eclipse با آن نوشته شده است، از محیط توسعه برای سایر زبان های برنامه نویسی استفاده می شود. پلاگین های زیادی ساخته شده اند که از C++، Fortran، Perl، Prolog، Python، Ruby و غیره پشتیبانی می کنند. این پلتفرم می تواند مبنایی برای نرم افزارهای دیگری باشد که به نوشتن برنامه ها مرتبط نیستند، مانند telnet و DBMS. نمونه دیگری از کدهای مبتنی بر Eclipse، محیط توسعه PDT با است توابع اساسیبرای ویرایش و اشکال زدایی برنامه های PHP.

    تمام حقوق منحرف شده است

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

    بنابراین ترس و تردیدهایی وجود دارد که باز کردن برنامه هامنجر به از بین رفتن مالکیت معنوی می شود، زیرا کپی لفت به سایر بخش های نرم افزار گسترش می یابد. به عبارت دیگر، مجوز مستلزم آن است که همه برنامه های کاربردی منبع باز با حقوق یکسان توزیع شوند. این موضوع تحت مجوز عمومی عمومی (GNU) صادق است - لینوکس تحت آن توزیع می شود. اما مجوزهایی وجود دارد که نگرش متفاوتی به منافع عمومی و تجاری ارائه می دهد.

    OSI یک سازمان غیرانتفاعی است که به وضوح تعریف می کند که منبع باز چیست و مجوزهایی را تأیید می کند که معیارهای آن را برآورده می کنند. پلت فرم Eclipse تحت EPL، یک مجوز منبع باز تایید شده توسط OSI که استفاده تجاری از آن را تسهیل می کند و در عین حال وفاداری نویسندگان منبع باز را حفظ می کند، توزیع شده است.

    سازندگان پلاگین یا کاربران محیط توسعه نرم‌افزار باید هر کد Eclipse را که استفاده می‌کنند یا تغییر می‌دهند منتشر کنند، اما می‌توانند افزونه‌های خود را به هر نحوی که دوست دارند مجوز دهند. انتقال حقوق به آنها به عنوان افتتاح نرم افزارمانند انتشار کد منبع مورد نیاز نیست.

    و در حالی که بسیاری از Eclipse برای ایجاد پیشرفت های خود استفاده نمی کنند، در دسترس بودن کد منبع پلت فرم پراهمیتنه تنها به دلیل عدم وجود هزینه، بلکه به این دلیل که نوآوری را ترویج می کند و برنامه نویسان را تشویق می کند تا محصول خود را به عنوان کمکی به هدف مشترک ارائه دهند. دلیل اصلیاین - هر چه کار بیشتر در پروژه سرمایه گذاری شود، برای همه اهمیت بیشتری دارد. اگر مفید باشد، تعداد توسعه دهندگان حتی بیشتر می شود و جامعه ای در اطراف پروژه ایجاد می شود، مشابه آنهایی که در اطراف لینوکس و آپاچی به وجود آمده اند.

    سازمان غیر انتفاعی

    Eclipse یک محیط توسعه، کتابخانه ها و ابزارهایی برای ایجاد، استقرار و مدیریت نرم افزار و همچنین جامعه ای از سازندگان آن است. این پلتفرم توسط IBM در سال 2001 و با حمایت فروشندگان نرم افزار ایجاد شد.

    بنیاد Eclipse در سال 2004 تاسیس شد. این انجمن غیرانتفاعی است که از پروژه های پلت فرم پشتیبانی می کند و جامعه توسعه دهندگان و سیستم برنامه ها و خدمات مکمل را بهبود می بخشد. امروزه اکوسیستم Eclipse شامل سازمان ها و افراد صنعت نرم افزار می شود.

    این بنیاد بر پروژه های پلت فرم نظارت و مدیریت می کند. این در خدمت جامعه است و توسعه دهندگانی که committers نامیده می شوند، در کارکنان نیستند. آنها کارمندان سایر سازمان ها یا برنامه نویسان مستقل هستند که داوطلبانه وقت شخصی خود را برای کار روی یک پروژه اختصاص می دهند.

    Eclipse: ویژگی های پلت فرم

    • ایجاد انواع ابزارهای توسعه نرم افزار.
    • تعداد نامحدودی از ارائه دهندگان ابزار، از جمله موارد مستقل.
    • پشتیبانی از ابزارهای کار با محتوای مختلف مانند HTML، C، EJB، Java، JSP، GIF و XML.
    • اطمینان از یکپارچگی کامل در درون و بین محتوای مختلف.
    • Eclipse یک محیط توسعه نرم افزار با یا بدون آن است.
    • کار در مختلف سیستم های عاملاز جمله لینوکس، ویندوز، سولاریس AIX، Mac OS X.
    • استفاده از جاوا، یک زبان محبوب برای ابزارهای نوشتن.

    راهنمای شروع Eclipse

    پس از اولین راه اندازی برنامه، پیام خوش آمدگویی ظاهر می شود. کاربر می تواند به نمای کلی رفته و ویژگی ها، مثال ها یا آموزش های جدید را بیاموزد.

    فضای کاری از پنل های دید تشکیل شده است. مجموعه بازنمایی ها را پرسپکتیو می نامند. برای مثال دیدگاه منابع شامل نماهایی برای ویرایش، مدیریت و مشاهده پروژه ها می شود.

    مبتدیان باید با "مبانی فضای ابزار" شروع کنند، جایی که می توانید در مورد بخش های مختلف Eclipse و نحوه تعامل آنها اطلاعات زیادی کسب کنید.

    کار با JDT

    برای آشنایی با JDT، می توانید پروژه Eclipse Java را باز کنید. برای انجام این کار، آیتم منو "File" - "New" - "Java Project" را انتخاب کنید، نام پروژه را وارد کنید و روی "Finish" کلیک کنید.

    برای تغییر چشم انداز فعلی، باید آیتم منو "پنجره" - "چشم انداز باز" - جاوا را انتخاب کنید یا از طریق "پنجره" - "پنجره جدید" یک پنجره جدید باز کنید و چشم انداز دیگری را انتخاب کنید.

    چشم انداز شامل نماهایی است که برای توسعه جاوا طراحی شده اند. در گوشه سمت چپ، در بالا، سلسله مراتبی با بسته‌های جاوا، کلاس‌ها، JARها و فایل‌های متفرقه به نام «مرورگر بسته» وجود دارد. در همان زمان، منوی اصلی با 2 مورد پر شد: Source و Refactor.

    ایجاد برنامه در JDT

    برای ایجاد یک برنامه جاوا، روی پروژه ایجاد شده قبلی کلیک راست کرده و "جدید" - "کلاس" را انتخاب کنید. در کادر محاوره ای پاپ آپ، نام کلاس را وارد کنید. در زیر سوال: "چه خرد روشی را می خواهید ایجاد کنید؟" - public static void main (String args) را مشخص کنید و روی Finish کلیک کنید.

    نتیجه یک برنامه حاوی کلاس معرفی شده و یک main() خالی خواهد بود. روش باید تکمیل شود کد برنامه(اعلام j عمدا حذف شده است):

    کلاس عمومی سلام(

    اصلی خالی استاتیک عمومی (رشته آرگ) (

    برای (j=0; j<=5;j++)

    System.out.println ("سلام");

    در حین تایپ، می توانید به ویژگی های ویرایشگر توجه کنید:

    • تکمیل خودکار؛
    • بررسی نحو؛
    • بسته شدن خودکار یک براکت باز یا علامت نقل قول.

    تکمیل کد با فشار دادن Ctrl + Spacebar فراخوانی می شود. با این کار فهرستی از گزینه‌های حساس به بافت ظاهر می‌شود که می‌توانند توسط صفحه‌کلید یا ماوس انتخاب شوند، خواه فهرستی از روش‌ها در این شی یا بخشی از یک کلمه کلیدی باشد.

    نحو در برابر کامپایل افزایشی بررسی می شود. زمانی اتفاق می افتد که کد همزمان با کامپایل شدن نوشته می شود. زیر خطاهای نحوی با رنگ قرمز خط کشیده شده و یک نقطه قرمز با یک ضربدر مایل سفید در سمت چپ آنها ظاهر می شود. خطاهای باقی مانده در حاشیه به شکل یک لامپ نشان داده شده است. با Quick Fix می توانید خودتان آنها را برطرف کنید.

    در مثال بالا، لامپ در مقابل عبارت for قرار دارد زیرا هیچ اعلان i وجود ندارد. پس از دوبار کلیک کردن بر روی لامپ، لیستی از اصلاحات احتمالی ظاهر می شود. در این مورد، برای j پیشنهاد می شود:

    • فیلد کلاس؛
    • پارامتر روش؛
    • متغیر محلی

    اگر یکی از گزینه ها را با ماوس انتخاب کنید، می توانید متن حاصل را مشاهده کنید.

    با دوبار کلیک کردن روی گزینه مورد نیاز یک کد برنامه تولید می شود.

    راه اندازی برنامه

    اگر هیچ خطای کامپایل وجود نداشته باشد، برنامه را می توان از طریق آیتم منوی Start راه اندازی کرد. هیچ مرحله کامپایل وجود ندارد، زیرا در زمان ذخیره کد انجام می شود. در گفتگوی "Run Configuration" ظاهر می شود که مقادیر مورد نیاز آن قبلاً تنظیم شده است، باید روی دکمه Run در سمت راست، در زیر کلیک کنید. یک کنسول با برگه ها و نتیجه برنامه در پایین ظاهر می شود.

    برنامه را می توان در یک دیباگر اجرا کرد. اول از همه، یک نقطه شکست در System.out.println() با دو کلیک ماوس بر روی فیلد خاکستری سمت چپ پنجره ویرایش، در کنار فراخوانی متد، تنظیم می شود. در نتیجه یک نقطه آبی ظاهر می شود. منوی "شروع" - "اشکال زدایی" را انتخاب کنید. پنجره پیکربندی راه اندازی دوباره ظاهر می شود. پس از کلیک بر روی دکمه Start، نمای Debug با نماهای جدید ظاهر می شود.

    در نمای "Debug" در سمت چپ، در بالا، یک پشته تماس و برای کنترل پیشرفت برنامه وجود دارد. پنل شامل دکمه هایی برای توقف، ادامه و خروج از برنامه، اجرا و پرش از دستور بعدی و بازگشت از یک متد است. در بالا سمت راست یک سری از پانل های تب دار وجود دارد: متغیرها، نقاط شکست، عبارات و صفحه. وقتی تب متغیر را انتخاب می کنید، می توانید مقدار متغیر j را ببینید.

    اطلاعات دقیق در مورد هر یک از نماها را می توان با یک سرنخ زمینه ارائه کرد. فقط باید روی هدر پنل کلیک کنید و F1 را فشار دهید.

    افزونه های اضافی

    محیط‌های توسعه نرم‌افزار که برای اصلاح، کامپایل و اشکال‌زدایی آنها در Eclipse طراحی شده‌اند، با مؤلفه‌هایی تکمیل می‌شوند که قادر به مدل‌سازی، ساخت خودکار، ماژول‌های آزمایشی، عملکرد، پیکربندی و مدیریت نسخه هستند.

    سیستم مدیریت منبع CVS به شما این امکان را می دهد که روی آنها پیمایش کنید. در این مورد، تغییرات ایجاد شده مخلوط نمی شود. این بخش مهم و جدایی ناپذیر اکلیپس است.

    محیط توسعه در eclipse.org قرار دارد. پلاگین ها در دایرکتوری Plug-in Central قرار دارند.

    معماری

    اساس پلتفرم، مشتریان RCP غنی از نظر عملکردی است. ساده شده، آنها را می توان به عنوان مجموعه ای از پلاگین های مورد استفاده در توسعه برنامه ها نشان داد. همچنین اجزای اضافی توصیه شده و اختیاری وجود دارد.

    اجزای اصلی به شرح زیر است:

    • زمان اجرا مدل مؤلفه را بر اساس مشخصات OSGi، پسوندها و نقاط توسعه تعریف می کند. همچنین خدمات اضافی مانند syslog و concurrency را ارائه می دهد.
    • بسته SWT شامل توابع Eclipse و ویجت های رابط کاربری است. دارای یک افزونه با کلاس هایی است که ایجاد برنامه های گرافیکی را آسان تر می کند.
    • فضای ابزار شامل پرسپکتیو، نماها و پنجره های ویرایش است.
    • مؤلفه Help پشتیبانی کاربر را در قالب یک سیستم راهنما یا لیست وظایف تعاملی ارائه می دهد.
    • افزونه "Update" به شما امکان می دهد آخرین نسخه نرم افزار را دریافت کنید.
    • مؤلفه Team زیرساختی را برای اتصال خودتان ارائه می دهد

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