Dezvoltarea unui sistem de căutare automată a obiectelor dintr-o imagine. Noțiuni introductive cu platforma Eclipse

19.04.2005 Natalya Dubova

Comunitatea Open Source are mai multe proiecte cheie, inclusiv, împreună cu sistemul de operare Linux, crearea platformei de dezvoltare Eclipse. Lansată acum câțiva ani de la IBM, astăzi această platformă deschisă pentru integrarea instrumentelor de dezvoltare a aplicațiilor este distribuită gratuit în sursă deschisă și dezvoltată de o comunitate de utilizatori.

Fără a intra într-o discuție cu privire la întrebarea dacă programarea este o artă sau un meșteșug, admitem: în ambele cazuri, un programator nu se poate lipsi de instrumente pentru crearea de programe. Odată cu evoluția procesului de programare (de la „vrăjitorie” peste instrucțiunile mașinii până la utilizare limbi de nivel înalt) s-a îmbunătățit și capacitatea de a automatiza munca grea a programatorilor. Mediile timpurii de dezvoltare au fost limitate la rularea secvențială a compilatoarelor, linkerelor, încărcătoarelor și depanatoarelor folosind o interfață linie de comandă. În anii 80, împreună cu computerele personale, a apărut o piață pentru produse software de o nouă clasă - medii de dezvoltare integrate (IDE) pentru limbaje de programare algoritmice (Pascal etc.) și apoi orientate pe obiecte (Smalltalk, C++). Adevărata înflorire această zonă realizat datorită adaptării active de către dezvoltatorii limbajului Java; Cele mai cunoscute medii integrate pentru crearea de programe în acest limbaj sunt Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge și Oracle JDeveloper.

Scopul principal al unui IDE este de a crește productivitatea dezvoltatorului. Primele medii de dezvoltare, care combinau funcționalitățile editorilor de text de programe, compilatoarelor și depanatoarelor, au eliberat în primul rând consumatorii de operațiuni de rutină. De-a lungul timpului, setul de caracteristici al IDE a devenit mai bogat. Include compilatoare pas cu pas, browsere pentru o prezentare mai logică a programelor, instrumente de generare automată a codului și editori vizuali pentru crearea de interfețe grafice cu utilizatorul. Urmând tendințele vremurilor, mediile de dezvoltare s-au transformat din instrumente pentru creșterea productivității programatorilor în mijloace de sprijinire a tuturor etapelor de lucru colectiv pe un proiect software. Ultimul trend- transformarea IDE-ului în ALM (gestionarea ciclului de viață al aplicației), un sistem integrat de management al ciclului de viață al aplicației - de la definirea și modelarea cerințelor până la configurare și gestionarea versiunii software, implementarea și întreținerea soluției finite.

Fiecare nouă etapă în evoluția IDE-urilor a făcut mediile de dezvoltare mai complexe. Cu toate acestea, utilizatorii unor astfel de produse au fost forțați totuși să recurgă la instrumente neintegrate în IDE, fie și doar pentru că crearea unei aplicații nu se limitează la scrierea și depanarea programelor într-un singur limbaj de programare. Necesitatea de a utiliza, de exemplu, pagini HTML, scheme în sistemul de aplicații baze de date relaționale date sau bucăți de cod în alte limbi (cum ar fi Cobol sau PL/1) forțează dezvoltatorii să folosească instrumentele corespunzătoare care nu au fost incluse inițial în IDE.

Acesta este motivul pentru care mulți furnizori de medii de dezvoltare comercială se străduiesc să le facă cât mai deschise și să ofere mecanisme speciale pentru integrarea instrumentelor externe. Dar niciun mediu nu poate satisface toate cerințele posibile ale utilizatorilor. Pentru a face acest lucru, trebuie să fie complet neutru față de limbajul de programare și să suporte setul maxim de funcții. Eclipse nu este un astfel de mediu, dar este o bază, o platformă cu care poți construi medii de dezvoltare multifuncționale și multilingve.

Platformă

După cum explică inițiatorii proiectului Eclipse, ideea acestuia a fost de a crea „Apache pentru instrumente de dezvoltare” - o platformă deschisă care oferă maxim capabilități de bază pentru medii de dezvoltare și furnizarea de mecanisme pentru integrarea diverselor instrumente. Prima versiune a acestei platforme a fost dezvoltată de IBM și lansată ca sursă deschisă la sfârșitul anului 2001. Implementările comerciale bazate pe Eclipse au început în curând să apară, fiind pionieri de WebSphere Studio Application Developer 4.0. Acum există un întreg ecosistem de dezvoltare open source în jurul lui Eclipse, care reunește furnizorii și utilizatorii de instrumente, organizațiile de cercetare și dezvoltatorii individuali.

