Komme i gang med Eclipse-plattformen. Funksjoner til Java-programvareplattformer. Jeg vil bli med i fellesskapet. Hvordan gjøre det

- frie rammer for utvikling av modulære tverrplattformapplikasjoner.

Prosjektet ble opprinnelig utviklet i IBM som en bedrifts IDE-standard for utvikling på forskjellige språk for IBM-plattformer. Prosjektet ble deretter omdøpt og gitt til samfunnet for videre utvikling.

Først av alt, komplett Java IDE, rettet mot gruppeutvikling, utstyrt med verktøy for arbeid med versjonskontrollsystemer (CVS-støtte er inkludert i Eclipse-distribusjonen, flere versjoner av SVN-moduler utvikles aktivt, det er støtte for VSS og andre). På grunn av gratis I mange organisasjoner er Eclipse bedriftens standard for applikasjonsutvikling.

Andre avtale- tjene som en plattform for å utvikle nye utvidelser (det er grunnen til at det har blitt populært - enhver utvikler kan utvide Eclipse med sine egne moduler). Så de ble C/C++ utviklingsverktøy(CDT), utviklet av QNX-ingeniører sammen med IBM, COBOL, FORTRAN, PHP-verktøy fra ulike utviklere. Mange utvidelser kompletterer Eclipse med ledere for å jobbe med databaser, applikasjonsservere, etc.