În documentele oficiale ale Fundației Eclipse ( www.eclipse.org Platforma Eclipse este definită ca o platformă de dezvoltare deschisă, neutră pentru furnizori, care oferă cadru și capabilități exemplare, precum și instrumente extensibile. Instrumentele din cadrul Platformei Eclipse sunt standard în sensul că ajută la testarea aplicabilității capacităților de bază ale platformei, ilustrează situații tipice pentru utilizarea lor și sprijină dezvoltarea și întreținerea platformei Eclipse în sine. Setul de instrumente este extensibil deoarece funcționalitatea sa este accesibilă prin interfețe software documentate. Principii de bază, care i-a ghidat pe creatorii Platformei Eclipse și în conformitate cu care aceasta continuă să se dezvolte, sunt următoarele:

  • suport pentru construirea instrumentelor de dezvoltare a aplicațiilor;
  • suport pentru un număr nelimitat de furnizori de instrumente, inclusiv dezvoltatori independenți de software;
  • suport pentru instrumente de lucru cu tipuri arbitrare conținut, inclusiv HTML, Java, C, JavaServer Pages, EJB, XML, GIF etc.;
  • asigurarea integrării „fără întreruperi” a instrumentelor pentru lucrul cu diferite tipuri de conținut diferiți producători;
  • suport pentru medii de dezvoltare a aplicațiilor cu interfețe de utilizator obișnuite și grafice;
  • oferind posibilitatea de a rula un mediu de dezvoltare bazat pe diferite sisteme de operare (astăzi, instrumentele bazate pe Eclipse sunt implementate pentru Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
  • luând în considerare popularitatea limbajului Java atunci când se creează instrumente de dezvoltare în interesul dezvoltării platformei.

Platforma Eclipse este scrisă în Mediul Java dezvoltarea celui mai general scop, a cărui arhitectură prevede soluția sarcini diferite integrarea diverselor instrumente și limbaje de programare. Mecanismele unei astfel de integrări vă permit să utilizați Platforma Eclipse pentru a construi medii avansate de dezvoltare și pentru a vă elibera de rutina de scriere fonduri de bazăîn favoarea creării de funcţii complexe, specializate. Acest lucru nu numai că rezolvă problema suportării mediilor de dezvoltare multifuncționale și multilingve, ci și pune bazele simplificării tranziției de la un tip de mediu la altul în procesul de evoluție a acestora. Dezvoltată de o comunitate de dezvoltatori, platforma Eclipse va acumula cele mai recente progrese, făcându-le disponibile dezvoltatorilor de produse specifice și eliminând nevoia de a-și reproiecta în mod fundamental sistemele.

Mediul de dezvoltare Eclipse

Baza arhitecturii platformei Eclipse este principiul utilizării plug-in-urilor. Platforma implementează mecanisme pentru detectarea, integrarea și executarea unor astfel de module (vezi figura). Un dezvoltator care dorește să profite de capacitățile platformei Eclipse își scrie setul de instrumente în Java ca un modul plug-in separat. Acest modul va funcționa cu fișiere dintr-un spațiu de lucru, care este implementat folosind componenta spațiu de lucru. Iar interfața sa de utilizator se bazează pe componenta workbench, care definește structura generală a interfeței și posibilitatea extinderii acesteia.

De obicei, un singur plug-in implementează cea mai simplă funcționalitate a unui IDE bazat pe platforma Eclipse, în timp ce instrumentele mai complexe sunt compuse din mai multe module. În același timp, aproape toată funcționalitatea încorporată a platformei Eclipse este implementată folosind astfel de module - cu excepția micului nucleu Platform Runtime. Fiecare modul plug-in are propriul său fișier manifest, care descrie conexiunile acestui modul cu altele. Când porniți un mediu de dezvoltare bazat pe platforma Eclipse, componenta Platform Runtime determină setul de plug-in-uri disponibile, citește fișierele manifest ale acestora și creează un registru de plug-in-uri. Odată ce sistemul a pornit, modulele suplimentare nu mai pot fi adăugate. Proiectul Eclipse a implementat un mediu special pentru crearea de plug-in-uri - Plug-In Development Environment (PDE).

Folosind module speciale, sunt implementate componentele spațiului de lucru și ale interfeței cu utilizatorul (workbench) ale platformei Eclipse. Spațiul de lucru conține fișiere create de utilizatorii instrumentelor implementate de plug-in-uri. Componenta workbench oferă o structură generală și instrumente care vă permit să extindeți capacitățile interfeței utilizator a mediului de dezvoltare bazat pe Platforma Eclipse și include două componente pentru implementarea instrumentelor pentru furnizarea de informații utilizatorului.

  • Standard Widget Toolkit (SWT) este un set de elemente de interfață și o bibliotecă grafică care au mecanisme de integrare cu sistemul de ferestre al unei anumite platforme de operare, dar implementează API-uri care sunt independente de sistemul de operare. Acest lucru face posibilă construirea interfețelor utilizator ale mediului de dezvoltare după principii uniforme, care corespund mediului de fereastră familiar consumatorului, dar sunt destinate unei game cât mai mari de sisteme de operare;
  • JFace - un set de instrumente pentru implementarea unei serii sarcini comune legate de programarea interfeței folosind instrumente SWT.

Pe baza API-urilor furnizate de componentele SWT și JFace, este construită o interfață de utilizator personalizată care determină structura interacțiunii consumatorilor cu instrumentele de dezvoltare. Interfața platformei Eclipse este organizată folosind editori, vizualizări și perspective.

Scopul editorilor este de a deschide, edita și salva obiecte din spațiul de lucru. Platforma are un editor încorporat pentru resurse de text, iar alte caracteristici trebuie implementate ca plug-in-uri. Vizualizările oferă informații despre obiectul cu care lucrează în prezent utilizatorul. În cele din urmă, motorul de perspectivă vă permite să selectați și să organizați editorii și vizualizările dorite care vor fi afișate pe ecran.

Organizare

Există o serie de beneficii în a rula proiecte open source. Astfel, una dintre sarcinile unei astfel de platforme este de a oferi dezvoltatorilor instrumente dintr-o bază comună, invariante pentru diferite medii de dezvoltare. De ce fiecare producător trebuie să rescrie ceva ce poate fi scris o singură dată? Dar pentru a-și construi dezvoltările pe o astfel de platformă, producătorul trebuie să aibă încredere totală în cel care a creat-o. Și acest lucru este posibil numai dacă este capabil să încerce tot ceea ce este inclus în el, adică să obțină o platformă open source.

Dezvoltarea unui produs în conformitate cu principiile Open Source îmbunătățește calitatea codului, deoarece este șlefuit împreună de mulți dezvoltatori interesați. Depanarea devine mai ușoară și mai bună - datorită accesului la codul sursă al programului și, din nou, implicării unei echipe distribuite în lucru. Munca în colaborare ne permite să împărtășim riscurile creării de tehnologii complexe. Iar organismul de dezvoltare colectivă al platformei își asigură suportul indiferent de vicisitudinile care pot apărea cu furnizorii unor medii de dezvoltare specifice. În cele din urmă, utilizarea unei platforme de dezvoltare open source cu un mecanism de plug-in flexibil pentru a implementa funcționalități suplimentare deschide posibilități nelimitate pentru îmbunătățirea acesteia.

Arhitectura platformei Eclipse

Cu toate acestea, nu va fi posibil să se realizeze beneficiile modelului de dezvoltare open source prin simpla lansare a unei platforme tehnice „free-floating”. Trebuie să organizăm procesul. Odată cu lansarea primei versiuni a Eclipse în 2001, un consorțiu organizat de IBM împreună cu o serie de jucători de top de pe piață și-a asumat această responsabilitate, iar în februarie 2004, Consiliul de Administrație al Eclipse a decis să transforme Fundația Eclipse într-o instituție non- profit, corporație independentă.

Fundația Eclipse, un consorțiu de peste 60 de companii, coordonează eforturile de îmbunătățire a platformei Eclipse și a altor proiecte open source.

Proiectul Eclipse este complet deschis și la el poate participa orice dezvoltator interesat, care nu trebuie să fie angajat al vreunei companii. În principiu, toată lumea poate fi interesată nu numai de detaliile dezvoltării și să contribuie la identificarea erorilor, ci și să participe la scrierea codului și la proiectarea generală a următoarei versiuni a platformei. Cu toate acestea, Eclipse urmează principiul de a pune profesionalismul pe primul loc. Un dezvoltator cu o reputație profesională dovedită poate conta pe responsabilitate suplimentară și pe oportunitatea de a-și implementa în mod activ abilitățile în proiectele Eclipse. Unii dezvoltatori sunt definiți ca „committers” deoarece sunt responsabili pentru codul sursă și numai ei au dreptul de a crea versiuni noi în depozitul de cod sursă deschis. De obicei, acești dezvoltatori sunt angajați ai companiilor care îi plătesc pentru munca lor în proiectele Eclipse.

Procesul de dezvoltare este iterativ, vizând maximizarea implicării membrilor comunității Eclipse în lucrul la proiect. Lansarea următoarei ediții este precedată de mai multe etape cu o durată fixă ​​(aproximativ câteva săptămâni), fiecare dintre acestea reprezentând un ciclu complet, incluzând planificarea, dezvoltarea, testarea și lansarea intermediară a versiunii. Finalizarea ciclului următor este însoțită de publicație deschisă descrieri ale noilor capabilități ale sistemului, care stimulează membrii comunității să discute, să utilizeze și să facă recomandări pentru îmbunătățire. Ca urmare, în următoarele etape de dezvoltare devine posibil să se țină cont de reacția comunității la eliberarea provizorie. Acesta este un proces deschis pentru îmbunătățirea continuă a platformei Eclipse și dezvoltarea altor inițiative bazate pe aceasta.

Misiunea proiectului tehnologic Eclipse este de a coordona eforturile dezvoltatorilor, cercetătorilor, membrilor științific și organizații educaționale pentru a determina perspectivele pentru Platforma Eclipse și alte dezvoltări open source. Unele dintre cele mai notabile subproiecte de cercetare din acest domeniu includ dezvoltarea de software orientat pe aspecte (AspectJ și AJDT), crearea unui nucleu alternativ la Eclipse Runtime (Equinox), crearea unei platforme de dezvoltare colaborativă (Koi), software managementul configurației (Stellation), instrumente pentru definirea schemei XML și pentru dezvoltarea bazată pe model (Generative Model Transformer).

Comunitate

Utilizarea tuturor materialelor generate de proiectele Eclipse este supusă Licenței publice comune (CPL) aprobată de Open Source Initiative. Conform CPL, oricine poate folosi și redistribui Eclipse gratuit în scopuri comerciale și necomerciale. Următoarele sunt disponibile gratuit pe eclipse.org:

  • versiunile actuale ale Platformei Eclipse pentru utilizare directă (în formă binară);
  • un depozit de cod sursă în care oricine poate vizualiza conținutul și istoricul revizuirilor oricărui fișier sursă, precum și să obțină scripturi pentru recompilarea și construirea platformei Eclipse din codurile sursă;
  • deschideți forumuri de discuții pentru a discuta despre Platforma Eclipse;
  • baza de date de erori pentru a urmări defectele și problemele din versiunile curente ale platformei. Folosind această bază de date, utilizatorii pot identifica defecte cunoscute în dezvoltările lor bazate pe Eclipse și pot publica noi probleme pe care le descoperă;
  • planuri de dezvoltare și contacte pentru dezvoltatorii implicați în proiectele Eclipse.

Azi pe eclipse.org disponibil gratuit - mai mult de o sută de plug-in-uri în codul sursă pentru platforma Eclipse. Proiectele open source ale Eclipse totalizează peste 2 milioane de linii de cod.

Cheia dezvoltării pieței software dezvoltare are participare la proiectul Eclipse al companiilor comerciale. Cu Platforma Eclipse, aceștia au servicii de mediu de dezvoltare de bază pre-construite, care sunt neutre din punct de vedere al limbii și ale platformei de operare și își pot concentra eforturile și investițiile pe dezvoltarea funcționalității complexe care vor face soluțiile lor competitive. Există exemple de implementări bazate pe Eclipse atât pentru medii de dezvoltare cu funcții complete care promovează cele mai avansate soluții în acest domeniu, cât și instrumente specializate care vizează o gamă specifică de sarcini.

Astfel, toate produsele din familia IBM Rational rulează pe platforma Eclipse. Borland intenționează să migreze întregul suport pentru ciclul de viață al aplicațiilor la Eclipse. Există o versiune Eclipse a instrumentelor de dezvoltare a aplicațiilor QNX încorporate; Wind River implementează un proiect similar. La rândul său, Hewlett-Packard oferă un mediu de dezvoltare a componentelor bazat pe Eclipse pentru sistemul său Internet Usage Manager, publicul țintă care sunt operatorii de telecomunicații. Nokia a anunțat suport pentru Eclipse ca platformă de dezvoltare a aplicațiilor mobile. IBM a implementat un set de instrumente special, Autonomic Computing Toolkit, bazat pe Eclipse, conceput pentru a susține tehnologiile de calcul autonome în aplicațiile dezvoltate. Dintre toți cei mai importanți producători de software din lume, doar Sun Microsystems și Microsoft nu cooperează cu Eclipse Foundation.

Furnizorii de medii comerciale bazate pe Eclipse permit companiilor independente de dezvoltare să vândă plug-in-uri pentru IDE-ul lor și se poate întâmpla ca o companie să vândă același plug-in proprietar pentru diferite medii bazate pe Eclipse. Aceasta nu este doar o metodă de dezvoltare a unor noi piețe, ci și o altă modalitate de a crește semnificația proiectului. Utilizatorii apreciază libertatea de alegere: dacă nu sunt mulțumiți de funcționalitatea existentă a unui mediu bazat pe o platformă open source, o pot extinde prin auto-dezvoltare sau prin achiziționarea de soluții comerciale de același format.

Aceste grupuri folosesc evoluțiile Eclipse în moduri diferite, dar toate contribuie la dezvoltarea lor. Tendința este de a folosi platforma Eclipse pentru a construi aplicații non-IDE. Acest lucru este posibil deoarece nu există multe elemente specifice mediului de dezvoltare în soluția tehnologică Eclipse Platform. În cea de-a treia versiune de Eclipse, există o evoluție de la o platformă pentru medii de dezvoltare la o platformă pentru implementarea stațiilor de lucru client cu funcții complete (Rich Client Platform). Nu este o coincidență faptul că IBM implementează mediul său promițător colaborare Workplace se bazează pe Eclipse.

Literatură

  1. Marc R. Erickson, Angus McIntyre. , 2001, noiembrie.
  2. J. dea Rivieres, J. Wiegand. Eclipsa. O platformă pentru integrarea instrumentelor de dezvoltare. IBM Systems Journal, 2004, nr. 2.

Structura organizatorică Eclipse

Coordonarea dezvoltării Eclipse și a participării la proiecte open source ale diferitelor organizații și dezvoltatori individuali este realizată de consorțiul independent non-profit Eclipse Foundation

Consiliul de administrație al Fundației Eclipse este compus din patru categorii principale de membri:

  • dezvoltatori strategici (Strategic Developers) - companii Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems;
  • consumatori strategici (Consumatori strategici) - HP, Montavista Software, SAP, Serena Software;
  • furnizori incluși (furnizori de completare);
  • Lider de proiect Open Source.

Toți dezvoltatorii strategici și consumatorii strategici sunt în consiliul de administrație, iar celelalte două grupuri își deleg reprezentanții la acesta. Membrii strategici ai consorțiului au, de asemenea, anumite drepturi de a participa în comitetele de management de proiect și în Consiliile care coordonează procesele de dezvoltare.

Consorțiul derulează mai multe proiecte de bază open source, care includ un număr diferit de subproiecte. Proiectul de bază este gestionat de Comitetul de Management al Proiectului (PMC). Pentru a gestiona dezvoltarea în ansamblu, sunt create trei consilii principale - Consiliul de cerințe, Consiliul de arhitectură și Consiliul de planificare.

Consiliul de Cerințe analizează și structurează cerințele proiectului. Acestea combină cerințele care vizează atingerea obiectivelor generale ale Fundației Eclipse și obiectivele specifice ale proiectului, soluționând problemele membrilor cheie ale consorțiului și dezvoltării ecosistemului Eclipse. Pe baza analizei, se formulează o listă de subiecte și priorități care vor determina cursul dezvoltării. Consiliul de Arhitectură este responsabil pentru dezvoltarea arhitecturii Platformei Eclipse, definirea acesteia în mod clar, comunicarea echipelor de dezvoltare și protejarea acestora de denaturarea accidentală. Consiliul de planificare creează un plan coordonat de lansare a platformei.

Proiectele sunt implementate de echipe de dezvoltare conduse de manageri de proiect și incluzând dezvoltatori și dezvoltatori responsabili. Primii sunt angajați în scrierea codului, identificarea erorilor, testarea și documentarea programelor și, de asemenea, îndeplinesc alte sarcini în cadrul proiectului. Dezvoltatorii responsabili au dreptul de a adăuga la depozitul de cod sursă și trebuie să influențeze progresul dezvoltării în cadrul proiectului. Companiile desemnate ca Dezvoltatori Strategici de Fundația Eclipse sunt obligate să conducă cel puțin un proiect. De asemenea, sunt încurajați să conducă comitete.



Eclipse este un cadru care vă permite să dezvoltați aplicații modulare multiplatforme. Eclipse este mediul de dezvoltare cel mai frecvent utilizat pentru a crea diverse aplicații desktop. Arhitectura platformei este simplă - un nucleu pentru încărcarea cadrului, un mediu pentru furnizarea de componente dinamice, editori de text și buffere de fișiere, un mediu de lucru pentru scrierea, compilarea și rularea codului.

Frame-ul presupune crearea de software open source, deci licența este gratuită și puteți descărca gratuit Eclipse. Platforma, datorită conexiunii diferitelor module, vă permite să dezvoltați aproape orice aplicație client în toate limbajele de programare populare - Java, C++, Python etc. Puteți conecta un modul separat pentru a lucra cu interfețe grafice. Aplicațiile create funcționează sub diferite sisteme de operare - sunt potrivite pentru Windows, Linux și Mac OS, Android este, de asemenea, acceptat. Programele create în Eclipse sunt module individuale, care se conectează la aplicația principală. Unele aplicații, combinate în biblioteci, pentru Eclipse pot fi descărcate în domeniul public, ceea ce va simplifica foarte mult munca pe propriul program.

Eclipse este un cadru independent de Windows, cu excepția bibliotecii standard Swing pentru Java, înlocuită de SWT, care este construită pentru toate platformele de programare cunoscute și utilizate. Biblioteca se bazează pe sistemul de operare, deci sunt folosite elemente grafice ale sistemului de operare. Această caracteristică poate face aplicația incompatibilă cu alte sisteme de operare. Puteți descărca Eclipse în limba rusă, ceea ce va simplifica foarte mult lucrul cu aplicații pentru diferite sisteme de operare. În plus, există o mulțime de informații de referință și forumuri dedicate cadrului pe Internet.

Avantajele mediului de dezvoltare Eclipse:

  • suport pentru toate limbajele de programare populare;
  • dezvoltarea de aplicații pentru diferite sisteme de operare;
  • posibilitatea de a descărca gratuit modulele necesare;
  • pluginurile oferă flexibilitate cadrului;
  • licență gratuită și sursă deschisă.

Dacă ați urmărit îndeaproape ce se întâmplă în lumea open-source sau a tehnologiei Java, nu ați auzit niciodată toată agitația care se întâmplă în jurul lui Eclipse. Eclipse este un mediu de dezvoltare integrat extensibil, open-source (IDE, Integrated Development Environment). Proiectul a început în noiembrie 2001, când IBM a obținut Websphere Studio Workbench de 40 de milioane de dolari și a format Consorțiul Eclipse pentru a gestiona dezvoltarea instrumentului.

Scopul inițial a fost „dezvoltarea unei platforme de calitate industrială stabilă, cu funcții complete produs comercial, pentru dezvoltarea instrumentelor integrate." On momentul prezent Consorțiul Eclipse se concentrează pe următoarele proiecte:

  1. Proiectul Eclipse (http://www.eclipse.org/eclipse/index.html) - responsabil pentru dezvoltarea IDE-ului Eclipse în sine (o platformă pentru construirea altor instrumente Eclipse), Instrumente de dezvoltare Java (JDT) și Plug-In Mediul de dezvoltare (PDE) ), folosit pentru a oferi extensibilitate platformei în sine.
  2. Proiectul Eclipse Tools (http://www.eclipse.org/tools/index.html) este dedicat creării de instrumente optime pentru platforma Eclipse. Subproiectele curente includ: Cobol IDE, C/C++ IDE și instrument de modelare EMF.
  3. Proiectul Tehnologic Eclipse (http://www.eclipse.org/technology/index.html) – oferă cercetare tehnologică, incubare și educație legate de utilizarea platformei Eclipse.

Împreună cu JDT, platforma Eclipse oferă multe diverse posibilitati pe care este posibil să le fi văzut în IDE-urile comerciale: evidențierea sintaxei în editor, compilarea codului, un depanator la nivel de sursă cu suport pentru fire de execuție, un navigator de clasă, un manager de fișiere și proiecte, interfețe pentru sistemele standard de control al codului sursă, cum ar fi CVS și ClearCase.

În plus, Eclipse conține o serie de caracteristici unice, de exemplu, refactorizarea codului (http://www.refactoring.com/), actualizare automatăși crearea de cod (prin Update Manager), lista de activități, suport pentru testarea unitară folosind JUnit (http://www.junit.org/) și integrarea cu instrumentul de creare a aplicației Jakarta Ant (http://jakarta.apache.org). /ant/index.html).

În ciuda număr mare set de caracteristici standard, Eclipse diferă de IDE-urile tradiționale în mai multe moduri fundamentale. Poate cea mai interesantă caracteristică a lui Eclipse este platforma sa absolută și neutralitatea lingvistică. Pe lângă setul eclectic de limbaje de programare susținute de Consorțiul Eclipse (Java, C/C++, Cobol), există multe proiecte terță parte care vă pot ajuta să aduceți suport Eclipse pentru limbajul dvs. de programare. Astăzi există implementări ale următoarelor limbaje de programare populare: Python, Eiffel, PHP, Ruby și C#.

Platforma Eclipse este furnizată, datorită Consorțiului Eclipse, ca executabile precompilate pentru Windows, Linux, Solaris, HP-UX, AIX, QNX și Mac OS X. S-a acordat multă atenție arhitecturii plug-in-urilor platformei, și De asemenea, API-urile „bogate” (Application Programming Interface) furnizate cu Plug-in Development Environment pentru extinderea suportului Eclipse Adăugarea pentru un nou tip de editor, vizualizator (panou) sau limbaj de programare este incredibil de ușor, datorită API-urilor bine proiectate și blocuri de construcție pe care Eclipse le oferă.

Cu aproximativ o sută de proiecte de dezvoltare plug-in, resurse oferite de giganți din industrie precum IBM, HP și Rational (care a fost achiziționat recent de IBM) și designul Erich Gamma care ajută la înțelegerea rapidă a procesului de dezvoltare, viitorul Eclipse va trebuie să fie foarte luminos, interesant și promițător.

Instalare

Pun pariu că acum tot ceea ce te gândești este de unde să obții o copie a acestui Eclipse pentru platforma ta și cum să o instalezi? :) Primul lucru de care trebuie să aveți grijă mai întâi este să vă asigurați că aveți un JRE (Java Runtime Environment) adecvat și funcțional. Deși Eclipse a fost conceput pentru a putea compila cod atât pentru JVM (Java Virtual Machine) versiunea 1.3, cât și pentru versiunea 1.4, versiunile actuale de Eclipse au fost proiectate să ruleze pe JVM versiunea 1.3. Dacă nu sunteți sigur de unde să obțineți o mașină „virtuală” Java (JVM) pentru platforma dvs., puteți găsi instrucțiuni detaliate și mai multe informații despre aceasta pe site-ul web

După ce ați verificat că aveți un JVM sau ați instalat versiunea corespunzătoare, sunteți gata să instalați Eclipse. Pentru a face acest lucru, vizitați secțiunea de descărcare a site-ului web al proiectului Eclipse (http://www.eclipse.org/downloads/) și descărcați de acolo cea mai recentă versiune, compilată special pentru platforma pe care o utilizați. Toate distribuțiile sunt arhive .zip. Despachetați arhiva descărcată într-un director adecvat și petreceți puțin timp studiind toate fișierele conținute în directorul readme.

Credeți sau nu, instalarea este completă. Dacă ați instalat corect JVM-ul și ați despachetat corect arhiva cu Eclipse, puteți începe procesul de lansare a acestui IDE pentru prima dată. Toate distribuțiile care conțin o versiune compilată a platformei oferă programe de rulat, care se află în directorul principal: eclipse. Numele acestui lansator se schimbă în funcție de platforma pentru care ați descărcat distribuția: eclipse.exe pe Windows, eclipse pe Solaris și așa mai departe. Când lansați pentru prima dată aplicația Eclipse, aceasta va efectua unele sarcini de instalare rămase (cum ar fi crearea unui director de spațiu de lucru pentru a stoca fișiere de proiect) înainte ca aplicația să fie în sfârșit gata de rulare.

Interfață

Deci, acum că aveți Eclipse instalat și rulat, este timpul să începeți să îl utilizați. După ce ați lansat Eclipse, ar trebui să vedeți ceva de genul acesta:

Figura 1

După cum puteți vedea, Eclipse IDE are un conținut de meniu destul de standard:

Figura 2

Pe lângă meniu, asemănarea barei de instrumente și a sistemului de marcaje cu cele din alte medii de dezvoltare a aplicațiilor este clar vizibilă aici.

Exemplu de aplicație

Panouri Navigator de fișiere, Contur codŞi Lista de sarcini sunt afișate, dar momentan nu conțin date. Pentru a continua explorarea Eclipsei, vom crea o aplicație simplă de calculator Swing. Să descriem acțiunile pas cu pas:

1. Selectați un element de meniu Fișier->Nou->Proiect..., pentru a începe să creați primul dvs. proiect Java. În fereastra expertului, selectați Java dintre tipurile de proiecte propuse din lista din stânga și Proiectul Java din lista din dreapta, apoi faceți clic pe butonul Următorul.


Figura 3

2. Introduceți Calculator ca nume de proiect și continuați să creați proiectul făcând clic pe butonul Următorul.


Figura 4

3. Și în final, în etapa finală, „vrăjitorul” pentru crearea unui nou proiect vă oferă posibilitatea de a determina directoarele în care vor fi stocate fișierele de cod sursă și fișierele de clasă, de a defini subproiecte care pot fi utilizate de proiectul curent pe care îl vom creăm, precum și orice biblioteci, pe care intenționăm să le folosim în aplicația noastră. Setați comutatorul pe Utilizați folderul sursă conținut în proiect, apoi apăsați butonul Creați un dosar nou.... Introduceți src ca nume al noului director sursă. Clic Da când Eclipse vă întreabă dacă să schimbați directorul în care este construită aplicația Calculator/coș.


Figura 5

4. Apăsați butonul Termina pentru a permite Eclipse să finalizeze crearea noului proiect.

Odată ce ați creat un nou proiect, este posibil să observați acest lucru aspect Eclipse s-a schimbat puțin (de așteptat): panou Contur mutat în altă parte a ferestrei, panou Navigator a fost înlocuit cu un panou Explorer de pachete etc.

Iată cum arăta fereastra Eclipse după ce am creat un nou proiect:


Figura 6

Acest aspect se numește Perspectiva Java. „Vizualizare”, în conceptul Eclipse, definește orice ordine stocată de aranjare a oricărui număr de panouri de editor și vizualizatoare diferite. Eclipse vine cu o serie de „vizualizări” implicite ( Resursă, Java, Depanațiși altele), care pot fi modificate pentru a se potrivi nevoilor dvs. sau vă puteți crea propriile unghiuri. Vizualizările sunt controlate cu ajutorul elementelor de meniu Fereastră sau o bară de instrumente specială, care se află de obicei de-a lungul marginii din stânga a ferestrei Eclipse.

Figura 7

Următorul pas în crearea proiectului nostru Java este să creăm directoare care vor conține tot codul nostru sursă. Pentru a face acest lucru, treceți la perspectivă Resursă folosind elementul de meniu Fereastra->Open Perspective->Resource. În panou Navigator Extindeți nodurile arborelui structurii folderelor, astfel încât să puteți vedea nodul folderului src. Selectați acest nod, apoi executați elementul de meniu Fișier->Nou->Folder. În caseta de dialog care apare, asigurați-vă că directorul src este selectat și apoi introduceți ca nume al celui nou în câmp Numele dosarului, Nume com.

Creați un număr mare de foldere folosind un dialog Dosar nou ar fi incomod și obositor. Din fericire, Eclipse vă poate oferi posibilitatea de a crea directoarele dorite folosind managerul de fișiere preferat: linia de comandă, Windows Explorer si altele. Folosind una dintre metodele sugerate, creați în folder com pliant viclean, și în el un folder calculator. Odată ce ați creat aceste foldere, selectați orice nod de folder din panoul Navigator și, folosind elementul de meniu Fișier->Reîmprospătare, actualizați conținutul acestui panou. În acest fel, Eclipse va efectua o căutare sistem de fișiereși va actualiza panoul de proiect în conformitate cu modificările pe care le-ați făcut (a creat directoare noi). În acest moment, fereastra Eclipse ar trebui să arate cam așa:


Figura 8

Încă o notă despre crearea fișierelor: în primele etape ale creării unui proiect, cel mai probabil veți rula aplicațiile destul de des, creați fișiere și foldere noi, adăugați cod nou, compilați și testați din nou codul. Este important să rețineți că aspectul meniului în Eclipse depinde de vizualizarea pe care o utilizați. Deci, dacă schimbi perspectiva Resursă pentru a crea un nou fișier sau folder în panou Navigator, veți găsi că meniul Fugi, de exemplu, este fundamental diferit de meniu Fugiîn perspectivă Java. O soluție la această problemă comună este utilizarea meniului Windows->Afișează vizualizare pentru a afișa panoul Navigatorîn perspectivă Java. Dacă sunteți complet mulțumit de unghiul rezultat, atunci utilizați elementul de meniu Fereastra->Salvează perspectiva ca..., puteți salva modificările într-o vizualizare nouă sau puteți suprascrie o vizualizare existentă Java.

Adăugarea codului

Acum că avem structura de directoare creată, putem începe să adăugăm cod sursă la proiectul nostru. Vom împărți programul nostru de calculator în trei clase (fișiere): CalcModel.java, CalcPanel.jav a, și Calculator.java. Descărcați arhiva zip cu codul sursă al acestui program de aici http://www.onjava.com/onjava/2002/12/11/examples/calculator.zip. După aceea, dezarhivați această arhivă și plasați cele trei fișiere menționate mai sus în director com/devious/calculator. Să folosim din nou elementul de meniu Fișier->Reîmprospătare pentru a reîmprospăta conținutul panoului Manager de proiect. Iată ce ar trebui să vedeți după ce parcurgeți acești pași:


Figura 9

CalcPanel.java reprezintă nucleul interfeței de utilizator a calculatorului nostru. Calculator.java efectuează funcții de inițializare pregătitoare și lansează GUI (interfață grafică cu utilizatorul). Cea mai importantă parte a programului nostru se află în fișier CalcModel.java, care se ocupă direct de implementarea matematicii efective a calculatorului nostru: răspunsul la evenimente, executarea calcule matematice, actualizarea informațiilor afișate etc. Cel mai simplu mod de a vizualiza codul sursă este să comutați de la vizualizare Java V Navigare Java. Pentru a face acest lucru folosește Perspectivă deschisă din meniu Fereastră sau faceți clic pe butonul Deschide, care se află pe bara de instrumente pentru lucrul cu unghiuri.

În timp ce navigați prin codul sursă din panou Explorer de pachete, este posibil să observați că panoul Contur devine inutil pentru tine în această etapă. Îl puteți elimina temporar de pe ecran făcând clic pe cruce din colțul din dreapta al acestui panou. Când aveți nevoie, puteți utiliza elementul de meniu Fereastra->Afișare vizualizare->Contur pentru a-l afișa din nou.


Figura 10

Cod de rulare și depanare

Deci ați descărcat și instalat Eclipse, ați creat un nou proiect Java și ați adăugat fișierele și folderele necesare pentru aplicația dvs. simplă. Este timpul să testați această aplicație în acțiune lansând-o. Pentru a face acest lucru, trebuie să setați unghiul Java pentru a urma pașii necesari pentru a rula aplicația:

1. Din meniul principal Fugi selectați elementul Fugi...

2. În dialogul expert de lansare care apare, selectați „Aplicație Java” din listă Lansați Configurațiiși apăsați butonul Nou


Figura 11

3. Pentru numele noii configurații, introduceți Calculator

4. Apăsați butonul Căutare...și selectați clasa ca clasă principală Calculatorîn câmp Clasa principală, sau pur și simplu introduceți numele complet al clasei în câmpul de introducere: com.devious.calculator.Calculator.


Figura 12


Figura 13

După ce ați creat configurația de lansare pentru aplicația dvs., o puteți lansa din nou utilizând meniul Run->Run Istoric sau butoane Fugi pe bara de instrumente. Dacă petreceți suficient timp „jucându-vă” cu acest calculator, veți constata că funcționează în mare parte corect, dar cu o singură captură: nu vrea să facă operația de scădere corect! Este timpul să folosiți depanatorul codului sursă Eclipse și să găsiți această eroare nefericită. Dacă ați urmat toate instrucțiunile date mai sus în acest articol, atunci puteți rula această aplicație cu depanatorul cu aceeași configurație pe care am definit-o pentru lansarea normală. Pentru a face acest lucru, selectați elementul de meniu Run->Debug History->Calculator.

Când rulați aplicația împreună cu depanatorul, Eclipse comută automat la vizualizare Depanați:


Figura 14

Deoarece problema pe care am descoperit-o este centrată în jurul funcției de scădere, vom seta un punct de întrerupere în handlerul de evenimente pentru butoanele „-” și „=". Mai întâi, trebuie să comutăm la fila Editor de clase CalcPanel. (Dacă nu aveți codul sursă marcat pentru această clasă, va trebui să deschideți un fișier numit CalcPanel.java, după ce a trecut anterior la unghi Java sau Resursăși apoi reveniți la perspectivă Depanați).

Folosiți panoul Contur pentru a localiza metoda acțiuneEfectuată. Deplasați-vă puțin mai jos până găsiți expresia caz pentru semnul „-” (linia 126). Dacă faceți dublu clic pe marginea stângă a acestei linii, Eclipse va seta automat un punct de întrerupere acolo. Deplasați-vă puțin mai jos și setați un alt punct de întrerupere la apelul de metodă model.calculate()în manipulatorul de evenimente butonul "=" (linia 138).


Figura 15

Acum comutați la fereastra calculatorului și faceți clic pe câteva butoane. De exemplu, „2”, „4”, „6” și „-”. Odată ce depanatorul atinge un punct de întrerupere, puteți vedea butoanele care apar pe bara de instrumente Depanați, care servesc pentru a parcurge pas cu pas codul sursă și puteți face pași prin cod și, fără a intra în metode, să le executați automat sau, intrând înăuntru, să parcurgeți codul lor sursă.

Figura 16

Dacă intrăm în interiorul metodei setOperation(), va deveni clar că îndeplinește o funcție destul de banală: stochează codul operației în câmp pendingOp. Acum faceți clic pe butonul Relua pe bara de instrumente Depanați pentru a continua executarea programului.

Notă: principala greșeală pe care o fac noii utilizatori Eclipse este că uneori apăsează butoane Depanați sau Fugi pe bara de instrumente principală (care determină lansarea unei alte copii a aplicației) în loc să faceți clic Relua.

Acum apăsați încă câteva butoane (de exemplu, „1”, „2”, „3”) și apoi butonul „=". Astfel ne regăsim în interiorul metodei calcula(), problema s-a dovedit a fi evidentă: cineva a copiat codul din varianta OP_ADD, dar a uitat să înlocuiască semnul + cu -. Problema rezolvata! :)

Remedierea erorii folosind metoda HotSwap

Dacă ați folosit versiunea JVM 1.4 pentru a rula aplicația, atunci mai rămâne un singur pas final pentru a remedia această eroare în exemplul nostru. În loc să părăsim programul calculatorului, să facem modificări la codul sursă, să recompilăm întregul proiect și abia apoi să începem o nouă sesiune de depanare, putem schimba totul din mers. În timp ce depanatorul încă rulează, modificați linia din codul sursă în:

SetDisplay(previousValue + currentValue); // la: setDisplay(previousValue - currentValue);

Salvați acest fișier, apoi faceți clic pe butonul Relua pentru a „elibera” aplicația și a continua să lucreze cu ea. Folosind butonul C pentru a-l reseta și repetați pașii pe care i-am făcut mai devreme. Acum totul funcționează conform așteptărilor!

Ceea ce am demonstrat acum este suportul Eclipse pentru o nouă caracteristică (numită HotSwap) a JVM-ului versiunea 1.4. Java Platform Debugger Architecture (JPDA) acceptă acum capacitatea de a înlocui codul sursă al unei aplicații care rulează o aplicație sau găsirea locurilor în care „se prăbușește” durează mult.

Caracteristici interesante în versiunile viitoare de Eclipse

O caracteristică foarte interesantă a Eclipse este viteza cu care sunt detectate bug-urile și cu care dezvoltatorii răspund diferitelor nevoi și dorințe ale utilizatorilor. Consorțiul Eclipse lansează lunar cele mai recente versiuni, care includ versiuni stabile ale diferitelor caracteristici de care sunt interesați utilizatorii (aceste versiuni conțin identificatorii M1, M2, M3 etc.) Printre caracteristicile incluse în versiunea 2.1 M3 se numără următoarele, cele mai semnificative:

  • - combinații personalizabile de taste rapide, inclusiv un set de asociații similare cu cele găsite în Emacs;
  • - posibilitate de introducere automată TODO, FIXMEși alte comentarii de etichetă în cod Java, în diverse elemente și liste de sarcini;
  • - suport CVS îmbunătățit, inclusiv capacitatea de a defini „seturi de lucru” care limitează numărul de proiecte afișate în panou Arhivele CVS;
  • - noi șabloane în editorul Java care pot fi folosite pentru a afișa codul sursă, Javadoc, mesaje de eroare detaliate pentru fiecare linie de cod sau expresie într-o fereastră „drop-down” (tooltip);
  • - suport pentru mai multe refactorizări noi;
  • - panou nou Fire și monitoareîn depanator, care vă permit să determinați care dintre „thread-uri” (threads) blochează resurse, care dintre ele așteaptă și alte informații utile pentru depanarea aplicațiilor multi-threaded;
  • - integrare mai strânsă cu instrumentul de construcție Jakarta Ant;

Această ultimă caracteristică este ceea ce face din Eclipse un mediu bine construit pentru dezvoltarea aplicațiilor Java și, în special, a aplicațiilor Web. Eclipse combină toate instrumentele de care are nevoie un dezvoltator pentru a dezvolta cu succes aplicații Web: un IDE extensibil, un compilator standard, depanare la distanță, suport Ant, testare cu JUnit, plug-in-uri pentru interacțiunea cu aproape toate serverele de aplicații, precum și un container EJB.

Resurse

  • eclipse.org (http://www.eclipse.org/)
  • Întrebări frecvente ale proiectului Eclipse (http://www.eclipse.org/eclipse/faq/eclipse-faq.html)
  • Prezentare tehnică a platformei Eclipse (

- cadru liber pentru dezvoltarea de aplicații modulare multiplatforme.

Proiectul a fost dezvoltat inițial în IBM ca standard IDE corporativ pentru dezvoltare în diferite limbi pentru platformele IBM. Proiectul a fost apoi redenumit și oferit comunității pentru dezvoltare ulterioară.

În primul rând, complet IDE Java, destinat dezvoltării de grup, dotat cu instrumente pentru lucrul cu sisteme de control al versiunilor (suportul CVS este inclus în distribuția Eclipse, se dezvoltă activ mai multe versiuni de module SVN, există suport pentru VSS și altele). Datorită gratuită În multe organizații, Eclipse este standardul corporativ pentru dezvoltarea aplicațiilor.

A doua numire- servește ca platformă pentru dezvoltarea de noi extensii (de aceea a câștigat popularitate - orice dezvoltator poate extinde Eclipse cu propriile module). Așa au devenit Instrumente de dezvoltare C/C++(CDT), dezvoltat de inginerii QNX împreună cu instrumente IBM, COBOL, FORTRAN, PHP de la diverși dezvoltatori. Multe extensii completează Eclipse cu manageri pentru lucrul cu baze de date, servere de aplicații etc.

De la versiunea 3.0, Eclipse a devenit mai degrabă o colecție de extensii decât un IDE monolitic care acceptă extensii. Se bazează pe cadrul OSGi și SWT/JFace, pe baza căruia este dezvoltat următorul strat - o platformă pentru dezvoltarea aplicațiilor client cu drepturi depline RCP (Rich Client Platform - (aplicații rich-client în engleză). Platforma RCP servește ca bază pentru aplicațiile RCP precum Azareus și File Arranger. Următorul strat este platforma Eclipse, care este un set de extensii RCP - editori, panouri, perspective, modulul CVS și modulul Java Development Tools (JDT).

Scris pe Java, prin urmare, este un produs independent de platformă, cu excepția bibliotecii SWT, care este dezvoltată pentru toate platformele comune. Biblioteca SWT este folosită în locul Swing-ului „lent” și este complet dependentă de platforma de bază ( sistem de operare), care asigură o interfață de utilizator rapidă și cu aspect natural.

Baza Eclipse este platforma client bogat (RCP). Se compune din următoarele componente:


  • OSGi (mediu standard de livrare a pachetelor);
  • SWT (kit de instrumente portabil widget);
  • JFace (buffer-uri de fișiere, lucru cu text, );
  • Mediul de lucru Eclipse (panouri, editori, proiecții, vrăjitori).
  • GUI este scris folosind setul de instrumente SWT. Acesta din urmă, spre deosebire de Swing (care emulează doar elemente grafice individuale ale platformei utilizate), folosește de fapt componentele grafice ale acestui sistem. Interfața de utilizator Eclipse depinde, de asemenea, de un middleware GUI numit JFace, care facilitează construirea unei interfețe de utilizator bazate pe SWT.

    Flexibilitatea este asigurată de plug-in-uri, ceea ce face posibilă dezvoltarea nu numai în Java, ci și în alte limbaje, precum C/C++, Perl, Ruby, Python, PHP, ErLang și altele.

    Localizare

    Din versiunea 3.1.1, a fost lansat un pachet de limbi pentru rusificare. Atât interfața grafică, cât și documentația au fost traduse în limba rusă.

    Există o serie de module gratuite și comerciale disponibile pentru mediu. Cadrul a fost dezvoltat inițial pentru limbajul Java, dar acum există numeroase extensii pentru a suporta alte limbaje, cum ar fi

    • C/C++ - Instrumentul de dezvoltare C/C++ al CDT Eclipse
    • Perl - modul EPIC, integrare Eclipse Perl
    • PHP - PDT Instrumente de dezvoltare PHP
    • JavaScript - Plugin JSEclipse Javascript pentru mediul Eclipse
    • Python - Pydev, Python Development Environment
    • Ruby - RDT, Instrumente de dezvoltare Ruby

    Există și module pentru crearea de interfețe grafice.

    Pentru a dezvolta și a primi rapoarte și a dezvolta aplicații analitice BI, există ro:BIRT_Project t.

    Există o funcție încorporată pentru instalarea și actualizarea modulelor prin .

    Aptana(aptana.com) - Distribuție Eclipse și plugin care acceptă dezvoltarea folosind JavaScript (toate bibliotecile majore JS Ajax sunt incluse în distribuție), HTML, CSS, Ruby on rails, Adobe AIR.

    Lasă comentariul tău!

    Eclipse este o platformă de dezvoltare extensibilă, cu sursă deschisă, bazată pe Java. În esență, este pur și simplu un mediu de dezvoltare și un set de servicii pentru construirea de aplicații bazate pe componente încorporate (plugin-uri). Din fericire, Eclipse vine cu un set standard de pluginuri, inclusiv binecunoscutele instrumente de dezvoltare Java (JDT).

    În timp ce majoritatea utilizatorilor care folosesc Eclipse ca mediu de dezvoltare integrat Java (IDE) sunt mulțumiți de el, există mult mai mult decât atât. Eclipse include, de asemenea, un mediu de dezvoltare a pluginurilor (PDE), care va fi de interes în primul rând pentru cei care doresc să extindă Eclipse în sine, deoarece vă permite să vă creați propriile instrumente care sunt încorporate în mediul Eclipse. Deoarece Eclipse este realizat în întregime din pluginuri, toți dezvoltatorii de seturi de instrumente au posibilitatea de a oferi propriile extensii pentru Eclipse și de a oferi utilizatorilor un mediu de dezvoltare integrat (IDE) consistent și fără probleme.

    Această integritate și consecvență nu sunt unice pentru instrumentele de dezvoltare Java. Deși Eclipse este scris în Java, poate fi folosit cu alte limbi. De exemplu, sunt deja disponibile (sau sunt în curs de dezvoltare) pluginuri care acceptă limbaje de programare precum C/C++ și COBOL. Cadrul Eclipse poate fi folosit și ca bază pentru alte tipuri de aplicații în afara dezvoltării software, cum ar fi sistemele de management al conținutului.

    Un exemplu excelent de aplicație bazată pe Eclipse este IBM Rational Software Architect, care formează baza familiei IBM de instrumente de dezvoltare Java.

    Eclipse este open source

    Software-ul open source este lansat sub o licență concepută pentru a garanta anumite drepturi utilizatorilor. Cel mai evident dintre acestea, desigur, este că codul sursă trebuie pus la dispoziția utilizatorilor, iar aceștia au făcut-o fiecare drept modificați și distribuiți în mod independent software-ul. Această protecție a drepturilor utilizatorului se realizează folosind un mecanism numit „copyleft”: licența software este protejată prin drepturi de autor și interzice distribuirea software-ului cu excepția cazului în care utilizatorului i se acordă astfel de drepturi. O licență copyleft necesită, de asemenea, ca toate programele distribuite de utilizatori să fie acoperite de licența originală fără modificări. Astfel, sensul dreptului de autor este în esență răsturnat, iar o licență copyleft, care folosește drepturile de autor pentru a acorda drepturi utilizatorului mai degrabă decât pentru a le păstra pentru dezvoltatorul de software, se spune adesea în glumă „toate drepturile sunt pervertite” (toate drepturile sunt inversate). ).

    O mare parte din frica, incertitudinea și îndoielile comune cu privire la software-ul open source se bazează pe așa-numita natură virală a unor licențe copyleft. Ideea este că dacă utilizați software open source ca parte a propriului program de dezvoltare, vă veți pierde proprietate intelectuală, deoarece licența vă va „infecta” părțile personale ale programului. Cu alte cuvinte, licența poate cere ca toate programele open source, inclusiv orice software nou creat, să fie distribuite sub aceeași licență. Deși acest lucru este valabil pentru cea mai faimoasă licență copyleft, Licența publică generală GNU (sub care, de exemplu, Linux este distribuit), există și alte licențe care oferă un echilibru diferit de interese comerciale și publice.

    Open Software Initiative - OSI (Open Software Initiative) este o organizație non-profit care definește clar ce reprezintă open source și certifică licențele care îndeplinesc criteriile sale. Eclipse este distribuit sub EPL - Eclipse Public License ( Licență deschisă Eclipse) V1.0, aprobat de OSI și menit să faciliteze acceptarea comercială a Eclipse, menținând în același timp loialitatea față de autorii codului sursă.

    Cei care creează pluginuri pentru Eclipse sau folosesc Eclipse ca bază pentru dezvoltarea software-ului trebuie să publice orice cod Eclipse pe care îl folosesc sau modifică conform EPL, dar sunt liberi să-și licențieze propriile suplimente după cum doresc. Codul nativ împreună cu software-ul de la Eclipse nu trebuie să fie licențiat ca sursă deschisă, iar codul sursă în sine nu trebuie să fie pus la dispoziția publicului.

    Deși majoritatea programatorilor nu ar folosi Eclipse pentru a dezvolta plugin-uri sau pentru a construi noi produse pe deasupra, valoarea naturii open source a Eclipse este semnificativă nu numai pentru că face ca Eclipse să fie disponibil complet gratuit (și în ciuda faptului că este orientat comercial, licența implică faptul că pluginurile pot costa bani). Open Source promovează inovația și creează un stimulent pentru dezvoltatori (chiar și cei comerciali) să contribuie cu codul sursă la comunitate. Există mai multe motive pentru acest lucru, dar poate cel mai semnificativ este că cu cât dezvoltatorii contribuie mai mult la proiect, cu atât acesta devine mai semnificativ pentru toată lumea. Și atunci când un proiect devine util, mai mulți dezvoltatori îl vor folosi și vor crea o comunitate în jurul lui, similară celor care s-au format în jurul Apache și Linux.

    Ce este Eclipsa?

    Eclipse este o comunitate open source de dezvoltatori ale căror proiecte urmăresc să construiască o platformă de dezvoltare deschisă constând dintr-un mediu de dezvoltare extensibil, instrumente și biblioteci de rulare pentru construirea, implementarea și gestionarea software-ului pe parcursul ciclului său de viață. Fundația Eclipse este o organizație non-profit, susținută de membri, care găzduiește proiecte Eclipse și ajută la îmbunătățirea comunității open source și a ecosistemului de produse și servicii complementare.

    Proiectul Eclipse a fost creat în noiembrie 2001 de IBM și susținut de un consorțiu de furnizori de software. Fundația Eclipse a fost creată în ianuarie 2004 ca o organizație independentă, non-profit, care servește ca administrator al comunității Eclipse. A fost creat pentru a ajuta o comunitate neutră, deschisă și transparentă din punct de vedere al furnizorilor să crească în jurul Eclipse. Comunitatea Eclipse de astăzi este formată din indivizi și organizații care reprezintă industria software.

    Fundația Eclipse supraveghează și dirijează dezvoltarea continuă a Eclipse. Fundația servește comunitatea, dar dezvoltatorii open source, numiți committers, care lucrează în esență la proiectele Eclipse, nu fac parte din personalul său. De obicei, comitetorii Eclipse sunt afiliați unei organizații sau sunt dezvoltatori independenți care își oferă timpul voluntar pentru a lucra la un proiect open source.

    Acum că ne-am uitat la aspectele teoretice, istorice și politice ale Eclipsei, să ne uităm la produsul în sine.

    Spațiul de lucru Eclipse

    Când lansați pentru prima dată Eclipse, veți vedea o pagină de bun venit în spațiul de lucru (vezi Figura 1). Un utilizator Eclipse are mai multe opțiuni pentru a naviga la pagina de prezentare generală, ceea ce recomand să facă (vezi Figura 2). În continuare, puteți face cunoștință cu informații despre noile funcții, puteți studia câteva exemple sau puteți urma un curs de formare.

    Figura 2. Pagina de prezentare generală a Eclipse

    Spațiul de lucru Eclipse este format din mai multe panouri numite vederi, cum ar fi vizualizările de navigare sau de contur. Un set de astfel de reprezentări se numește perspectivă. Una dintre cele mai comune perspective este perspectiva Resurselor, care reprezintă set de bază vizualizări pentru gestionarea proiectelor și vizualizarea și editarea fișierelor de proiect.

    Recomand ca majoritatea utilizatorilor începători să înceapă cu pagina de prezentare generală prezentată în Figura 2 și să învețe mai multe despre Eclipse. Secțiunea de bază a bancului de lucru conține o mulțime de informații inițiale utile despre diferitele componente ale Eclipse și despre modul în care acestea interacționează între ele. Luați câteva minute pentru a citi acest lucru, apoi haideți să ne aprofundăm în Instrumentele de dezvoltare Java (JDT) ale Eclipse. Cel mai bun mod de a învăța ceva este să încerci în practică.

    Continuând acest scurt tur al Eclipse, vom crea un nou proiect în Java. Selecta Fișier > Nou > Proiect Javași introduceți Bună ziua când vi se solicită numele proiectului, apoi faceți clic Termina.

    Acum să ne uităm la perspectiva „Java” (dacă nu ești deja în ea). În funcție de modul în care preferați să vă controlați ecranul, puteți fie să schimbați perspectiva în fereastra curentă selectând Fereastra > Deschidere perspectivă > Java (Fereastră > Deschidere perspectivă > Java), sau deschideți o fereastră nouă selectând Fereastră > Fereastră nouăși alegeți o nouă perspectivă.

    După cum v-ați putea aștepta, perspectiva Java are un set de vederi concepute pentru a ghida dezvoltarea Java. Unul dintre ele, situat în colțul din stânga sus, este o ierarhie care conține diverse pachete Java, clase, arhive JAR și diferite fișiere. Această vizualizare se numește Package Explorer. Vă rugăm să rețineți că două elemente noi au fost adăugate în meniul principal: Sursă și Refactor.

    Instrumente de dezvoltare Java (JDT)

    Pentru a încerca mediul de dezvoltare Java, vom crea și rula o aplicație numită „Hello World”. În perspectiva Java, faceți clic dreapta pe folderul cu testul sursă al proiectului „Hello” (src) și selectați Nou > Clasă, așa cum se arată în Figura 3. În caseta de dialog care apare, introduceți Hello ca nume de clasă. Mai jos este inscripția Ce cioturi de metodă ați dori să creați? (Ce cioturi de metodă doriți să creați?) nota public static void main (Argumente șir)și faceți clic Termina.

    Figura 3. Crearea unei noi clase în perspectiva Java

    Acest lucru va crea un fișier .java cu clasa Hello și o metodă goală main() în zona editorului, așa cum se arată în Figura 4. Să adăugăm următorul cod la metodă (rețineți că descrierea pentru i a fost omisă în mod deliberat).

    Figura 4. Clasa Hello în editorul Java

    Pe măsură ce tastați, veți observa unele dintre caracteristicile editorului Eclipse, inclusiv verificarea sintaxei și completarea automată a codului. În plus, atunci când introduceți o paranteză de deschidere sau ghilimele duble, Eclipse inserează automat o pereche de închidere pentru acestea și plasează cursorul în mijloc.

    În alte cazuri, puteți determina completarea automată a codului folosind combinația Ctrl+1. Funcția de completare a codului oferă o listă de opțiuni sensibile la context, din care puteți selecta folosind tastatura sau mouse-ul. Opțiunile pot fi o listă de metode specifice unui anumit obiect sau o bucată de cod bazată pe diferite cuvinte cheie, cum ar fi pentru sau în timp ce .

    Verificarea sintaxei depinde de compilarea incrementală. Pe măsură ce salvați codul, acesta este compilat în fundal și verificat erori de sintaxă. În mod implicit, erorile de sintaxă sunt subliniate cu roșu și în marginea din stânga apare un punct roșu cu un X alb. Alte erori sunt marcate în marginea editorului cu un simbol bec; acestea sunt probleme pe care editorul le-ar putea rezolva pentru dvs. (o caracteristică numită Quick Fix).

    În codul de mai sus, semnul becului apare lângă declarația for, deoarece descrierea pentru i a fost omisă. Atingeți de două ori mouse-ul pe bec va face să apară o listă de remedieri sugerate. În cazul nostru, ni se va cere să creăm un câmp de clasă i, o variabilă locală i sau un parametru i pentru o metodă; selectând oricare dintre aceste opțiuni cu mouse-ul va afișa codul care va fi generat. Figura 5 prezintă lista de opțiuni sugerate și codul sugerat în cazul unei variabile locale.

    Figura 5: Opțiuni de remediere rapidă

    Făcând dublu clic pe o propoziție, codul se inserează în locul dorit din program.

    Dacă programul se compilează fără erori, îl puteți rula selectând Fugiîn meniul Eclipse. (Rețineți că nu există un pas separat pentru compilare, deoarece compilarea are loc pe măsură ce salvați codul. Dacă codul dvs. nu are erori de sintaxă, este gata de rulare.) Apare dialogul Lansare configurații cu valorile implicite dorite; clic Fugi dreapta jos. Un nou panou cu file (Consola) apare în panoul de jos, afișând rezultatul programului, așa cum se arată mai jos.

    Figura 6. Rezultatul programului

    Puteți rula programul și în depanatorul Java. Mai întâi trebuie să setați un punct de întrerupere în main() System.out.println() folosind dublu clic mouse-ul pe câmpul gri din partea stângă a ferestrei de editare de lângă apelul la System.out.println() . Va apărea un punct albastru. Pe meniu Fugi selectați echipa Depanați. După cum s-a descris mai devreme, va apărea dialogul „Launch Configurations”. Selectați o echipă Fugi. Perspectiva se va schimba automat în perspectiva Debug, care conține o serie de vederi noi interesante, așa cum se arată mai jos.

    Figura 7. Perspectivă de depanare

    Observați vizualizarea Depanare din colțul din stânga sus al perspectivei. Această vizualizare arată stiva de apeluri și conține o bară de instrumente în bara de titlu care vă permite să controlați execuția programului. Panoul are butoane pentru a continua, întrerupe sau încheia programul, trece la instrucțiunea următoare, trece peste instrucțiunea următoare sau reveni de la o metodă. Panoul din dreapta sus conține un număr de vizualizări cu file, inclusiv variabile, puncte de întrerupere ( Puncte de control), Expresii și afișare. Fila Variabile este acum selectată, astfel încât să putem vedea valoarea curentă a variabilei i.

    Mai mult informatii detaliate oricare dintre vederi poate fi obținută folosind indicii de context; Pentru a face acest lucru, faceți clic pe titlul vizualizării și apăsați F1.

    Pluginuri suplimentare

    Pe lângă pluginurile de tip JDT pentru editarea, compilarea și depanarea aplicațiilor, există plugin-uri care susțin întregul proces de dezvoltare: modelare, automatizare a construcției, testare unitară, testare a performanței, versiunea și gestionarea configurației.

    Eclipse include un plugin pentru lucrul cu sistemul de versiuni simultane (CVS) pentru gestionarea codului sursă. Pluginul Team se conectează la serverul CVS, permițând membrilor unei echipe de dezvoltare să lucreze cu un set de fișiere care conțin cod sursă fără a interfera cu modificările făcute de alții. Nu vom explora gestionarea surselor de la Eclipse mai detaliat aici, deoarece aceasta ar necesita instalarea unui server CVS, deși capacitatea de a sprijini o echipă de dezvoltatori, mai degrabă decât doar auto-dezvoltarea, este o parte importantă și integrantă a Eclipse.

    Pluginurile care sunt întreținute și distribuite de Fundația Eclipse pot fi găsite pe site-ul Web Eclipse. Cea mai cuprinzătoare listă de pluginuri disponibile este disponibilă pe pagina Eclipse Plug-in Central, care servește ca director de pluginuri.

    Arhitectura platformei Eclipse

    Platforma Eclipse conține un set puternic de plugin-uri (vezi Figura 8) care suportă proiecte precum JDT și PDE.

    Figura 8. Arhitectura simplificată a platformei Eclipse

    Blocurile albastru închis reprezintă componente care sunt centrale pentru Platforma Rich Client (RCP) din Eclipse. Conceptul de RCP în sine depășește domeniul de aplicare al acestui articol, dar să presupunem că RCP este pur și simplu un set de pluginuri de la Eclipse pe care oamenii le pot folosi în dezvoltarea de aplicații, de exemplu Lotus Notes® 8. Blocurile albastru deschis reprezintă componente opționale (deși recomandate) pentru includerea în aplicațiile bazate pe RCP. Și blocurile gri sunt complet opționale. Platforma constă din mai multe componente, ne vom uita la unele dintre ele:

    Timp de rulare Runtime este codul care definește modelul plugin-ului Eclipse, bazat pe specificația OSGi și ideea de extensii și puncte de extensie. Runtime oferă, de asemenea, servicii suplimentare, cum ar fi syslogging și concurență. JFace/SWT Standard Widget Toolkit (SWT) este o colecție de widget-uri care oferă interfața cu utilizatorul și funcționalitatea Eclipse. JFace este pur și simplu un superset de SWT care oferă mai multe clase Model-View-Controller (MVC) pentru a facilita dezvoltarea aplicațiilor grafice. Banc de lucru Spațiul de lucru îi conferă lui Eclipse personalitatea. La acest nivel este implementat conceptul de vederi, perspective și lucruri precum editarea ferestrelor. Ajutor (Asistență pentru utilizatori) Această componentă Eclipse vă permite să oferiți asistență utilizatorilor dvs. Acest lucru se poate face printr-un sistem de ajutor care permite utilizatorilor să caute documentație de ajutor sau prin „cheat sheets” care utilizatorii finali pot fi prezentate ca liste de sarcini interactive. Actualizare Componenta de actualizare oferă Eclipse un mijloc de a actualiza aplicațiile de la o versiune la alta. Echipă Componenta de echipă este o infrastructură care permite companiilor de dezvoltare să-și conecteze propriile sisteme de control al versiunilor. Un exemplu de implementare a furnizorului este pluginul CVS încorporat în Eclipse.

    Concluzie

    De la codul inițial scris de IBM, Eclipse a devenit un ecosistem open source complet cu mai mult de 100 de companii participante. Infrastructura portabilă, extensibilă, open source nu mai este o idee nouă, dar cu un design bine gândit, robust și elegant, Eclipse capătă o dinamică cu totul nouă.

    Bun venit în ecosistemul Eclipse. Scopul nostru a fost să vă ajutăm să ajungeți la viteza pe platforma Eclipse. Am reușit acest lucru printr-un text introductiv și un simplu exercițiu de practică. Folosiți cunoștințele pe care le obțineți în urma citirii acestui articol și deveniți un membru activ al ecosistemului Eclipse.