Siden versjon 3.0 har Eclipse blitt en samling av utvidelser i stedet for en monolitisk IDE som støtter utvidelser. Den er basert på OSGi- og SWT/JFace-rammeverket, som neste lag er utviklet på grunnlag av - en plattform for utvikling av fullverdige klientapplikasjoner RCP (Rich Client Platform - (English rich-client applications) RCP-plattformen fungerer som grunnlag for RCP-applikasjoner som Azareus og File Arranger. Det neste laget er Eclipse-plattformen, som er et sett med RCP-utvidelser - redaktører, paneler, perspektiver, CVS-modulen og Java Development Tools (JDT).

Skrevet på Java, derfor er det et plattformuavhengig produkt, med unntak av SWT-biblioteket, som er utviklet for alle vanlige plattformer. SWT-biblioteket brukes i stedet for den "langsomme" Swing og er helt avhengig av den underliggende plattformen (operativsystemet), som sikrer hastighet og naturlig utseende brukergrensesnitt.

Grunnlaget for Eclipse er den rike klientplattformen (RCP). Den består av følgende komponenter:


  • OSGi (standard pakkeleveringsmiljø);
  • SWT (bærbar widget-verktøysett);
  • JFace (filbuffere, arbeider med tekst, );
  • Eclipse arbeidsmiljø (paneler, redaktører, projeksjoner, veivisere).
  • GUI er skrevet ved hjelp av SWT-verktøysettet. Sistnevnte, i motsetning til Swing (som bare emulerer individuelle grafiske elementer på plattformen som brukes), bruker faktisk grafiske komponenter av dette systemet. Eclipse-brukergrensesnittet er også avhengig av en GUI-mellomvare kalt JFace, som gjør det enkelt å bygge et SWT-basert brukergrensesnitt.

    Fleksibilitet sikres av plug-ins, som gjør det mulig å utvikle ikke bare i Java, men også på andre språk, som C/C++, Perl, Ruby, Python, PHP, ErLang og andre.

    Lokalisering

    Siden versjon 3.1.1, har en språkpakke for russifisering blitt utgitt. Oversatt til russisk som GUI og dokumentasjon.

    Det finnes en rekke gratis og kommersielle moduler for miljøet. Rammeverket ble opprinnelig utviklet for Java-språket, men det finnes nå en rekke utvidelser for å støtte andre språk, som f.eks.

    • C/C++ - CDT Eclipses C/C++ utviklingsverktøy
    • Perl - EPIC-modul, Eclipse Perl-integrasjon
    • PHP - PDT PHP utviklingsverktøy
    • JavaScript - JS Eclipse Java script-plugin for Eclipse-miljøet
    • Python - Pydev, Python Development Environment
    • Ruby - RDT, Ruby Development Tools

    Det finnes også moduler for å lage grafiske grensesnitt.

    For å utvikle og motta rapporter og utvikle analytiske BI-applikasjoner er det no:BIRT_Projec t.

    Det er innebygd funksjon for installasjon og oppdatering av moduler via .

    Aptana(aptana.com) - Eclipse-distribusjon og plugin som støtter utvikling med bruker JavaScript(alle hovedbibliotekene i JS Ajax er inkludert i distribusjonen), HTML, CSS, Ruby on rails, Adobe AIR.

    Legg igjen din kommentar!

    ) spesifikasjonene til OSGi-tjenesteplattformen ble valgt som arkitekturen til kjøretidsmiljøet. Siden versjon 3.0 har Eclipse sluttet å være en monolitisk IDE som støtter utvidelser, og har i seg selv blitt en samling av utvidelser. Den er basert på OSGi-rammeverket og SWT/JFace, som neste lag utvikles på grunnlag av – RCP (Rich Client Platform, en plattform for utvikling av fullverdige klientapplikasjoner). RCP fungerer som grunnlag ikke bare for Eclipse, men også for andre RCP-applikasjoner, som Azureus og File Arranger. Det neste laget er selve Eclipse, som er et sett med RCP-utvidelser - redaktører, paneler, perspektiver, en CVS-modul og en Java Development Tools (JDT)-modul.

    Siden 2006 har Eclipse Foundation koordinert en årlig Simultaneous Release, som finner sted i juni. Hver utgivelse inkluderer Eclipse-plattformen samt en rekke andre Eclipse-prosjekter.

    Utgivelse Dato Plattformversjon Prosjekt
    Neon 22. juni 2016 4.6
    Mars 25. juni 2015 4.5
    Luna 6. juni 2014 4.4
    Kepler 26. juni 2013 4.3
    Juno 27. juni 2012 3.8 og 4.2
    Indigo 22. juni 2011 3.7
    Helios 23. juni 2010 3.6
    Galileo 24. juni 2009 3.5
    Ganymedes 25. juni 2008 3.4
    Europa 29. juni 2007 3.3
    Callisto 30. juni 2006 3.2
    Eclipse 3.1 28. juni 2005 3.1
    Eclipse 3.0 28. juni 2004 3.0

    Fordeler

    Eclipse fungerer først og fremst som en plattform for å utvikle utvidelser, og det er grunnen til at den har vunnet popularitet: enhver utvikler kan utvide Eclipse med sine egne moduler. Det finnes allerede Java Development Tools (JDT), C/C++ Development Tools (CDT), utviklet av QNX-ingeniører sammen med IBM, og verktøy for språkene Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP, X10 (X10DT) ), etc. fra ulike utviklere. En rekke utvidelser kompletterer Eclipse-miljøet med ledere for å jobbe med databaser, applikasjonsservere og mer.

    Eclipse JDT (Java Development Tools) er den mest kjente modulen rettet mot gruppeutvikling: miljøet er integrert med versjonskontrollsystemer - CVS, GIT i hoveddistribusjonen, det er plugins for andre systemer (for eksempel Subversion,). Tilbyr også støtte for kommunikasjon mellom IDE og oppgave (feil) styringssystemet. Hoveddistribusjonen inkluderer støtte for Bugzilla bug tracker, og det er også mange utvidelser for å støtte andre trackere (Trac, Jira, etc.). På grunn av gratis og Høy kvalitet,Eclipse er bedriftsstandarden for applikasjonsutvikling i mange organisasjoner.

    Eclipse er skrevet i Java, derfor er det et plattformuavhengig produkt, med unntak av SWT-biblioteket, som er utviklet for alle vanlige plattformer (se nedenfor). SWT-biblioteket brukes i stedet for standard Java Swing-biblioteket. Den er helt avhengig av den underliggende plattformen (operativsystemet), som gir et raskt og naturlig utseende brukergrensesnitt, men noen ganger forårsaker kompatibilitets- og programstabilitetsproblemer på tvers av plattformer.

    Arkitektur

    Grunnlaget for Eclipse er Rich Client Platform (RCP). rik klientplattform). Den består av følgende komponenter:

  • OSGi (standardmiljø for levering av sett) bunter));
  • SWT (bærbar widget-verktøysett);
  • JFace (filbuffere, arbeid med tekst, tekstredigerere);
  • Eclipse arbeidsmiljø (paneler, redaktører, projeksjoner, veivisere).
    • Aperi (fra lat. åpen) - åpen kildekode-system for administrasjon av nettverkslagringssystemer.
    • BIRT (Business Intelligence and Reporting Tools) - Web- og PDF-rapporter.
    • DTP (Data Tools Platform) - utvikling av datasentriske systemer, spesielt data i relasjonsdatabaser; administrere programmer med et stort antall kontakter.
    • GEF (Graphical Editing Framework) er et rammeverk for å bygge innebygde grafiske redaktører.
    • Jazz er en klient-server-plattform for interaksjon mellom utviklere under utviklingen av et prosjekt (inkluderer chat, hendelseslogg, etc.), bygget på toppen av Eclipse (en del av IBM Rational-produktlinjen).
    • Modellering .
    • Verktøy .
    • TPTP (Test & Performance Tools Platform) - utvikling av testverktøy, - debuggere, profiler, etc.
    • VE (Visual Editor Project) - utvikling av GUI-verktøy.
    • WTP (Web Tools Platform Project) - J2EE-verktøy for utvikling av nettapplikasjoner:
      • HTML, JavaScript, CSS, JSP, SQL, XML, DTD, XSD og WSDL redaktører;
      • grafiske redaktører for XSD og WSDL;
      • Web Services Wizards og Explorer, WS-I Test Tools;
      • verktøy for å få tilgang til og bygge spørringer og databasemodeller.
    • Eclipse Communication Framework (ECF) har som mål å lage kommunikasjonsapplikasjoner på Eclipse-plattformen.
    • Utviklingsprosjekt programvare for enheter (DSDP).
    • Parallel Tools Platform (PTP) gir en bærbar, skalerbar, standardbasert parallellverktøyplattform som vil lette integreringen av verktøy som er spesifikke for parallelle datamaskinarkitekturer.
    • Embedded Enhanced Client Platform (eRCP) - designet for å utvide RCP til innebygde enheter. eRCP inkluderer et sett med komponenter som er et undersett av RCP-komponenter. Den lar deg overføre applikasjonsmodellen som brukes på stasjonære datamaskiner til andre enheter.
    • DLTK (Dynamic Languages ​​Toolkit) er et integrert utviklermiljø for dynamiske programmeringsspråk.
    • Swordfish er en plattform for å bygge distribuerte bedriftsinformasjonssystemer.

    Siste versjoner

    Eclipse 3.3.2 (Europa Winter)

    Antallet nye delprosjekter (både administrert av Eclipse Foundation og tredjepart) vokser raskt. Vi må koordinere innsatsen til et stort antall utviklere og foreslå felles regler - "Eclipse Development Process".

    Siste versjon utgivelsen inkluderer 21 delprosjekter.

    Eclipse 3.4 (Ganymede)

    Ganymede-utgivelsen (06.2008) inkluderer 23 delprosjekter:

    • Eclipse Project 3.4
    • Equinox 3.4
    • Eclipse Communication Framework Project 2.0.0
    • Eclipse Model Framework Technology
    • Eclipse Modeling Framework 2.4.0
    • Eclipse Packaging Project 1.0.0
    • Eclipse Web Tools Platform Project 3.0.0
    • Graphical Editor Framework 3.4.0
    • Grafisk modelleringsrammeverk 2.1
    • Verktøy for modellutvikling. 1.1
    • Dataverktøyplattform (DTP) 1.6
    • Device Software Development Platform Project Device Debugging 1.0
    • Device Software Development Platform Project Target Management 3.0
    • Buckminster Component Assembly 1.1
    • BIRT 2.3.0
    • C/C++ utviklingsverktøy (CDT) 5.0.0
    • Dynamic Languages ​​Toolkit 0.95
    • Modell til tekst (M2T) 0.9.0
    • Modell-til-modell-transformasjon (M2M)
    • Mylyn 3.0 (oppgavefokusert brukergrensesnitt)
    • Rich Ajax Platform (RAP) 1.1
    • SOA-verktøy (STP) 1.0
    • Subversiv - SVN Team Provider
    • Målstyring 3.0
    • Test- og ytelsesverktøy Plattformprosjekt 4.5.0

    Eclipse 3.5 (Galileo)

    Den siste utgivelsen av Galileo, presentert for publikum 24. juni 2009, inkluderer 33 delprosjekter:

    • Eclipse Platform 3.5
    • Eclipse Project 3.5.0
    • Eclipse Modeling Framework (EMF) 2.5.0
    • Eclipse Packaging Project 1.1.0
    • Eclipse Web Tools Platform Project WTP 3.1.0 (Galileo)
    • EclipseLink Project 1.1.2
    • Tilgjengelighetsverktøy Framework 0.7.0
    • Business Intelligence and Reporting Tools (BIRT)
    • C/C++ Development Tooling (CDT) 6.0
    • Dali Java Persistence Tools 2.2
    • Data Tools Platform 1.7 (Galileo)
    • Dynamic Languages ​​Toolkit 1.0
    • Equinox 3.5
    • GEF - Graphical Editor Framework 3.5.0
    • Grafisk modelleringsrammeverk 2.2.0
    • Java arbeidsflytverktøy JWT 0.6
    • JDT - Java utviklingsverktøy
    • M2T JET (Java Emitter Maler) - aka JET2 M2T JET 1.0.0 (Galileo)
    • Memory Analyzer 0.8.0
    • Mobilverktøy for Java
    • Modell til tekst (M2T) 1.0.0
    • Modell-til-modell-transformasjon (M2M) Galileo samtidig utgivelse
    • Overvåkingsverktøy 4.6
    • Mylyn 3.2
    • PHP utviklingsverktøy 2.1.0
    • Rik Ajax-plattform 1.2
    • Riena plattformprosjekt 1.1.0.
    • SCA Tools 2.0.0
    • SOA-verktøy 2.0
    • Kilderedigering 3.1.0 (Galileo)
    • Sverdfisk 0.9.0
    • Målstyring 3.1
    • Test- og ytelsesverktøy plattformprosjekt 4.5.3
    • Testverktøy TPTP v4.6
    • Textual Modeling Framework org.eclipse.xtext
    • Verktøy for mobil Linux 0.3
    • TPTP-plattform TPTP v4.6
    • Verktøy for sporing og profilering TPTP v4.6

    Lokalisering

    Fra og med versjon 3.1.1 har en språkpakke for Russification of Eclipse blitt utgitt. Både det grafiske grensesnittet og dokumentasjonen er oversatt til russisk.

    Moduler

    Det finnes en rekke gratis og kommersielle moduler tilgjengelig for Eclipse-miljøet. Rammeverket ble opprinnelig designet for Java-språket, men det er nå mange utvidelser for å støtte andre språk:

    Språk Modul
    /C++ CDT
    Fortran Photran
    Perl EPISK
    PHP PDT
    JavaScript JSEclipse
    Python PyDev (Eclipse) ( Engelsk)
    Rubin RDT
    1C V8 1C:Enterprise DT

    Å utvikle og oppnå rapporter og utvikling av analytiske BI-applikasjoner i Eclipse er det BIRT Project ( Engelsk).

    Eclipse har innebygd funksjonalitet for installasjon og oppdatering av moduler over Internett.

    Populære applikasjoner basert på SWT og RCP

    Støttede arkitekturer og systemer

    • HP-UX (HP9000/Motif)
    • Linux (x86, x86-64, PPC, IA-64 /GTK 2)
    • Linux (x86/motiv)
    • Solaris 8 (SPARC/GTK 2, motiv)
    • QNX (x86/foto)
    • Microsoft Windows (Win32, Win64)
    • Android (ARM)

    Skriv en anmeldelse om artikkelen "Eclipse (utviklingsmiljø)"

    Notater

    1. Darryl K. Taft.(Engelsk) . ??? (20. mai 2005). Hentet 3. september 2009. .
    2. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    3. (Engelsk) . Hentet 3. september 2009. .
    4. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    5. (Engelsk) . Eclipse dokumentasjon. Offisiell side. Hentet 3. september 2009. .
    6. (Engelsk) . Eclipse dokumentasjon. Offisiell side. Hentet 3. september 2009. .
    7. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    8. Sergey Golubev.. ??? (15. november 2005). Hentet 3. september 2009. .
    9. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    10. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    11. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    12. (Engelsk) . Hentet 3. september 2009. .
    13. Vladimir Paramonov.. Compulenta (31. januar 2007). Hentet 3. september 2009.
    14. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    15. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    16. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    17. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    18. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    19. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    20. . Offisiell side. .
    21. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    22. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    23. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    24. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    25. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    26. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    27. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    28. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    29. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    30. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    31. (Engelsk) . Offisiell nettside (juni 2007). Hentet 3. september 2009. .
    32. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    33. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    34. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    35. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    36. (Engelsk) . Offisiell side. Hentet 24. mars 2011. .
    37. (Engelsk) . . Hentet 3. september 2009. .
    38. (Engelsk) . Offisiell side. Hentet 3. september 2009. .
    39. (Engelsk) . ???. Hentet 3. september 2009. .
    40. Josh Fet.(russisk). ??? (juni 2008). - Installere PyDev i Eclipse. Hentet 3. september 2009. .
    41. (Engelsk) . ???. Hentet 3. september 2009. .
    42. (10.04.2015).
    43. (russisk). ???. Hentet 3. september 2009. .
    44. (Engelsk) . . Hentet 3. september 2009. .
    45. (Engelsk) . . Hentet 3. september 2009. .
    46. (Engelsk) . ???. Hentet 3. september 2009. .
    47. (Engelsk) . ???. Hentet 3. september 2009. .
    48. (Engelsk) (utilgjengelig lenke - historie) . ???. Hentet 3. september 2009. .
    49. (Engelsk) . ???. Hentet 3. september 2009.

    Lenker

    • (Engelsk)
    • (Engelsk)
    • (engelsk) - Dokumentasjon for Eclipse SDK
    • (Engelsk)
    • (Engelsk)
    • (engelsk) - Advanced Client Platform
    • (Engelsk)
    • (engelsk) IBM
    • IBM (russisk)
    • (russisk) IBM
    • (russisk)
    • (engelsk) - nøkkelferdige distribusjonsalternativer for Eclipse for ulike utviklingsområder (Expert Java, Desktop Java, Server Java, Mobile Java, etc.)
    • (Russisk) Art Lebedev Studio

    Et utdrag som beskriver Eclipse (utviklingsmiljø)

    Dagen etter fulgte Rostov prinsesse Marya til Jaroslavl, og noen dager senere dro han selv til regimentet.

    Sonyas brev til Nicholas, som var oppfyllelsen av hans bønn, ble skrevet fra Trinity. Det er dette som forårsaket det. Tanken på at Nicholas skulle gifte seg med en rik brud opptok den gamle grevinnen mer og mer. Hun visste at Sonya var hovedhindringen for dette. Og Sonyas liv I det siste, spesielt etter at Nikolais brev, som beskrev møtet hans i Bogucharovo med prinsesse Marya, ble tyngre og tyngre i grevinnens hus. Grevinnen gikk ikke glipp av en eneste mulighet til å komme med et offensivt eller grusomt hint til Sonya.
    Men noen dager før hun forlot Moskva, rørt og begeistret over alt som skjedde, ropte grevinnen Sonya til seg, i stedet for bebreidelser og krav, vendte seg til henne med tårer og ba om at hun, ved å ofre seg selv, ville betale tilbake for alt, det som ble gjort for henne var å bryte båndene hennes med Nikolai.
    "Jeg vil ikke være i fred før du gir meg dette løftet."
    Sonya brast hysterisk i gråt, svarte gjennom hulkene at hun ville gjøre alt, at hun var klar for hva som helst, men hun ga ikke et direkte løfte og kunne i sjelen ikke bestemme seg for hva som ble krevd av henne. Hun måtte ofre seg selv for lykken til familien som matet og oppdro henne. Å ofre seg selv for andres lykke var Sonyas vane. Hennes posisjon i huset var slik at bare på offerveien kunne hun vise sine dyder, og hun var vant og elsket til å ofre seg selv. Men først, i alle handlinger av selvoppofrelse, innså hun med glede at hun ved å ofre seg selv, dermed hevet sin verdi i øynene til seg selv og andre og ble mer verdig for Nicolas, som hun elsket mest i livet; men nå måtte hennes offer bestå i å gi opp det som for henne utgjorde hele offerets belønning, hele meningen med livet. Og for første gang i livet følte hun bitterhet mot de menneskene som hadde nyttet henne for å torturere henne mer smertefullt; Jeg følte misunnelse på Natasha, som aldri hadde opplevd noe lignende, aldri trengte ofre og tvang andre til å ofre seg selv og likevel ble elsket av alle. Og for første gang kjente Sonya hvordan det, av hennes stille, rene kjærlighet til Nicolas, plutselig begynte å vokse en lidenskapelig følelse, som sto over regler, dyder og religion; og under påvirkning av denne følelsen svarte Sonya ufrivillig, lært av sitt avhengige liv i hemmelighold, grevinnen generelt, vage ord, unngikk samtaler med henne og bestemte seg for å vente på et møte med Nikolai slik at hun ikke ville fri på dette møtet. henne, men tvert imot, binde seg til ham for alltid.
    Problemene og redselen fra de siste dagene av Rostovs opphold i Moskva overdøvet de mørke tankene som tynget henne. Hun var glad for å finne frelse fra dem i praktiske aktiviteter. Men da hun fikk vite om tilstedeværelsen av prins Andrei i huset deres, til tross for all den oppriktige medlidenhet hun følte for ham og Natasha, overtok en gledelig og overtroisk følelse av at Gud ikke ville at hun skulle skilles fra Nicolas henne. Hun visste at Natasha elsket en prins Andrei og sluttet ikke å elske ham. Hun visste at nå, samlet under slike forferdelige forhold, ville de elske hverandre igjen, og at da ville Nicholas, på grunn av slektskapet som ville være mellom dem, ikke kunne gifte seg med prinsesse Marya. Til tross for all redselen med alt som skjedde i De siste dagene og i løpet av de første dagene av reisen gledet denne følelsen, denne bevisstheten om Forsynets inngripen i hennes personlige anliggender, Sonya.
    Familien Rostov tilbrakte sin første dag på turen ved Trinity Lavra.
    På Lavra-hotellet ble Rostovs tildelt tre store rom, hvorav ett var okkupert av prins Andrei. Den sårede mannen var mye bedre den dagen. Natasha satt sammen med ham. I rommet ved siden av satt greven og grevinnen og snakket respektfullt med prosten, som hadde besøkt sine gamle kjente og investorer. Sonya satt der, og hun ble plaget av nysgjerrighet på hva prins Andrei og Natasha snakket om. Hun lyttet til lydene av stemmene deres bak døren. Døren til prins Andreis rom åpnet seg. Natasha kom ut derfra med et begeistret ansikt og la ikke merke til munken som reiste seg for å møte henne og tok tak i det vide ermet på høyre hånd, gikk bort til Sonya og tok hånden hennes.
    - Natasha, hva gjør du? Kom hit, sa grevinnen.
    Natasha kom under velsignelsen, og abbeden rådet til å vende seg til Gud og hans helgen for å få hjelp.
    Umiddelbart etter at abbeden dro, tok Nashata venninnens hånd og gikk med henne inn i det tomme rommet.
    - Sonya, ikke sant? vil han være i live? - hun sa. – Sonya, så glad jeg er og så ulykkelig jeg er! Sonya, min kjære, alt er som før. Hvis han bare var i live. Han kan ikke ... fordi, fordi ... det ... - Og Natasha brast i gråt.
    - Så! Jeg visste det! Takk Gud," sa Sonya. - Han vil være i live!
    Sonya var ikke mindre begeistret enn venninnen - både av frykt og sorg, og av hennes personlige tanker som ikke ble uttrykt til noen. Hun hulket, kysset og trøstet Natasha. "Hvis han bare var i live!" - hun trodde. Etter å ha grått, snakket og tørket tårene, nærmet begge vennene seg døren til prins Andrei. Natasha åpnet forsiktig dørene og så inn i rommet. Sonya sto ved siden av henne ved den halvåpne døren.
    Prins Andrei lå høyt på tre puter. Det bleke ansiktet hans var rolig, øynene hans var lukket, og du kunne se hvordan han pustet jevnt.
    - Å, Natasha! – Plutselig skrek Sonya nesten, grep kusinen sin og trakk seg tilbake fra døren.
    - Hva? Hva? – spurte Natasha.
    «Dette er dette, det, det...» sa Sonya med et blekt ansikt og skjelvende lepper.
    Natasha lukket døren stille og gikk med Sonya til vinduet, men forsto ennå ikke hva de sa til henne.
    "Husker du," sa Sonya med et skremt og høytidelig ansikt, "husker du da jeg så etter deg i speilet... I Otradnoye, ved juletider... Husker du hva jeg så?...
    – Ja Ja! – sa Natasha og åpnet øynene store, og husket vagt at da sa Sonya noe om prins Andrei, som hun så liggende.
    - Husker du? – fortsatte Sonya. «Jeg så det da og fortalte det til alle, både deg og Dunyasha.» "Jeg så at han lå på sengen," sa hun og gjorde en gest med hånden med en løftet finger på hver detalj, "og at han hadde lukket øynene, og at han var dekket med et rosa teppe, og at han hadde foldet hendene,» sa Sonya, og forsikret seg om at mens hun beskrev detaljene hun så nå, at de samme detaljene hun så da. Hun så ikke noe da, men sa at hun så hva som kom inn i hodet hennes; men det hun fant på syntes henne da like gyldig som ethvert annet minne. Det hun sa da, at han så tilbake på henne og smilte og var dekket med noe rødt, husket hun ikke bare, men var fast overbevist om at allerede da sa hun og så at han var dekket med et rosa, akkurat rosa, teppe, og at øynene hans var lukket.
    "Ja, ja, akkurat i rosa," sa Natasha, som nå også så ut til å huske det som ble sagt i rosa, og i dette så hun hoveduvanligheten og mysteriet med spådommen.
    – Men hva betyr dette? – sa Natasha ettertenksomt.
    - Å, jeg vet ikke hvor ekstraordinært alt dette er! - sa Sonya og klemte hodet.
    Noen minutter senere ringte prins Andrei, og Natasha kom inn for å se ham; og Sonya, som opplevde en følelse og ømhet hun sjelden hadde opplevd, ble liggende ved vinduet og grublet over den ekstraordinære naturen til det som hadde skjedd.
    På denne dagen var det en mulighet til å sende brev til hæren, og grevinnen skrev et brev til sønnen.
    "Sonya," sa grevinnen og løftet hodet fra brevet mens niesen gikk forbi henne. – Sonya, vil du ikke skrive til Nikolenka? - sa grevinnen med en stille, skjelvende stemme, og i blikket av de trette øynene hennes, mens hun så gjennom briller, leste Sonya alt som grevinnen forsto i disse ordene. Dette blikket uttrykte bønnfall, frykt for å nekte, skam over å måtte spørre, og beredskap for uforsonlig hat i tilfelle avslag.
    Sonya gikk bort til grevinnen og knelte ned og kysset hånden hennes.
    "Jeg skal skrive, mamma," sa hun.
    Sonya ble myknet, begeistret og berørt av alt som skjedde den dagen, spesielt av den mystiske fremføringen av spåkonger hun nettopp så. Nå som hun visste at i anledning fornyelsen av Natasjas forhold til prins Andrei, kunne Nikolai ikke gifte seg med prinsesse Marya, følte hun gledelig tilbakekomsten av den selvoppofrende stemningen som hun elsket og var vant til å leve i. Og med tårer i øynene og med gleden over å realisere en sjenerøs gjerning, skrev hun, flere ganger avbrutt av tårer som grumset de fløyelsmyke, svarte øynene hennes, det rørende brevet, hvis mottakelse gjorde Nikolai så forbløffet.

    Ved vakthuset der Pierre ble tatt, behandlet offiseren og soldatene som tok ham med fiendtlighet, men samtidig med respekt. Man kunne fortsatt føle i deres holdning til ham tvil om hvem han var (om han var en veldig viktig person), og fiendtlighet på grunn av deres fortsatt ferske personlige kamp med ham.
    Men da skiftet en annen dag om morgenen kom, følte Pierre at for den nye garde - for offiserene og soldatene - hadde det ikke lenger den betydningen det hadde for dem som tok ham. Og sannelig, i denne store, tykke mannen i en bondekaftan, så vaktene fra neste dag ikke lenger den levende mannen som så desperat kjempet med røveren og med eskortesoldatene og sa en høytidelig setning om å redde barnet, men så bare den syttende av dem som ble holdt av en eller annen grunn, etter ordre fra de høyeste myndigheter, de fangede russerne. Hvis det var noe spesielt med Pierre, så var det bare hans sjenerte, intenst gjennomtenkte utseende og det franske språket, som, overraskende for franskmennene, snakket godt i. Til tross for at Pierre samme dag ble forbundet med andre mistenkte mistenkte, siden det separate rommet han okkuperte var nødvendig av en offiser.
    Alle russerne holdt med Pierre var folk av laveste rang. Og alle av dem, som anerkjente Pierre som en mester, avviste ham, spesielt siden han snakket fransk. Pierre hørte med sorg latterliggjøringen av seg selv.
    Neste kveld fikk Pierre vite at alle disse fangene (og sannsynligvis han selv inkludert) skulle stilles for retten for brannstiftelse. Den tredje dagen ble Pierre ført sammen med andre til et hus der en fransk general med hvit bart, to oberster og andre franskmenn med skjerf på hendene satt. Pierre, sammen med andre, ble stilt spørsmål om hvem han var med den presisjonen og sikkerheten som tiltalte vanligvis blir behandlet med, og angivelig overskrider menneskelige svakheter. hvor var han? til hvilket formål? og så videre.
    Disse spørsmålene, foruten essensen av livssaken og utelukket muligheten for å avsløre denne essensen, som alle spørsmål stilt i domstolene, hadde kun som mål å sette opp sporet som dommerne ønsket at tiltaltes svar skulle flyte og lede ham til det ønskede målet, det vil si til anklagen. Så snart han begynte å si noe som ikke tilfredsstilte formålet med anklagen, tok de en rille, og vannet kunne renne hvor det ville. I tillegg opplevde Pierre det samme som en tiltalt opplever i alle rettsinstanser: forvirring over hvorfor alle disse spørsmålene ble stilt til ham. Han følte at dette trikset med å sette inn en rille kun ble brukt av nedlatenhet eller så å si av høflighet. Han visste at han var i disse menneskenes makt, at bare makt hadde brakt ham hit, at bare makt ga dem rett til å kreve svar på spørsmål, at det eneste formålet med dette møtet var å anklage ham. Og derfor, siden det var makt og et ønske om å anklage, var det ikke nødvendig med trikset med spørsmål og rettssak. Det var åpenbart at alle svar måtte føre til skyldfølelse. På spørsmål om hva han gjorde da de tok ham, svarte Pierre med en tragedie at han bar et barn til foreldrene sine, qu"il avait sauve des flammes [som han reddet fra flammene]. - Hvorfor kjempet han med røveren. Pierre svarte, at han forsvarte en kvinne, at det er hver persons plikt å beskytte en fornærmet kvinne, at... Han ble stoppet: dette gikk ikke til sak , hvor vitner så ham. Han svarte at han kom til å se hva som skjedde i Moskva første spørsmål til ham, som han sa at han ikke ville svare på. Igjen svarte han at han ikke kunne si det.
    – Skriv det ned, dette er ikke bra. "Det er veldig ille," sa generalen med en hvit bart og et rødt, rødmosset ansikt til ham strengt.
    På den fjerde dagen startet branner på Zubovsky Val.
    Pierre og tretten andre ble ført til Krymsky Brod, til vognhuset til et kjøpmannshus. Pierre gikk gjennom gatene og ble kvalt av røyken, som så ut til å stå over hele byen. Branner var synlige fra forskjellige retninger. Pierre forsto ennå ikke betydningen av brenningen av Moskva og så på disse brannene med gru.
    Pierre bodde i vognhuset til et hus nær Krim Brod i fire dager til, og i løpet av disse dagene fikk han vite fra samtalen til de franske soldatene at alle som holdt til her ventet marskalkens avgjørelse hver dag. Hvilken marskalk kunne ikke Pierre finne ut av soldatene. For soldaten så tydeligvis ut til at marskalken var det høyeste og litt mystiske leddet ved makten.
    Disse første dagene, frem til 8. september, dagen da fangene ble tatt til sekundæravhør, var de vanskeligste for Pierre.

    X
    Den 8. september gikk en svært viktig offiser inn i låven for å se fangene, å dømme etter respekten som vaktene behandlet ham med. Denne offiseren, sannsynligvis en stabsoffiser, med en liste i hendene, foretok et navneopprop til alle russerne, og ringte Pierre: celui qui n "avoue pas son nom [den som ikke sier navnet sitt]. Og, likegyldig og lat og så på alle fangene, beordret han vakten at offiseren skulle kle dem ordentlig og rydde dem opp før han førte dem til marskalken. En time senere ankom et kompani soldater, og Pierre og de andre tretten ble ført til Maiden's Field. Dagen var klar, solrik etter regnet, og luften var uvanlig klar, som om kvelden da Pierre ble tatt ut av vakthuset ved Zubovsky Val bli sett, men røyksøyler steg opp fra alle kanter, og hele Moskva, alt som Pierre kunne se, var én flamme tett ved brannene og kjente ikke igjen byens kjente kvartaler Noen steder kunne man se Kreml, uødelagt, hvitt på avstand med sine tårn og Ivan den store. I nærheten glitret kuppelen til Novodevichy-klosteret lystig, og evangeliets klokke ble spesielt høyt hørt derfra. Denne kunngjøringen minnet Pierre om at det var søndag og festen for Jomfru Marias fødsel. Men det så ut til at det ikke var noen til å feire denne høytiden: overalt var det ødeleggelser fra brannen, og fra det russiske folket var det bare av og til fillete, redde mennesker som gjemte seg ved synet av franskmennene.
    Åpenbart ble det russiske reiret herjet og ødelagt; men bak ødeleggelsen av denne russiske livsordenen følte Pierre ubevisst at over dette ødelagte reiret var hans egen, helt annerledes, men faste franske orden etablert. Han kjente dette fra synet av de soldatene som gikk muntert og muntert, i regelmessige rekker, som eskorterte ham med andre kriminelle; han kjente dette fra synet av en viktig fransk tjenestemann i en dobbeltvogn, kjørt av en soldat, som kjørte mot ham. Han kjente dette fra de muntre lydene av regimentmusikk som kom fra venstre side av feltet, og spesielt kjente og forsto han det fra listen som den besøkende franske offiseren leste i morges og ropte ut fangene. Pierre ble tatt av noen soldater, ført til et eller annet sted sammen med dusinvis av andre mennesker; det så ut til at de kunne glemme ham, blande ham med andre. Men nei: svarene som ble gitt under avhøret kom tilbake til ham i form av navnet hans: celui qui n "avoue pas son nom. Og under dette navnet, som Pierre var redd for, ble han nå ført et sted, med utvilsom selvtillit skrevet på ansiktene at alle de andre fangene og han var de som trengtes, og at de ble ført dit de trengte å være Pierre føltes som en ubetydelig flik fanget i hjulene på en maskin som var ukjent for ham, men som fungerte riktig. .
    Pierre og andre kriminelle ble ført til høyre side av Maiden's Field, ikke langt fra klosteret, til et stort hvitt hus med en enorm hage. Dette var huset til prins Sjtsjerbatov, hvor Pierre ofte hadde besøkt eieren før og hvor nå, som han lærte av samtalen til soldatene, marskalken, hertugen av Eckmuhl, var stasjonert.
    De ble ført til verandaen og en etter en ble de ført inn i huset. Pierre ble hentet inn som sjette. Gjennom et glassgalleri, en vestibyle og et forkammer, kjent for Pierre, ble han ført inn i et langt, lavt kontor, ved døren som det sto en adjutant.
    Davout satt i enden av rommet over bordet med glass på nesen. Pierre kom nær ham. Davout, uten å heve øynene, taklet tilsynelatende noe papir som lå foran ham. Uten å løfte blikket spurte han stille:
    – Qui etes vous? [Hvem er du?]
    Pierre var stille fordi han ikke var i stand til å si ord. For Pierre var ikke Davout bare en fransk general; for Pierre Davout var han en mann kjent for sin grusomhet. Da han så på det kalde ansiktet til Davout, som som en streng lærer gikk med på å ha tålmodighet inntil videre og vente på svar, følte Pierre at hvert sekund med forsinkelse kunne koste ham livet; men han visste ikke hva han skulle si. Han turte ikke si det han sa under det første avhøret; å avsløre sin rang og stilling var både farlig og skammelig. Pierre var stille. Men før Pierre rakk å bestemme seg for noe, løftet Davout hodet, løftet brillene mot pannen, smalt øynene og så intenst på Pierre.
    «Jeg kjenner denne mannen,» sa han med en avmålt, kald stemme, åpenbart beregnet på å skremme Pierre. Kulden som tidligere hadde rennt nedover ryggen til Pierre grep hodet som en skrustikke.
    – Man general, vous ne pouvez pas me connaitre, je ne vous ai jamais vu... [Du kunne ikke kjenne meg, general, jeg har aldri sett deg.]
    "C"est un espion russe, [Dette er en russisk spion,"] avbrøt Davout, og henvendte seg til en annen general som var i rommet og som Pierre ikke hadde lagt merke til snakket plutselig raskt.
    «Nei, Monseigneur,» sa han, og husket plutselig at Davout var en hertug. - Ikke, Monseigneur, vous n"avez pas pu me connaitre. Je suis un officier militianaire et je n"ai pas quitte Moskva. [Nei, Deres høyhet... Nei, Deres høyhet, du kunne ikke kjenne meg. Jeg er en politimann og jeg har ikke forlatt Moskva.]
    – Votre nom? [Navnet ditt?] - gjentok Davout.
    - Besouhof. [Bezukhov.]
    – Qu"est ce qui me prouvera que vous ne mentez pas? [Hvem vil bevise for meg at du ikke lyver?]
    - Monseigneur! [Deres Høyhet!] - ropte Pierre med en ikke fornærmet, men bedende stemme.
    Davout løftet øynene og så intenst på Pierre. De så på hverandre i flere sekunder, og dette blikket reddet Pierre. I dette synet, bortsett fra alle forholdene for krig og rettssak, ble det etablert et menneskelig forhold mellom disse to menneskene. Begge to på det ene minuttet opplevde vagt utallige ting og innså at de begge var menneskehetens barn, at de var brødre.
    Ved første øyekast for Davout, som bare løftet hodet fra listen sin, hvor menneskelige anliggender og liv ble kalt tall, var Pierre bare en omstendighet; og uten å ta hensyn til den dårlige gjerningen på samvittigheten hans, ville Davout ha skutt ham; men nå så han allerede en person i seg. Han tenkte seg om et øyeblikk.
    – Kommenter meg prouverez vous la verite de ce que vous me dites? [Hvordan vil du bevise for meg at ordene dine er sanne?] - sa Davout kaldt.
    Pierre husket Rambal og navnga hans regiment, hans etternavn og gaten der huset lå.
    «Vous n"etes pas ce que vous dites, [Du er ikke det du sier.]," sa Davout igjen.
    Pierre begynte med skjelvende, periodisk stemme å gi bevis for sannheten i vitnesbyrdet sitt.
    Men på dette tidspunktet gikk adjutanten inn og rapporterte noe til Davout.
    Davout strålte plutselig over nyhetene adjutanten formidlet og begynte å knappe opp. Han har tilsynelatende helt glemt Pierre.
    Da adjutanten minnet ham om fangen, rynket han pannen, nikket mot Pierre og sa han skulle bli ført bort. Men Pierre visste ikke hvor de skulle ta ham: tilbake til boden eller til det forberedte henrettelsesstedet, som kameratene hans viste ham mens de gikk langs Jomfrumarken.
    Han snudde hodet og så at adjutanten spurte om noe igjen.
    - Oui, sans doute! [Ja, selvfølgelig!] - sa Davout, men Pierre visste ikke hva "ja" var.
    Pierre husket ikke hvordan, hvor lenge han gikk og hvor. Han, i en tilstand av fullstendig meningsløshet og sløvhet, uten å se noe rundt seg, beveget bena sammen med de andre til alle stoppet, og han stoppet. I løpet av hele denne tiden var det en tanke i Pierres hode. Det var tanken på hvem som til slutt dømte ham til døden. Dette var ikke de samme personene som avhørte ham i kommisjonen: ingen av dem ønsket og kunne åpenbart ikke gjøre dette. Det var ikke Davout som så på ham så menneskelig. Et minutt til, og Davout ville ha innsett at de gjorde noe galt, men dette øyeblikket ble avbrutt av adjutanten som kom inn. Og denne adjutanten ville tydeligvis ikke noe vondt, men han kom kanskje ikke inn. Hvem var det som til slutt henrettet, drepte, tok livet av ham - Pierre med alle hans minner, ambisjoner, håp, tanker? Hvem gjorde dette? Og Pierre følte at det ikke var noen.

    19.04.2005 Natalya Dubova

    Open Source-fellesskapet har flere nøkkelprosjekter, inkludert, sammen med Linux OS, etableringen av Eclipse-utviklingsplattformen. Utgitt for flere år siden fra IBM Corporation, er denne åpne plattformen for integrering av applikasjonsutviklingsverktøy i dag fritt distribuert over hele verden. åpen kilde og er utviklet av et brukerfellesskap.

    Uten å gå inn i en diskusjon av spørsmålet om programmering er en kunst eller et håndverk, innrømmer vi: i begge tilfeller kan en programmerer ikke klare seg uten verktøy for å lage programmer. Sammen med utviklingen av programmeringsprosessen (fra «trolldom» over maskinkommandoer til bruk av høynivåspråk), har også mulighetene for å automatisere det harde arbeidet til programmerere blitt bedre. Tidlige utviklingsmiljøer var begrenset til å kjøre kompilatorer, linkere, lastere og debuggere sekvensielt ved å bruke et grensesnitt kommandolinje. På 80-tallet, sammen med personlige datamaskiner Et marked for programvareprodukter av en ny klasse dukket opp - integrerte utviklingsmiljøer (IDE) for algoritmiske (Pascal, etc.) og deretter objektorienterte (Smalltalk, C++) programmeringsspråk. Virkelig blomstrende dette området oppnådd takket være aktiv tilpasning av Java-språkutviklere; De mest kjente integrerte miljøene for å lage programmer på dette språket er Borland JBuilder, Symantec Visual Cafe, Microsoft J++, IBM VisualAge og Oracle JDeveloper.

    Hovedformålet med en IDE er å øke utviklerproduktiviteten. De første utviklingsmiljøene, som kombinerte funksjonaliteten til programtekstredigerere, kompilatorer og debuggere, frigjorde først og fremst forbrukere fra rutineoperasjoner. Over tid ble IDEs funksjonssett rikere. Den inkluderer trinnvise kompilatorer, nettlesere for en mer logisk presentasjon av programmer, verktøy for automatisk kodegenerering og visuelle redaktører for å lage grafiske brukergrensesnitt. I tråd med tidens trender har utviklingsmiljøer forvandlet seg fra verktøy for å øke programmeringsproduktiviteten til å støtte alle stadier av kollektivt arbeid med programvareprosjekt. Den siste trenden er transformasjonen av IDE til ALM (application lifecycle management), et integrert appl– fra kravdefinisjon og modellering til konfigurasjon ogn, distribusjon og vedlikehold av den ferdige løsningen.

    Hvert nye stadium i utviklingen av IDE-er har gjort utviklingsmiljøene mer komplekse. Imidlertid ble brukere av slike produkter fortsatt tvunget til å ty til verktøy som ikke var integrert i IDE, om ikke annet fordi å lage en applikasjon ikke er begrenset til å skrive og feilsøke programmer i et enkelt programmeringsspråk. Behovet for å bruke for eksempel HTML-sider, relasjonsdatabaseskjemaer eller kodebiter på andre språk (som Cobol eller PL/1) i applikasjonssystemet tvinger utviklere til å bruke de riktige verktøyene som ikke opprinnelig var inkludert i IDE.

    Dette er grunnen til at mange leverandører av kommersielle utviklingsmiljøer streber etter å gjøre dem så åpne som mulig og tilby spesielle mekanismer for å integrere eksterne verktøy. Men intet enkelt miljø kan tilfredsstille alle mulige brukerkrav. For å gjøre dette, må det være helt nøytralt til programmeringsspråket og støtte det maksimale settet med funksjoner. Eclipse er ikke et slikt miljø, men det er en base, en plattform som du kan bygge multifunksjonelle og flerspråklige utviklingsmiljøer med.

    Plattform

    Som initiativtakerne til Eclipse-prosjektet forklarer, var ideen å lage en "Apache for utviklingsverktøy" - en åpen plattform som gir maksimalt grunnleggende evner for utviklingsmiljøer og gi mekanismer for integrering av ulike verktøy. Den første versjonen av denne plattformen ble utviklet av IBM og utgitt som åpen kildekode i slutten av 2001. Kommersielle implementeringer basert på Eclipse begynte snart å dukke opp, banebrytende av WebSphere Studio Application Developer 4.0. Det er nå et helt åpen kildekode-utviklingsøkosystem rundt Eclipse, som samler verktøyleverandører og brukere, forskningsorganisasjoner og individuelle utviklere.

    I de offisielle Eclipse Foundation-dokumentene ( www.eclipse.org Eclipse Platform er definert som en leverandørnøytral, åpen utviklingsplattform som gir rammeverk og eksemplariske muligheter samt utvidbare verktøy. Verktøysettet i Eclipse-plattformen er standard i den forstand at det verifiserer anvendeligheten til de grunnleggende egenskapene til plattformen, illustrerer typiske situasjoner for deres bruk, og støtter utvikling og vedlikehold av selve Eclipse-plattformen. Verktøysettet kan utvides fordi funksjonaliteten er tilgjengelig gjennom dokumenterte programvaregrensesnitt. De grunnleggende prinsippene som ledet skaperne av Eclipse Platform og som den fortsetter å utvikle seg i henhold til er som følger:

    • støtte for bygging av applikasjonsutviklingsverktøy;
    • støtte for et ubegrenset antall verktøyleverandører, inkludert uavhengige programvareutviklere;
    • støtte for verktøy for arbeid med vilkårlige innholdstyper, inkludert HTML, Java, C, JavaServer Pages, EJB, XML, GIF, etc.;
    • sikre "sømløs" integrasjon av verktøy for å jobbe med forskjellige typer innhold forskjellige produsenter;
    • støtte for applikasjonsutviklingsmiljøer med vanlige og grafiske brukergrensesnitt;
    • gi muligheten til å drive et utviklingsmiljø basert på ulike operativsystemer(i dag er Eclipse-baserte verktøy implementert for Linux, HP-UX, IBM AIX, Sun Solaris, QNX, Mac OS X, Windows);
    • tar hensyn til populariteten til Java-språket når du lager utviklingsverktøy i plattformutviklingens interesse.

    Eclipse Platform er et utviklingsmiljø skrevet i Java for generelt formål, hvis arkitektur gir integrering av ulike verktøy og programmeringsspråk for å løse ulike problemer. Mekanismene for slik integrasjon lar deg bruke Eclipse-plattformen til å bygge utviklede utviklingsmiljøer, og frigjøre deg fra rutinen med å skrive grunnleggende verktøy til fordel for å lage komplekse, spesialiserte funksjoner. Dette løser ikke bare problemet med å støtte multifunksjonelle og flerspråklige utviklingsmiljøer, men legger også grunnlaget for å forenkle overgangen fra en type miljø til en annen i prosessen med deres utvikling. Utviklet av et fellesskap av utviklere, vil Eclipse-plattformen samle de siste fremskrittene, gjøre dem tilgjengelige for utviklere av spesifikke produkter og eliminere behovet for å fundamentalt redesigne systemene deres.

    Eclipse utviklingsmiljø

    Grunnlaget for Eclipse Platform-arkitekturen er prinsippet om bruk av plug-ins. Plattformen implementerer mekanismer for å oppdage, integrere og utføre slike moduler (se figur). En utvikler som ønsker å dra nytte av mulighetene til Eclipse Platform skriver verktøysettet sitt i Java som en egen plug-in-modul. Denne modulen vil jobbe med filer i et arbeidsområde, som er implementert ved hjelp av arbeidsområdekomponenten. Og brukergrensesnittet er basert på arbeidsbenk-komponenten, som definerer den generelle strukturen til grensesnittet og muligheten for utvidelse.

    Vanligvis implementerer en enkelt plug-in den enkleste funksjonaliteten til en Eclipse Platform-basert IDE, mens mer komplekse verktøy er sammensatt av flere moduler. Samtidig er nesten all den innebygde funksjonaliteten til Eclipse Platform også implementert ved hjelp av slike moduler – med unntak av den lille Platform Runtime-kjernen. Hver plug-in har sin egen manifestfil, som beskriver tilkoblingene av denne modulen med andre. Når du starter et Eclipse Platform-basert utviklingsmiljø, bestemmer Platform Runtime-komponenten settet med tilgjengelige plugin-moduler, leser manifestfilene deres og bygger et plug-in-register. Etter oppstart av systemet tilleggsmoduler kan ikke lenger legges til. Eclipse-prosjektet har implementert et spesielt miljø for å lage plug-ins – Plug-In Development Environment (PDE).

    Ved hjelp av spesielle moduler implementeres arbeidsområdet og brukergrensesnittet (arbeidsbenken) komponentene til Eclipse-plattformen. Arbeidsområdet inneholder filer som er opprettet av brukere av verktøy implementert av plug-ins. Workbench-komponenten gir en generell struktur og verktøy som lar deg utvide funksjonene til brukergrensesnittet til utviklingsmiljøet basert på Eclipse Platform, og inkluderer to komponenter for implementering av verktøy for å gi informasjon til brukeren.

    • Standard Widget Toolkit (SWT) er et sett med grensesnittelementer og et grafikkbibliotek som har mekanismer for integrasjon med vindussystemet til en spesifikk driftsplattform, men implementerer APIer som er uavhengige av operativsystemet. Dette gjør det mulig å bygge brukergrensesnitt av utviklingsmiljøet etter enhetlige prinsipper, som tilsvarer vindusmiljøet som er kjent for forbrukeren, men er beregnet på et bredest mulig spekter av operativsystemer;
    • JFace er et verktøysett for å implementere en rekke vanlige oppgaver knyttet til programmeringsgrensesnitt ved bruk av SWT-verktøy.

    Basert på API-ene levert av SWT- og JFace-komponentene, bygges et personlig brukergrensesnitt som bestemmer strukturen for forbrukerinteraksjon med utviklingsverktøyene. Eclipse Platform-grensesnittet er organisert ved hjelp av redaktører, visninger og perspektiver.

    Hensikten med redaktører er å åpne, redigere og lagre arbeidsområdeobjekter. Plattformen har en innebygd editor for tekstressurser, og andre funksjoner må implementeres som plug-ins. Visninger gir informasjon om objektet brukeren jobber med dette øyeblikket. Til slutt lar perspektivmekanismen deg velge og organisere de ønskede redaktørene og visningene som skal vises på skjermen.

    Organisasjon

    Det er en rekke fordeler med å kjøre åpen kildekode-prosjekter. En av oppgavene til en slik plattform er derfor å gi utviklere verktøy fra en felles base, invariant for ulike utviklingsmiljøer. Hvorfor trenger hver produsent å omskrive noe som kan skrives én gang? Men for å bygge utviklingen deres på en slik plattform, må produsenten stole fullstendig på den som skapte den. Og dette er bare mulig hvis han er i stand til å prøve ut alt som er inkludert i det, det vil si å få en åpen kildekode-plattform.

    Å utvikle et produkt i henhold til Open Source-prinsipper forbedrer kvaliteten på koden, siden den er polert sammen av mange interesserte utviklere. Feilsøking blir enklere og bedre - takket være tilgang til kildekoden til programmet og, igjen, involveringen av et distribuert team i arbeidet. Samarbeid lar oss dele risikoen ved å skape komplekse teknologier. Og plattformens kollektive utviklingsorgan sikrer støtten uavhengig av omskiftelsene som kan oppstå med leverandører av spesifikke utviklingsmiljøer. Til slutt, bruk av en åpen kildekode-utviklingsplattform med en fleksibel plug-in-mekanisme for å implementere tilleggsfunksjonalitet åpner for ubegrensede muligheter for forbedring.

    Eclipse Platform Architecture

    Men innse fordelene med åpen kildekode-utviklingsmodellen ved ganske enkelt å slippe den "i naturen" teknisk plattform, det vil ikke fungere. Vi må organisere prosessen. Med utgivelsen av den første versjonen av Eclipse i 2001 tok et konsortium organisert av IBM sammen med en rekke ledende markedsaktører dette ansvaret, og i februar 2004 bestemte Eclipse-styret å forvandle Eclipse Foundation til et ikke- profitt, uavhengig selskap.

    Eclipse Foundation, et konsortium av mer enn 60 selskaper, koordinerer arbeidet med å forbedre Eclipse-plattformen og andre åpen kildekode-prosjekter.

    Eclipse-prosjektet er helt åpent og enhver interessert utvikler kan delta i det, som ikke trenger å være ansatt i noe selskap. I prinsippet kan alle ikke bare være interessert i detaljene i utviklingen og bidra til å identifisere feil, men også ta del i å skrive kode og den overordnede utformingen av neste versjon av plattformen. Imidlertid følger Eclipse prinsippet om å sette profesjonalitet først. En utvikler med et velprøvd profesjonelt rykte kan stole på ekstra ansvar og muligheten til å aktivt implementere ferdighetene sine i Eclipse-prosjekter. Noen utviklere er definert som "committers" fordi de er ansvarlige for kildekoden og bare de har rett til å lage nye versjoner i det åpne kildekodelageret. Vanligvis er disse utviklerne ansatte i selskaper som betaler dem for arbeidet med Eclipse-prosjekter.

    Utviklingsprosessen er iterativ, rettet mot å maksimere involveringen av medlemmer av Eclipse-samfunnet i arbeidet med prosjektet. Utgivelsen av neste utgivelse innledes med flere stadier med fast varighet (ca. flere uker), som hver representerer en komplett syklus, inkludert planlegging, utvikling, testing og mellomutgivelse av versjonen. Gjennomføringen av neste syklus er ledsaget av en åpen publisering av en beskrivelse av de nye egenskapene til systemet, som stimulerer fellesskapsmedlemmer til å diskutere, bruke og komme med anbefalinger for forbedringer. Som et resultat blir det i de neste utviklingsstadiene mulig å ta hensyn til samfunnets reaksjon på den midlertidige utgivelsen. Dette er en åpen prosess for å kontinuerlig forbedre Eclipse-plattformen og utvikle andre initiativer basert på den.

    Oppdraget til Eclipse Technology Project er å koordinere innsatsen til utviklere, forskere, medlemmer av vitenskapelige og utdanningsorganisasjoner for å bestemme utsiktene for Eclipse Platform og annen åpen kildekode-utvikling. Noen av de mest bemerkelsesverdige forskningsdelprosjektene på dette området inkluderer utvikling av aspektorientert programvare (AspectJ og AJDT), opprettelsen av en alternativ kjerne til Eclipse Runtime (Equinox), opprettelsen av en samarbeidsutviklingsplattform (Koi), programvare konfigurasjonsstyring (Stellation), verktøysett for XML Schema Definition og for modellbasert utvikling (Generative Model Transformer).

    Samfunnet

    Bruk av alt materiale generert av Eclipse-prosjekter er underlagt Common Public License (CPL) som er godkjent av Open Source Initiative. Under CPL kan hvem som helst bruke og redistribuere Eclipse gratis for kommersielle og ikke-kommersielle formål. Følgende er fritt tilgjengelig på eclipse.org:

    • gjeldende versjoner av Eclipse Platform for direkte bruk (i binær form);
    • et kildekodelager der hvem som helst kan se innholdet og revisjonshistorikken til en hvilken som helst kildefil, samt skaffe skript for å rekompilere og bygge Eclipse-plattformen fra kildekoder;
    • åpne diskusjonsfora for å diskutere Eclipse Platform;
    • feildatabase for å spore defekter og problemer i gjeldende versjoner av plattformen. Ved å bruke denne databasen kan brukere identifisere kjente defekter i deres Eclipse-baserte utviklinger og publisere nye problemer de oppdager;
    • utviklingsplaner og kontakter for utviklere involvert i Eclipse-prosjekter.

    I dag på eclipse.org fritt tilgjengelig - mer enn hundre plug-ins i kildekode for Eclipse-plattformen. Eclipses åpen kildekode-prosjekter utgjør mer enn 2 millioner linjer med kode.

    Nøkkel til markedsutvikling programvare utvikling har deltagelse i Eclipse-prosjektet til kommersielle selskaper. Med Eclipse Platform har de forhåndsbygde kjerneutviklingsmiljøtjenester som er språk- og driftsplattformnøytrale og kan fokusere innsatsen og investeringene sine på å utvikle den komplekse funksjonaliteten som vil gjøre løsningene deres konkurransedyktige. Det er eksempler på Eclipse-baserte implementeringer av både fullverdige utviklingsmiljøer som fremmer de mest avanserte løsningene på dette området, samt spesialiserte verktøy rettet mot et spesifikt spekter av oppgaver.

    Dermed kjører alle produktene i IBM Rational-familien på Eclipse-plattformen. Borland har til hensikt å migrere alle sine støtteverktøy til Eclipse Livssyklus applikasjoner. Det er en Eclipse-versjon av QNXs innebygde applikasjonsutviklingsverktøy; Wind River gjennomfører et lignende prosjekt. På sin side tilbyr Hewlett-Packard et Eclipse-basert komponentutviklingsmiljø for sitt Internet Usage Manager-system, målgruppe som er teleoperatører. Nokia annonserte støtte for Eclipse som en utviklingsplattform mobilapplikasjoner. IBM har implementert et spesielt verktøysett, Autonomic Computing Toolkit, basert på Eclipse, designet for å støtte autonome datateknologier i utviklede applikasjoner. Av alle verdens ledende programvareprodusenter er det bare Sun Microsystems og Microsoft som ikke samarbeider med Eclipse Foundation.

    Leverandører av kommersielle Eclipse-baserte miljøer lar uavhengige utviklingsselskaper selge plug-ins for deres IDE, og det er vanlig at et selskap selger samme proprietære plug-in for forskjellige Eclipse-baserte miljøer. Dette er ikke bare en metode for å utvikle nye markeder, men også en annen måte å øke betydningen av prosjektet på. Brukere verdsetter valgfrihet: hvis de ikke er fornøyd med den eksisterende funksjonaliteten til et miljø basert på en åpen kildekode-plattform, kan de utvide den gjennom egenutvikling eller ved å kjøpe kommersielle løsninger i samme format.

    Disse gruppene bruker Eclipse-utviklinger på forskjellige måter, men de bidrar alle til deres utvikling. Trenden er å bruke Eclipse-plattformen til å bygge ikke-IDE-applikasjoner. Dette er mulig fordi det ikke er mange utviklingsmiljøspesifikke elementer i teknologiløsningen Eclipse Platform. I den tredje versjonen av Eclipse er det en utvikling fra en plattform for utviklingsmiljøer til en plattform for implementering av fullfunksjons klientarbeidsstasjoner (Rich Client Platform). Det er ingen tilfeldighet at IBM implementerer sitt lovende Workplace-samarbeidsmiljø basert på Eclipse.

    Litteratur

    1. Marc R. Erickson, Angus McIntyre. , 2001, november.
    2. J. dea Rivieres, J. Wiegand. Formørkelse. En plattform for integrering av utviklingsverktøy. IBM Systems Journal, 2004, nr. 2.

    Eclipse organisasjonsstruktur

    Koordinering av Eclipse-utvikling og deltakelse i åpen kildekode-prosjekter til ulike organisasjoner og individuelle utviklere utføres av det ideelle uavhengige konsortiet Eclipse Foundation

    Eclipse Foundation-styret er sammensatt av fire hovedkategorier medlemmer:

    • strategiske utviklere (Strategic Developers) - selskaper Actuate, Borland, IBM, Computer Associates, Intel, QNX, Wind River, Sybase, Scapa Technologies, BEA Systems;
    • strategiske forbrukere (Strategic Consumers) - HP, Montavista Software, SAP, Serena Software;
    • inkluderte leverandører (tilleggsleverandører);
    • Prosjektledere med åpen kildekode.

    Alle strategiske utviklere og strategiske forbrukere sitter i styret, og de to andre gruppene delegerer sine representanter til det. Strategiske medlemmer av konsortiet har også visse rettigheter til å delta i prosjektlederkomiteer og råd som koordinerer utviklingsprosesser.

    Konsortiet driver flere grunnleggende åpen kildekode-prosjekter, som inkluderer et varierende antall delprosjekter. Basisprosjektet ledes av Project Management Committee (PMC). For å styre utbyggingen samlet opprettes det tre hovedråd - Kravrådet, Arkitekturrådet og Planrådet.

    Kravstyret analyserer og strukturerer prosjektkrav. De kombinerer krav rettet mot å oppnå de generelle målene til Eclipse Foundation og de spesifikke målene for prosjektet, løse problemene til sentrale konsortiummedlemmer og utvikle Eclipse-økosystemet. Basert på analysen formuleres det en liste over temaer og prioriteringer som skal bestemme utviklingsforløpet. Arkitekturstyret er ansvarlig for å utvikle arkitekturen til Eclipse Platform, definere den tydelig, kommunisere den til utviklingsteam og beskytte dem mot utilsiktet feilrepresentasjon. Planrådet lager en koordinert plattformfrigjøringsplan.

    Prosjekter gjennomføres av utviklingsteam ledet av prosjektledere og inkludert utviklere og ansvarlige utviklere. Førstnevnte driver med å skrive kode, identifisere feil, teste og dokumentere programmer, og utføre også andre oppgaver innenfor rammen av prosjektet. Ansvarlige utviklere har rett til å legge til kildekodelageret og må påvirke utviklingen i prosjektet. Selskaper utpekt som strategiske utviklere av Eclipse Foundation er pålagt å lede i det minste ett prosjekt. De oppfordres også til å lede komiteer.



    Eclipse er en Java-basert, åpen kildekode, utvidbar utviklingsplattform. I hovedsak er det ganske enkelt et utviklingsmiljø og et sett med tjenester for å bygge applikasjoner basert på innebygde komponenter (plugins). Heldigvis kommer Eclipse med et standardsett med plugins, inkludert de velkjente Java Development Tools (JDT).

    Mens de fleste brukere som bruker Eclipse som et Java-integrert utviklingsmiljø (IDE) er fornøyd med det, er det mye mer enn det. Eclipse inkluderer også et plugin-utviklingsmiljø (PDE), som først og fremst vil være av interesse for de som ønsker å utvide selve Eclipse, da det lar deg lage dine egne verktøy som er innebygd i Eclipse-miljøet. Fordi Eclipse er laget utelukkende av plugins, har alle verktøysettutviklere muligheten til å tilby sine egne utvidelser til Eclipse og gi brukerne et konsistent og sømløst integrert utviklingsmiljø (IDE).

    Denne integriteten og konsistensen er ikke unik for Java-utviklingsverktøy. Selv om Eclipse er skrevet i Java, kan den brukes med andre språk. For eksempel er plugins allerede tilgjengelig (eller er under utvikling) som støtter programmeringsspråk som C/C++ og COBOL. Eclipse-rammeverket kan også brukes som grunnlag for andre typer applikasjoner som ikke er relatert til programvareutvikling, for eksempel innholdsstyringssystemer.

    Et utmerket eksempel på en Eclipse-basert applikasjon er IBMs Rational Software Architect, som danner grunnlaget for IBMs familie av Java-utviklingsverktøy.

    Eclipse er åpen kildekode

    Åpen kildekode-programvare utgis under en lisens designet for å garantere visse rettigheter til brukere. Den mest åpenbare av dem er selvfølgelig at kildekoden må gis til brukerne, og de har all rett til å modifisere og distribuere programvaren selv. Denne beskyttelsen av brukerrettigheter oppnås gjennom en mekanisme kalt "copyleft": Programvarelisensen er opphavsrettsbeskyttet og forbyr distribusjon av programvaren med mindre brukeren er gitt slike rettigheter. En copyleft-lisens krever også at all programvare som distribueres av brukere dekkes av den originale lisensen uten endringer. Dermed blir betydningen av opphavsrett i hovedsak snudd på hodet, og en copyleft-lisens, som bruker opphavsrett til å gi rettigheter til brukeren i stedet for å beholde dem for programvareutvikleren, blir ofte på spøk sagt "alle rettigheter er perverterte" (alle rettigheter omvendt ).

    Mye av den vanlige frykten, usikkerheten og tvilen om åpen kildekode-programvare er basert på den såkalte virale naturen til noen copyleft-lisenser. Tanken er at hvis du bruker åpen kildekode-programvare som en del av et program du utvikler selv, vil du miste din immaterielle eiendom fordi lisensen vil forurense dine private deler av programmet. Med andre ord kan lisensen kreve at all åpen kildekode-programvare, inkludert nyopprettet programvare, distribueres under samme lisens. Selv om dette er sant for den mest kjente copyleft-lisensen, GNU General Public License (som for eksempel Linux distribueres under), er det andre lisenser som gir en annen balanse mellom kommersielle og offentlige interesser.

    Open Software Initiative - OSI (Open Software Initiative) er en ideell organisasjon som klart definerer hva som er åpen kildekode og sertifiserer lisenser som oppfyller kriteriene. Eclipse distribueres under EPL - Eclipse Public License V1.0, en OSI-godkjent lisens designet for å lette kommersiell aksept av Eclipse samtidig som kreditt til de originale kodeforfatterne opprettholdes.

    De som lager plugins for Eclipse eller bruker Eclipse som en base for programvareutvikling, må publisere hvilken som helst Eclipse-kode de bruker eller modifiserer under EPL, men de står fritt til å lisensiere sine egne tillegg som de vil. Innfødt kode buntet med programvare fra Eclipse trenger ikke å være lisensiert som åpen kildekode, og selve kildekoden trenger ikke gjøres offentlig tilgjengelig.

    Selv om de fleste programmerere ikke ville bruke Eclipse til å utvikle plugins eller lage nye produkter basert på det, er åpen kildekode-naturen til Eclipse viktig, ikke bare fordi den gjør Eclipse tilgjengelig helt gratis (og til tross for dens kommersielt orienterte natur). at plugins kan koste penger). Åpen kildekode fremmer innovasjon og skaper et insentiv for utviklere (selv kommersielle) til å bidra med kildekoden sin til fellesskapet. Det er flere grunner til dette, men kanskje den viktigste er at jo mer utviklere bidrar til prosjektet, jo mer meningsfullt blir det for alle. Og når et prosjekt blir nyttig, vil flere utviklere bruke det og skape et fellesskap rundt det, likt de som har dannet seg rundt Apache og Linux.

    Hva er Eclipse?

    Eclipse er et åpen kildekodefellesskap av utviklere hvis prosjekter tar sikte på å bygge en åpen utviklingsplattform som består av et utvidbart utviklingsmiljø, verktøy og kjøretidsbiblioteker for å bygge, distribuere og administrere programvare gjennom hele livssyklusen. Eclipse Foundation er en ideell, medlemsstøttet organisasjon som er vert for Eclipse-prosjekter og bidrar til å forbedre åpen kildekodesamfunnet og økosystemet for komplementære produkter og tjenester.

    Eclipse-prosjektet ble opprettet i november 2001 av IBM og støttet av et konsortium av programvareleverandører. Eclipse Foundation ble opprettet i januar 2004 som en uavhengig, ideell organisasjon som fungerer som en forvalter av Eclipse-samfunnet. Det ble opprettet for å hjelpe et leverandørnøytralt, åpent og gjennomsiktig fellesskap med å vokse rundt Eclipse. Dagens Eclipse-fellesskap består av enkeltpersoner og organisasjoner som representerer programvareindustrien.

    Eclipse Foundation overvåker og leder den pågående utviklingen av Eclipse. Stiftelsen tjener samfunnet, men åpen kildekode-utviklerne, kalt committers, som i hovedsak jobber med Eclipse-prosjekter, er ikke med i staben. Vanligvis er Eclipse-forpliktelser medlemmer av en organisasjon eller er uavhengige utviklere som frivillig gir seg tid til å jobbe med et åpen kildekode-prosjekt.

    Nå som vi har sett på de teoretiske, historiske og politiske aspektene ved Eclipse, la oss se på selve produktet.

    Eclipse arbeidsområde

    Når du først starter Eclipse, vil du se en velkomstside inne i arbeidsområdet (se figur 1). En Eclipse-bruker har flere alternativer for å navigere til oversiktssiden, det er det jeg anbefaler å gjøre (se figur 2). Deretter kan du bli kjent med informasjon om nye funksjoner, studere noen eksempler eller ta et kurs.

    Figur 2. Oversiktsside for Eclipse

    Eclipse-arbeidsområdet består av flere paneler kalt visninger, for eksempel navigasjons- eller konturvisninger. Et sett med slike representasjoner kalles perspektiv. Et av de vanligste perspektivene er ressursperspektivet, som er et grunnleggende sett med visninger for å administrere prosjekter og vise og redigere prosjektfiler.

    Jeg anbefaler at de fleste førstegangsbrukere starter med oversiktssiden vist i figur 2 og lærer mer om Eclipse. Grunnleggende delen for arbeidsbenken inneholder mye nyttig innledende informasjon om de ulike komponentene i Eclipse og hvordan de samhandler med hverandre. Bruk noen minutter på å lese dette, og la oss deretter dykke ned i Eclipses Java Development Tools (JDT). Den beste måtenå lære noe - prøv det i praksis.

    Vi fortsetter denne korte omvisningen av Eclipse, og lager et nytt prosjekt i Java. Plukke ut Fil > Ny > Java-prosjekt og skriv inn Hei når du blir bedt om prosjektnavnet, og klikk deretter Bli ferdig.

    La oss nå se på "Java"-perspektivet (hvis du ikke allerede er i det). Avhengig av hvordan du foretrekker å kontrollere skjermen, kan du enten endre perspektivet i det gjeldende vinduet ved å velge Vindu > Åpne perspektiv > Java (Vindu > Åpne perspektiv > Java), eller åpne et nytt vindu ved å velge Vindu > Nytt vindu, og velg et nytt perspektiv.

    Som du kanskje forventer, har Java-perspektivet et sett med visninger designet for å veilede Java-utvikling. En av dem, som ligger i øvre venstre hjørne, er et hierarki som inneholder forskjellige Java-pakker, klasser, JAR-arkiver og forskjellige filer. Denne visningen kalles Package Explorer. Vær oppmerksom på at to nye elementer er lagt til hovedmenyen: Kilde og Refaktor.

    Java Development Tools (JDT)

    For å prøve ut Java-utviklingsmiljøet vil vi lage og kjøre en applikasjon som heter "Hello World". Mens du er i Java-perspektivet, høyreklikk på mappen med prosjektets kildetest "Hello" (src) og velg Ny > Klasse, som vist i figur 3. I dialogboksen som vises, skriv inn Hello som klassenavn. Nedenfor er inskripsjonen Hvilke metodestubber vil du lage? (Hvilke metodestubber vil du lage?) Merk offentlig statisk tomrom hoved(String args) og klikk Bli ferdig.

    Figur 3. Opprette en ny klasse i Java-perspektivet

    Dette vil lage en .java-fil med Hello-klassen og en tom main()-metode i redigeringsområdet, som vist i figur 4. La oss legge til følgende kode til metoden (merk at beskrivelsen for i er bevisst utelatt).

    Figur 4. Hallo klasse i Java-editoren

    Mens du skriver, vil du legge merke til noen av Eclipse-editorens funksjoner, inkludert syntakskontroll og automatisk kodefullføring. Også når du skriver inn en åpningsparentes eller doble anførselstegn, Eclipse setter automatisk inn et avsluttende par for dem og plasserer markøren i midten.

    I andre tilfeller kan du forårsake automatisk kodefullføring ved å bruke kombinasjonen Ctrl+1. Kodefullføringsfunksjonen gir en kontekstsensitiv liste over alternativer som du kan velge fra ved hjelp av tastaturet eller musen. Alternativer kan være en liste over metoder som er spesifikke for et bestemt objekt, eller et stykke kode basert på forskjellige søkeord, for eksempel for eller mens .

    Syntakskontroll avhenger av inkrementell kompilering. Når du lagrer koden, kompileres den til bakgrunn og sjekkes for syntaksfeil. Som standard er syntaksfeil understreket med rødt og en rød prikk med en hvit X vises i venstre marg. Andre feil er markert i editorens marg med et lyspæresymbol. Dette er problemer som redaktøren kan fikse for deg (en funksjon kalt Quick Fix).

    I koden ovenfor vises lyspæreskiltet ved siden av for-setningen fordi beskrivelsen for i ble utelatt. Dobbeltklikk på lyspæren vil føre til at en liste over foreslåtte rettelser vises. I vårt tilfelle vil vi bli bedt om å lage et klassefelt i, en lokal variabel i eller en parameter i for en metode; Hvis du velger et av disse alternativene med musen, vises koden som vil bli generert. Figur 5 viser listen over foreslåtte alternativer og koden som er foreslått for en lokal variabel.

    Figur 5: Hurtigfiks-alternativer

    Dobbeltklikk på en setning setter koden inn på ønsket sted i programmet.

    Hvis programmet kompilerer uten feil, kan du kjøre det ved å velge Løpe i Eclipse-menyen. (Merk at det ikke er noe eget trinn for kompilering fordi kompilering skjer mens du lagrer koden. Hvis koden din ikke har syntaksfeil, er den klar til å kjøre.) Dialogboksen Startkonfigurasjoner vises med de ønskede standardinnstillingene; klikk Løpe Nede til høyre. Vises i bunnpanelet nytt panel med faner (konsoll), som viser resultatet av programmet, som vist nedenfor.

    Figur 6. Resultat av programmet

    Du kan også kjøre programmet i Java debugger. Først må du sette et bruddpunkt i main() System.out.println() ved å dobbeltklikke på den grå boksen på venstre side av redigeringsvinduet ved siden av System.out.println()-kallet. En blå prikk vil vises. På menyen Løpe velge lag Feilsøk. Som beskrevet tidligere vil dialogboksen "Startkonfigurasjoner" vises. Velg et lag Løpe. Perspektivet vil automatisk endres til feilsøkingsperspektivet, som inneholder en rekke interessante nye visninger, som vist nedenfor.

    Figur 7. Feilsøkingsperspektiv

    Legg merke til feilsøkingsvisningen i øverste venstre hjørne av perspektivet. Denne visningen viser anropsstakken og inneholder en verktøylinje i tittellinjen som lar deg kontrollere programkjøringen. Panelet har knapper for å fortsette, pause eller avslutte programmet, gå til neste setning, gå over neste setning eller gå tilbake fra en metode. Panelet øverst til høyre inneholder en rekke fanevisninger, inkludert Variabler, Breakpoints, Expressions og Display. Variabler-fanen er nå valgt, slik at vi kan se gjeldende verdi av i-variabelen.

    Mer detaljert informasjon hvilke som helst av synspunktene kan fås ved å bruke kontekstledetråder; For å gjøre dette, klikk på visningstittelen og trykk F1.

    Ekstra plugins

    I tillegg til JDT-type plugins for redigering, kompilering og feilsøking av applikasjoner, finnes det plugins som støtter hele utviklingsprosessen: modellering, byggeautomatisering, enhetstesting, ytelsestesting, versjonering og konfigurasjonsadministrasjon.

    Eclipse inkluderer en plugin for å jobbe med Concurrent Versions System (CVS) for kildekodebehandling. Team-plugin-modulen kobles til CVS-serveren, slik at medlemmer av et utviklingsteam kan jobbe med et sett med filer som inneholder kildekode uten å forstyrre endringer gjort av andre. Vi vil ikke utforske kildebehandling fra Eclipse mer detaljert her siden det ville kreve installasjon av en CVS-server, selv om muligheten til å støtte et team av utviklere i stedet for bare selvutvikling er en viktig og integrert del av Eclipse.

    Plugins som vedlikeholdes og distribueres av Eclipse Foundation kan finnes på Eclipse-nettstedet. Mest full liste tilgjengelige plugins er tilgjengelige på Eclipse Plug-in Central-siden, som fungerer som en plugin-katalog.

    Eclipse Platform Architecture

    Eclipse-plattformen inneholder et kraftig sett med plugins (se figur 8) som støtter prosjekter som JDT og PDE.

    Figur 8. Forenklet arkitektur av Eclipse-plattformen

    De mørkeblå blokkene representerer komponenter som er sentrale for Rich Client Platform (RCP) i Eclipse. Konseptet med RCP i seg selv er utenfor rammen av denne artikkelen, men la oss vurdere RCP som ganske enkelt et sett med plugins fra Eclipse som folk kan bruke i utvikling av applikasjoner som Lotus Notes® 8. De lyseblå blokkene representerer valgfrie (men anbefalt) komponenter som skal inkluderes i RCP-baserte applikasjoner. Og de grå blokkene er helt valgfrie. Plattformen består av flere komponenter, vi skal se på noen av dem:

    Kjøretid Runtime er koden som definerer Eclipse-plugin-modellen, basert på OSGi-spesifikasjonen og ideen om utvidelser og utvidelsespunkter. Runtime gir også tilleggstjenester som syslogging og samtidighet. JFace/SWT Standard Widget Toolkit (SWT) er en samling widgets som gir brukergrensesnittet og funksjonaliteten til Eclipse. JFace er ganske enkelt et supersett av SWT som gir flere Model-View-Controller (MVC) klasser for å gjøre det enklere å utvikle grafiske applikasjoner. arbeidsbenk Arbeidsområdet gir Eclipse sin personlighet. Det er på dette nivået konseptet med visninger, perspektiver og ting som redigering av vinduer implementeres. Hjelp (brukerstøtte) Denne Eclipse-komponenten lar deg gi støtte til brukerne dine. Dette kan gjøres gjennom et hjelpesystem, som lar brukere søke etter hjelpedokumentasjon, eller gjennom "jukseark", som kan presenteres som interaktive oppgavelister til sluttbrukere. Oppdater Oppdateringskomponenten gir Eclipse en måte å oppdatere applikasjoner fra en versjon til en annen. Team Teamkomponenten er en infrastruktur som lar utviklingsselskaper koble sammen sine egne versjonskontrollsystemer. Et eksempel på implementering av leverandøren er CVS-pluginen innebygd i Eclipse.

    Konklusjon

    Fra den første koden skrevet av IBM, har Eclipse vokst til et fullverdig åpen kildekode-økosystem med mer enn 100 deltakende selskaper. Bærbar, utvidbar, åpen kildekode-infrastruktur – ikke lenger ny idé, men takket være sin gjennomtenkte, robuste og elegante design, får Eclipse en helt ny dynamikk.

    Velkommen til Eclipse-økosystemet. Målet vårt var å hjelpe deg med å komme opp i fart på Eclipse-plattformen. Vi har oppnådd dette med en introduksjonstekst og en enkel øvelse. Bruk kunnskapen du får ved å lese denne artikkelen og bli et aktivt medlem av Eclipse-økosystemet.

    The Eclipse Project er et åpen kildekode-prosjekt på nettstedet, overvåket av en Project Management Committee (PMC) og prosjektledere. Arbeidet gjøres i delprosjekter som jobber mot . Eclipse Project Charter beskriver organiseringen av prosjektet, roller og ansvar for deltakerne, og utviklingsprosessen på toppnivå for prosjektet. JDT og PDE er plug-in-verktøy for Eclipse Platform. Sammen utgjør disse tre delene Eclipse SDK, et komplett utviklingsmiljø for Eclipse-baserte verktøy, og for å utvikle selve Eclipse.

    • Eclipse-prosjektutvikling
      Utgivelsesplaner og annen informasjon om Eclipse Project-utviklingsprosessen.

    • Last ned Eclipse SDK, Eclipse RCP, SWT, Eclipse Java-kompilatoren og mange flere. Du finner den nåværende utgivelsen her. Eller last ned de nyeste stall- og integrasjonsbyggene hvis du vil prøve ut de nyeste funksjonene under utvikling, eller komme i gang med å bidra til prosjektet.

    • Bla gjennom dokumentasjonen som følger med Eclipse Project-utgivelser.

    Delprosjekter


    • Plattformen definerer settet med rammeverk og vanlige tjenester som til sammen utgjør "integration-ware" som kreves for å støtte bruken av Eclipse som en komponentmodell, som en rik klientplattform () og som en omfattende verktøyintegrasjonsplattform. Disse tjenestene og rammeverkene inkluderer en standard arbeidsbenk-brukergrensesnittmodell og bærbart native widget-verktøysett, en prosjektmodell for administrasjon av ressurser, automatisk ressursdeltaadministrasjon for inkrementelle kompilatorer og byggere, språkuavhengig feilsøkingsinfrastruktur og infrastruktur for distribuert flerbru.

    • JDT gir verktøyet plug-ins for plattformen som implementerer en Java IDE for superbrukere, som støtter utviklingen av alle Java-applikasjoner, inkludert Eclipse plug-ins. JDT legger til forestillingen om Java-prosjekter og et Java-perspektiv til Eclipse-plattformen, i tillegg til en rekke visninger, redaktører, veivisere, byggherrer og verktøy for sammenslåing og refaktorisering av kode. JDT lar Eclipse være et utviklingsmiljø for seg selv. Selve JDT-plugin-modulene kan også utvides ytterligere av andre verktøybyggere.

    • PDE-prosjektet gir en rekke visninger og redaktører som gjør det enklere å bygge plug-ins for Eclipse. Ved å bruke PDE kan du opprette plugin-manifestfilen din (plugin.xml), spesifisere plugin-kjøretiden og andre nødvendige plugin-moduler, definere utvidelsespunkter, inkludert deres spesifikke markering, knytte XML-skjemafiler til utvidelsespunktmarkeringen slik at utvidelser kan valideres, opprette utvidelser på andre plugin-utvidelsespunkter osv. PDE gjør det enkelt og morsomt å integrere plug-ins.

    • e4-prosjektet er en inkubator for utvikling av neste generasjon av Eclipse-plattformen. Oppdraget til e4-prosjektet er å bygge en neste generasjons plattform for gjennomgripende, komponentbaserte applikasjoner og verktøy.