Eclipse är en utvecklingsmiljö för modulära plattformsoberoende applikationer. Vi presenterar Eclipse-skalet. Grundläggande om JAVA-syntax

I den här artikeln ville jag prata om hur man skapar applikationer med Eclipse RCP (Rich Client Platform). Anledningen till att skriva var det faktum att det absolut inte finns några artiklar på Habré som beskriver denna plattform. Som ett exempel skapar vi ett anpassat inmatningsformulär; Datans riktighet kommer att kontrolleras med JFace Data Binding-ramverket. Till att börja med kommer jag att ge nedan en skärmdump av vad vi borde få.

Vad är Eclipse RCP

Till att börja med är det fortfarande nödvändigt att säga vad Eclipse RCP är. Förmörkelseär en utvecklingsmiljö skriven i Java, utvecklad och stödd av Eclipse Foundation (vars medlemmar inkluderar IBM, SAP, Oracle, företag som erbjuder produkter baserade på Eclipse RCP och som deltar i utvecklingen av ekosystemet Google, RedHat, Adobe, Cisco, Intel) . Eclipse RCPär en uppsättning plugins för att skapa så kallade rika klientapplikationer. Allt som användaren ser när han öppnar Eclipse IDE är ett plugin skapat på basis av denna plattform. Användaren kan skapa sina egna plugins baserat på ett stort antal befintliga, och vid behov kan du hitta de flesta populära ramverken, som Hibernate, Google Guice, Google Guava, JUnit, TestNG i form av plugins. Det är också värt att notera att runtime-arkitekturen är baserad på tjänsteplattformsspecifikationen OSGI, beskriver denna specifikation hur modulära applikationer kan skapas och köras. Eclipse, som nämnts ovan, är skriven i Java och är placerad som en plattformsoberoende produkt (i 90 % av fallen kommer RCP-applikationen att byggas på Windows, Linux och Mac). Alla plugins som utgör kärnan i plattformen, och de flesta tredjeparts plugins distribueras under EPL (Eclipse Public License). Användargränssnittet för RCP-applikationer är baserat på de visuella komponenterna i ramverken SWT och JFace, såväl som inbyggda Eclipse-widgets. Figurerna nedan visar vilka komponenter en applikation baserad på RCP-plattformen består av, och strukturen på själva Eclipse-plattformen.


Figur 1 - Komponenter som används i RCP-applikationen (bilden hämtad från den här webbplatsen)


Figur 2 – Eclipse Architecture (bilden tagen från denna sida)

För- och nackdelar med plattformen
Huvudfrågan är varför den här plattformen är så bra och varför använda den för att utveckla skrivbordsapplikationer (det är förresten möjligt att utveckla webbapplikationer och applikationer för mobila plattformar). Modularitet, plattformsoberoende, flerspråkigt stöd, gratis, ett stort antal befintliga plugins, bibliotek och ramverk. Allt detta låter dig skapa kommersiella applikationer (en länk till en lista över befintliga applikationer utvecklade på denna plattform finns i slutet av artikeln). Nackdelarna inkluderar en ganska hög nivå av inträde, eftersom för att utveckla en seriös applikation måste du åtminstone i allmänna termer veta hur OSGI-ramverket fungerar, och kunna arbeta med SWT- och JFace-komponenter och widgets. Även för rysktalande utvecklare kommer problemet att vara att hitta material eller böcker om ramverken och biblioteken som nämns ovan (länkar till resurserna som finns, inklusive ryskspråkiga, ges i slutet av artikeln), även om konferenser hålls med jämna mellanrum i Europa och USA, organiserade av deltagare Eclipse Foundation, i Tyskland, ger ut en speciell tidning som talar om nya plugins och innehåller många exempel på deras användning, och det finns också en hel serie böcker på tyska som beskriver alla nyanser och subtiliteter i utvecklingen. På engelska kan du hitta en speciell serie böcker, eclipse-serien, från Addison-Wesley, och du kan även hitta ett par böcker från Apress. Men det finns försumbart få material och böcker på vårt modersmål.

Låt oss börja

Installera nödvändiga plugins
Låt oss gå vidare till att skapa vår första RCP-applikation. För att fungera måste vi ladda ner monteringen: Eclipse för RCP- och RAP-utvecklare från den officiella webbplatsen. Om Eclipse IDE redan är installerat kan du använda uppdateringshanteraren. Välj Hjälp->Installera ny programvara från huvudmenyn. I installationsfönstret som visas högst upp väljer du webbplatsen med uppdateringar vi behöver från rullgardinsmenyn - download.eclipse.org/releases/indigo, om det inte finns någon sådan webbplats i listan, klicka sedan på knappen Lägg till till höger, i fältet Namn skriv - Indigo Update Site, i fältet Plats - adressen ovan, klicka på OK (om när du lägger till en adress ett meddelande visas - Duplicerad plats, då finns adressen redan i listan över tillgängliga programvaruwebbplatser, listan över uppdateringsplatser kan ses i föregående installationsfönster genom att klicka på länken Tillgängliga programvaruwebbplatser, som finns under rullgardinsmenyn). När du har valt uppdateringsplatsen visas en trädliknande lista nedan (om kryssrutan Gruppera objekt efter kategori är markerad), öppna objektet Verktyg för allmänna ändamål och välj Eclipse Plug-in utvecklingsmiljö, öppna sedan objektet EclipseRT Target Platform Components och markera plugin-programmet - Eclipse RCP Plug-in utvecklarresurser, det här är de två plugins vi behöver för att skapa vårt projekt. Klicka sedan på Nästa två gånger, acceptera licensavtal och klicka på knappen Slutför; Det är det, installationen av nödvändiga plugins kommer att börja. Efter installationen kommer vi att bli ombedda att starta om Eclipse, vilket vi kommer att göra.


Figur 3 – Installationsfönster för plugin

Skapa ett projekt
Efter omstarten, välj Arkiv->Nytt->Övrigt i huvudmenyn, välj Plug-in-utveckling och välj sedan Plug-in-projekt i rullgardinsmenyn.


Figur 4 – Meny för att välja vilken typ av projekt som ska skapas

Klicka på Nästa, vi måste ge ett namn till vårt projekt, låt det heta first.rcp.application, klicka på Nästa igen. I nästa fönster måste vi ange namnet på applikationen; i fältet Namn kommer vi att skriva First RCP Application. Avmarkera Generera en aktivator, en Java-klass som kontrollerar plugin-programmets livscykel; för vår enkel applikation aktivatorklassen behövs inte. Låt oss lämna kryssrutan på objektet - Detta plugin kommer att ge bidrag till användargränssnittet, eftersom vår applikation kommer att innehålla användargränssnitt. Låt oss lämna det tredje alternativet Aktivera API-analys avmarkerat. Till frågan - Vill du skapa en rik klientapplikation? Låt oss svara Ja.


Figur 5 – Fönstret för att skapa plugin

Klicka på Nästa, vi kommer att bli ombedda att välja en mall för den framtida applikationen, välj - Hej RCP och klicka på Nästa.


Figur 6 - Fönstret för val av mall för RCP-projekt

I det sista fönstret, i applikationsfönstrets titelfält, skriv - Användarformulär, i fältet Application class - Min ansökan. Lämna kryssrutan Lägg till varumärke inaktiv. Klicka på knappen Slutför. Vi kommer att uppmanas att byta till Plug-in Development-perspektivet, vi kommer att hålla med om detta förslag.


Figur 7 - Konfigurationsfönster för RCP-projektmall

Projektets struktur
Så vi har strukturen för det nyskapade projektet.


Figur 8 – Projektstruktur

Innehållet i de fem klasserna i first.rcp.application-paketet i det här ögonblicket vi är inte intresserade, jag säger bara att det är jättebra Min ansökan Detta är på något sätt main()-metoden för ett vanligt Java-program, den här klassen är ansvarig för hur vårt plugin kommer att lanseras och hur det kommer att stoppas. På lektionen ApplicationWorkbenchWindowAdvisor, kan vi ställa in applikationsfönstrets storlek med hjälp av följande kodrad:
configurer.setInitialSize(ny punkt(400, 300));
Vi kan också se att verktygsfältet och statusfältet inte kommer att visas som standard:
configurer.setShowCoolBar(false);
configurer.setShowStatusLine(false);
Den sista raden anger huvudfönstrets titel:
configurer.setTitle("Användarformulär");
Klass ApplicationActionBarAdvisor ansvarar för att anpassa menyraden i vår applikation. Klass Perspektiv ansvarar för platsen och storleken på redaktörer och vyer som är placerade i ett givet perspektiv, en RCP-applikation måste ha minst ett perspektiv.

Lansering av projektet
För att köra applikationen vi just skapade måste vi gå till META-INF-mappen och öppna filen MANIFEST.MF, om du plötsligt stängde den (den här filen öppnas som standard när du skapar ett projekt).


Figur 9 – Editor för RCP-applikationsegenskaper

Den här filen låter oss ändra många projektinställningar, ansluta ytterligare plugins, ansluta och hantera tillägg, konfigurera bygget av vårt plugin och mycket mer. Vi är på fliken Översikt, i avsnittet Testning klickar vi på länken - Starta en Eclipse-applikation, efter ett ögonblick kommer vårt applikationsfönster att dyka upp på skärmen, stäng det och gå vidare till nästa steg.


Figur 10 – Vårt applikationsfönster

Lägger till en vy

Lägger till en förlängning
Vår uppgift är att skapa en vy där vi kan placera grafiska gränssnittselement. Låt oss gå tillbaka till filen MANIFEST.MF, välj fliken längst ned – Tillägg. Vi kan se att vi som standard har två tillägg: org.eclipse.core.runtime.applications och org.eclipse.ui.perspectives. Den första förlängningen är kopplad till vår applikationsklass Min ansökan, om vi väljer det här tillägget och utökar trädlistan till noden first.rcp.application.MyApplication (run), kommer vi att se att klassfältet innehåller namnet på just denna klass. Återgår till rotnoden denna lista, till höger i avsnittet Extension Details kommer vi att se två fält, vars värden vi också kan ändra (vi kommer inte att göra detta nu): ID - applikationsidentifierare och Namn - applikationsnamn.

Den andra förlängningen är ansvarig för att sätta perspektivet för vår ansökan. Fil MANIFEST.MF tillåter oss att, utan att titta på koden för klassen Perspective, specificera vilka vyer och/eller redaktörer detta perspektiv kommer att innehålla, deras position, storlek och förhållande. Genom att klicka på det här tillägget och gå till det underordnade objektet kan vi se att vi kan ange perspektivklass, ID och namn i avsnittet Extension Element Details. Det bör noteras att sådana ändringar, som nämnts ovan, kan göras genom att direkt redigera klasskoden som är associerad med detta tillägg och redigera filen plugin.xml, men jag skulle inte vilja komplicera skapandet av vårt första projekt.


Figur 11 – Flik med förlängningar av vårt projekt

Vi måste lägga till ett nytt tillägg för att skapa vyn. För att göra detta, klicka på knappen Lägg till och i fönstret som visas anger du vyer i filterfältet Extension Point, det ska bara finnas en tillägg kvar - org.eclipse.ui.views, välj den och klicka på Slutför.


Figur 12 – Fönster för val av nytt tillägg

Vi borde ha ytterligare en, tredje förlängning i listan över tillägg.

Ställa in vyn
Låt oss högerklicka på tillägget vi lade till, en snabbmeny kommer att dyka upp, välj Ny->vy i den, därigenom kommer vi att lägga till ett element till vårt tillägg (detta element är den vy vi behöver). Inställningarna för detta element visas på höger sida. Låt oss först skapa en klass för vår syn. Vi kan göra detta genom att klicka på länken klass*.


Figur 13 – Visa inställningar

En standarddialogruta för att skapa en Java-klass öppnas, ge den ett namn – MainView; som vi kan se ärver denna klass från klassen org.eclipse.ui.part.ViewPart, föräldraklassen för alla typer. Låt oss slutföra skapandet av klassen genom att klicka på knappen Slutför. Det finns väldigt lite kvar, efter att ha skapat en klass för vår vy kommer dess kod att öppnas framför oss, vi kommer att skapa en statisk variabel som kommer att innehålla identifieraren för denna vy, vi kommer att ställa in det kanoniska namnet på denna klass som identifierare . Låt oss skriva följande:

public class MainView utökar ViewPart (
public static final String ID = MainView.class.getCanonicalName();

}
Låt oss gå tillbaka till filen MANIFEST.MF, öppna fliken Tillägg, kopiera innehållet i klass*-fältet och klistra in det i ID-fältet. Nu är klassnamnet och identifieraren för denna typ desamma; denna teknik är en bra praxis, eftersom den alltid låter dig snabbt hitta den önskade typen och ta reda på dess identifierare. I fältet namn* skriver vi – Användarformulär. Hela synen har skapats, det återstår att koppla den till vårt perspektiv, eftersom synen i sig inte kan användas, med andra ord måste den tillhöra något perspektiv.

Ställa in visningsposition
Vi kan utföra ytterligare manipulationer medan vi är kvar i tilläggsredigeraren eller öppna koden för perspektivklassen - Perspective.java, vilket är vad vi kommer att göra. På lektionen Perspektiv, låt oss gå till metoden – createInitialLayout(), den här metoden anger utgångsläget för åsikter och redaktörer. I metoden kommer vi att skriva följande två rader kod:
layout.setEditorAreaVisible(false);
layout.addStandaloneView(MainView.ID, true, IPageLayout.LEFT, 1.0f, layout.getEditorArea());
Den första raden talar om för layoutobjektet att vi inte behöver ett redigerbart område eftersom vi bara har en vy och inga redigerare. Den andra raden lägger till vår syn, och som en fristående sådan. Den första parametern är vårt vy-ID. Den andra parametern är booleskt värde, som ansvarar för om titeln på vår vy (användarformulär) kommer att visas eller inte. Den tredje parametern är avsedd att indikera orienteringen av perspektivvyn, eftersom vi har en vy och kommer att uppta hela perspektivrummet, då givet värde kan vara vad som helst. Den fjärde parametern bestämmer läget för denna syn i förhållande till andra åsikter eller redaktörer, eftersom, i vårt fall, en syn bör uppta hela perspektivrummet. Den sista femte parametern är editorområdets identifierare. Låt oss spara våra ändringar.
Starta en applikation med en extra vy
Låt oss gå tillbaka till filen MANIFEST.MF och starta vår applikation igen, för att göra detta, gå till fliken Översikt, i avsnittet Testning, klicka på länken Starta en Eclipse-applikation. Vi kommer inte att se stor skillnad från hur formuläret såg ut under den tidigare lanseringen; bara en flik med vår vy har lagts till - Användarformulär.


Figur 14 – Vårt applikationsfönster med en extra vy

Det var allt för idag, fortsättning i nästa artikel.

Eclipse är en Java-baserad, utbyggbar utvecklingsplattform med öppen källkod. I huvudsak är det helt enkelt en utvecklingsmiljö och en uppsättning tjänster för att bygga applikationer baserade på inbäddade komponenter (plugins). Lyckligtvis kommer Eclipse med en standarduppsättning plugins, inklusive de välkända Java Development Tools (JDT).

Medan de flesta användare som använder Eclipse som en Java-integrerad utvecklingsmiljö (IDE) är nöjda med det, finns det mycket mer än så. Eclipse innehåller även en plugin-utvecklingsmiljö (PDE), som i första hand kommer att vara av intresse för dem som vill utöka Eclipse själv, eftersom det låter dig skapa dina egna verktyg som är inbyggda i Eclipse-miljön. Eftersom Eclipse helt består av plugins har alla verktygsutvecklare möjlighet att erbjuda sina egna tillägg till Eclipse och ge användarna en konsekvent och sömlös integrerad utvecklingsmiljö (IDE).

Denna integritet och konsekvens är inte unik för Java-utvecklingsverktyg. Även om Eclipse är skrivet i Java, kan det användas med andra språk. Till exempel finns plugins redan tillgängliga (eller håller på att utvecklas) som stöder programmeringsspråk som C/C++ och COBOL. Eclipse-ramverket kan också användas som grund för andra typer av applikationer som inte är relaterade till mjukvaruutveckling, såsom innehållshanteringssystem.

Ett utmärkt exempel på en Eclipse-baserad applikation är IBMs Rational Software Architect, som utgör grunden för IBMs familj av Java-utvecklingsverktyg.

Eclipse är öppen källkod

Programvara med öppen källkod släpps under en licens utformad för att garantera vissa rättigheter för användare. Den mest uppenbara av dem är naturligtvis att källkoden måste tillhandahållas användarna, och de har all rätt att modifiera och distribuera programvaran själva. Detta skydd av användarrättigheter uppnås med hjälp av en mekanism som kallas "copyleft": Licens programvara står för upphovsrättsskydd och förbjuder distribution av programvara om användaren inte beviljas sådana rättigheter. En copyleft-licens kräver också att all programvara som distribueras av användare täcks av den ursprungliga licensen utan ändringar. Sålunda vänds innebörden av upphovsrätt i huvudsak upp och ner, och en copyleft-licens, som använder upphovsrätt för att ge rättigheter till användaren snarare än att behålla dem åt mjukvaruutvecklaren, sägs ofta på skämt "alla rättigheter är perverterade" (alla rättigheter omvända) ).

Mycket av den vanliga rädslan, osäkerheten och tvivel om programvara med öppen källkod är baserad på den så kallade virala naturen hos vissa copyleft-licenser. Tanken är att om du använder programvara med öppen källkod som en del av ett program du själv utvecklar, kommer du att förlora din immateriella egendom eftersom licensen kommer att förorena dina privata delar av programmet. Med andra ord kan licensen kräva att all programvara med öppen källkod, inklusive nyskapad programvara, distribueras under samma licens. Även om detta är sant för den mest kända copyleft-licensen, GNU General Public License (under vilken till exempel Linux distribueras), finns det andra licenser som ger en annan balans mellan kommersiella och allmänna intressen.

Open Software Initiative - OSI (Open Software Initiative) är en ideell organisation som tydligt definierar vad som är öppen källkod och certifierar licenser som uppfyller dess kriterier. Eclipse distribueras under EPL (Eclipse Public License) V1.0, en OSI-godkänd licens utformad för att underlätta kommersiell acceptans av Eclipse samtidigt som krediten till de ursprungliga kodförfattarna bibehålls.

De som skapar plugins för Eclipse eller använder Eclipse som bas för mjukvaruutveckling måste publicera vilken Eclipse-kod de använder eller modifierar under EPL, men är fria att licensiera sina egna tillägg som de vill. Inbyggd kod buntad med programvara från Eclipse behöver inte vara licensierad som öppen källkod, och själva källkoden behöver inte göras allmänt tillgänglig.

Även om de flesta programmerare inte skulle använda Eclipse för att utveckla plugins eller skapa nya produkter baserade på det, är Eclipse-naturen med öppen källkod betydande inte bara för att den gör Eclipse tillgänglig helt gratis (och trots dess kommersiellt inriktade karaktär). licensen innebär att plugins kan kosta pengar). Öppen källkod främjar innovation och skapar ett incitament för utvecklare (även kommersiella) att bidra med sin källkod till samhället. Det finns flera anledningar till detta, men den kanske viktigaste är att ju mer utvecklare bidrar till projektet, desto mer meningsfullt blir det för alla. Och när ett projekt blir användbart kommer fler utvecklare att använda det och skapa en community runt det, liknande de som har bildats kring Apache och Linux.

Vad är Eclipse?

Eclipse är en öppen källkodsgemenskap av utvecklare vars projekt syftar till att bygga en öppen utvecklingsplattform som består av en utbyggbar utvecklingsmiljö, verktyg och runtime-bibliotek för att bygga, distribuera och hantera programvara under dess körtid. livscykel. Eclipse Foundation är en ideell, medlemsstödd organisation som är värd för Eclipse-projekt och hjälper till att förbättra öppen källkodsgemenskapen och ekosystemet av kompletterande produkter och tjänster.

Eclipse-projektet skapades i november 2001 av IBM och stöddes av ett konsortium av mjukvaruleverantörer. Eclipse Foundation skapades i januari 2004 som en oberoende, ideell organisation som fungerar som förvaltare av Eclipse-gemenskapen. Det skapades för att hjälpa en leverantörsneutral, öppen och transparent gemenskap att växa runt Eclipse. Dagens Eclipse-gemenskap består av individer och organisationer som representerar mjukvaruindustrin.

Eclipse Foundation övervakar och leder den pågående utvecklingen av Eclipse. Stiftelsen tjänar samhället, men utvecklarna av öppen källkod, kallade committers, som huvudsakligen arbetar med Eclipse-projekt, finns inte i dess personal. Vanligtvis är Eclipse committers medlemmar i någon organisation eller är oberoende utvecklare som frivilligt lägger sin tid på att arbeta med ett projekt med öppen källkod.

Nu när vi har tittat på de teoretiska, historiska och politiska aspekterna av Eclipse, låt oss titta på själva produkten.

Eclipse arbetsyta

När du först startar Eclipse kommer du att se en välkomstsida inuti arbetsytan (se figur 1). En Eclipse-användare har flera alternativ för att navigera till översiktssidan, vilket är vad jag rekommenderar att du gör (se figur 2). Därefter kan du bekanta dig med information om nya funktioner, studera några exempel eller gå en utbildning.

Figur 2. Översiktssida för Eclipse

Eclipse-arbetsytan består av flera paneler som kallas vyer, till exempel navigerings- eller konturvyer. En uppsättning sådana representationer kallas perspektiv. Ett av de vanligaste perspektiven är resursperspektivet, som är en grundläggande uppsättning vyer för att hantera projekt och visa och redigera projektfiler.

Jag rekommenderar att de flesta förstagångsanvändare börjar med översiktssidan som visas i figur 2 och lär sig mer om Eclipse. Arbetsbänkens grundsektion innehåller mycket användbar inledande information om de olika komponenterna i Eclipse och hur de interagerar med varandra. Ta några minuter att läsa detta, och låt oss sedan dyka in i Eclipses Java Development Tools (JDT). Det bästa sättet att lära sig något - prova det i praktiken.

Vi fortsätter denna korta rundtur i Eclipse och skapar ett nytt projekt i Java. Välj Arkiv > Nytt > Java-projekt och skriv Hej när du uppmanas att ange projektnamnet och klicka sedan Avsluta.

Låt oss nu titta på "Java"-perspektivet (om du inte redan är i det). Beroende på hur du föredrar att styra din skärm kan du antingen ändra perspektivet i det aktuella fönstret genom att välja Fönster > Öppna perspektiv > Java (Fönster > Öppna perspektiv > Java), eller öppna ett nytt fönster genom att välja Fönster > Nytt fönster, och välj ett nytt perspektiv.

Som du kanske förväntar dig har Java-perspektivet en uppsättning vyer utformade för att vägleda Java-utveckling. En av dem, som ligger i det övre vänstra hörnet, är en hierarki som innehåller olika Java-paket, klasser, JAR-arkiv och olika filer. Denna vy kallas Package Explorer. Observera att två nya objekt har lagts till i huvudmenyn: Källa och Refaktor.

Java Development Tools (JDT)

För att testa utvecklingsmiljön Java kommer vi att skapa och köra en applikation som heter "Hello World". Medan du är i Java-perspektivet, högerklicka på mappen med projektets källtest "Hej" (src) och välj Nytt > Klass, som visas i figur 3. I dialogrutan som visas anger du Hello som klassnamn. Nedan finns inskriptionen Vilka metodstubbar skulle du vilja skapa? (Vilka metodstubbar vill du skapa?) notera public static void main(String args) och klicka Avsluta.

Figur 3. Skapa en ny klass i Java-perspektivet

Detta kommer att skapa en .java-fil med Hello-klassen och en tom main()-metod i editorområdet, som visas i figur 4. Låt oss lägga till följande kod till metoden (observera att beskrivningen för i har utelämnats medvetet).

Figur 4. Hej klass i Java-editorn

När du skriver kommer du att märka några av Eclipse-redigerarens funktioner, inklusive syntaxkontroll och automatisk kodkomplettering. Dessutom, när du anger en inledande parentes eller dubbla citattecken, Eclipse infogar automatiskt ett avslutande par för dem och placerar markören i mitten.

I andra fall kan du orsaka automatisk kodkomplettering med kombinationen Ctrl+1. Kodkompletteringsfunktionen ger en sammanhangsberoende lista med alternativ som du kan välja från med tangentbordet eller musen. Alternativ kan vara en lista över metoder som är specifika för ett visst objekt, eller en kodbit baserad på olika nyckelord, till exempel för eller medan .

Syntaxkontroll beror på inkrementell kompilering. När du sparar koden kompileras den till bakgrund och kollade efter syntaxfel. Som standard är syntaxfel understrukna i rött och en röd prick med ett vitt X visas i vänstermarginalen Övriga fel är markerade i redaktörens marginal med en glödlampssymbol; det här är problem som redigeraren kan fixa åt dig (en funktion som kallas Quick Fix).

I koden ovan visas glödlampsskylten bredvid for-satsen eftersom beskrivningen för i har utelämnats. Dubbelklicka musen på glödlampan gör att en lista med föreslagna korrigeringar visas. I vårt fall kommer vi att bli ombedda att skapa ett klassfält i, en lokal variabel i eller en parameter i för en metod; Om du väljer något av dessa alternativ med musen visas koden som kommer att genereras. Figur 5 visar listan med föreslagna alternativ och koden som föreslås i fallet med en lokal variabel.

Figur 5: Snabbkorrigeringsalternativ

Genom att dubbelklicka på en mening infogas koden på önskad plats i programmet.

Om programmet kompilerar utan fel kan du köra det genom att välja Springa i Eclipse-menyn. (Observera att det inte finns något separat steg för kompilering eftersom kompilering sker när du sparar koden. Om din kod inte har några syntaxfel är den redo att köras.) Dialogrutan Starta konfigurationer visas med önskade standardinställningar; klick Springa nere till höger. Visas i den nedre panelen ny panel med flikar (konsol), visar resultatet av programmet, som visas nedan.

Figur 6. Resultat av programmet

Du kan också köra programmet i Java debugger. Först måste du ställa in en brytpunkt i main() System.out.println() genom att dubbelklicka på den grå rutan på vänster sida av redigeringsfönstret bredvid System.out.println()-anropet. En blå prick visas. På menyn Springa Välj lag Felsökning. Som beskrivits tidigare kommer dialogrutan "Starta konfigurationer" att visas. Välj ett lag Springa. Perspektivet kommer automatiskt att ändras till Debug-perspektivet, som innehåller ett antal intressanta nya vyer, som visas nedan.

Figur 7. Felsökningsperspektiv

Lägg märke till felsökningsvyn i det övre vänstra hörnet av perspektivet. Den här vyn visar anropsstacken och innehåller ett verktygsfält i namnlisten som låter dig styra programexekveringen. Panelen har knappar för att fortsätta, pausa eller avsluta programmet, gå till nästa sats, gå över nästa sats eller gå tillbaka från en metod. Panelen längst upp till höger innehåller ett antal flikar, inklusive variabler, brytpunkter, uttryck och visning. Fliken Variabler är nu vald, så att vi kan se det aktuella värdet för variabeln i.

Mer detaljerad information om någon av vyerna kan erhållas med hjälp av kontextverktygstipset; För att göra detta, klicka på vytiteln och tryck F1.

Ytterligare plugins

Förutom plugins av JDT-typ för redigering, kompilering och felsökning av applikationer finns det plugins som stödjer hela utvecklingsprocessen: modellering, byggautomation, enhetstestning, prestandatestning, versionshantering och konfigurationshantering.

Eclipse innehåller ett plugin för att arbeta med Concurrent Versions System (CVS) för källkodshantering. Team-pluginet ansluter till CVS-servern, vilket gör att medlemmar i ett utvecklingsteam kan arbeta med en uppsättning filer som innehåller källkod utan att störa ändringar gjorda av andra. Vi kommer inte att utforska källhantering från Eclipse mer i detalj här eftersom det skulle kräva installation av en CVS-server, även om möjligheten att stödja ett team av utvecklare snarare än bara självutveckling är en viktig och integrerad del av Eclipse.

Insticksprogram som underhålls och distribueras av Eclipse Foundation kan hittas på Eclipses webbplats. Mest full lista tillgängliga plugins är tillgängliga på Eclipse Plug-in Central-sidan, som fungerar som en plugin-katalog.

Eclipse Platform Architecture

Eclipse-plattformen innehåller en kraftfull uppsättning plugins (se figur 8) som stödjer projekt som JDT och PDE.

Figur 8. Förenklad arkitektur för Eclipse-plattformen

De mörkblå blocken representerar komponenter som är centrala för Rich Client Platform (RCP) i Eclipse. Konceptet med RCP i sig ligger utanför ramen för denna artikel, men låt oss betrakta RCP som helt enkelt en uppsättning plugins från Eclipse som människor kan använda för att utveckla applikationer som Lotus Notes® 8. De ljusblå blocken representerar valfria (men rekommenderas) komponenter att inkludera i RCP-baserade applikationer. Och de grå blocken är helt valfria. Plattformen består av flera komponenter, vi kommer att titta på några av dem:

Körning Runtime är koden som definierar Eclipse-pluginmodellen, baserad på OSGi-specifikationen och idén om tillägg och förlängningspunkter. Runtime tillhandahåller även ytterligare tjänster som syslogging och samtidighet. JFace/SWT Standard Widget Toolkit (SWT) är en samling widgets som tillhandahåller användargränssnittet och funktionerna i Eclipse. JFace är helt enkelt en superset av SWT som tillhandahåller flera Model-View-Controller (MVC) klasser för att göra utvecklingen lättare grafiska applikationer. Arbetsbänk Arbetsytan ger Eclipse sin personlighet. Det är på denna nivå som konceptet med vyer, perspektiv och saker som att redigera fönster implementeras. Hjälp (användarsupport) Denna Eclipse-komponent låter dig ge support till dina användare. Detta kan göras genom ett hjälpsystem, som låter användare söka efter hjälpdokumentation, eller genom "cheat sheets", som kan presenteras som interaktiva uppgiftslistor för slutanvändare. Uppdatering Uppdateringskomponenten ger Eclipse ett sätt att uppdatera applikationer från en version till en annan. Team Teamkomponenten är en infrastruktur som gör att utvecklingsföretag kan koppla upp sina egna versionskontrollsystem. Ett exempel på leverantörsimplementering är CVS-pluginet som är inbyggt i Eclipse.

Slutsats

Från initial kod skriven av IBM har Eclipse vuxit till ett fullfjädrat ekosystem med öppen källkod med mer än 100 deltagande företag. Bärbar, utbyggbar infrastruktur med öppen källkod – inte längre ny idé, men tack vare sin genomtänkta, robusta och eleganta design får Eclipse en helt ny dynamik.

Välkommen till Eclipse-ekosystemet. Vårt mål var att hjälpa dig komma igång på Eclipse-plattformen. Vi har uppnått detta genom en inledande text och en enkel övningsövning. Använd kunskapen du får genom att läsa den här artikeln och bli en aktiv medlem i Eclipse-ekosystemet.

Använda Eclipse-plugins för redigering, kompilering, felsökning och som grund för dina applikationer

Den här uppdateringen av David Gallardos artikel ger ny information om Eclipse V3.3.

Vad är Eclipse?

Eclipse är en Java-baserad, utbyggbar utvecklingsplattform med öppen källkod. I huvudsak är det helt enkelt en utvecklingsmiljö och en uppsättning tjänster för att bygga applikationer baserade på inbäddade komponenter (plugins). Lyckligtvis kommer Eclipse med en standarduppsättning plugins, inklusive de välkända Java Development Tools (JDT).

Medan de flesta användare som använder Eclipse som en Java-integrerad utvecklingsmiljö (IDE) är nöjda med det, finns det mycket mer än så. Eclipse innehåller även en plugin-utvecklingsmiljö (PDE), som i första hand kommer att vara av intresse för dem som vill utöka Eclipse själv, eftersom det låter dig skapa dina egna verktyg som är inbyggda i Eclipse-miljön. Eftersom Eclipse helt består av plugins har alla verktygsutvecklare möjlighet att erbjuda sina egna tillägg till Eclipse och ge användarna en konsekvent och sömlös integrerad utvecklingsmiljö (IDE).

Denna integritet och konsekvens är inte unik för Java-utvecklingsverktyg. Även om Eclipse är skrivet i Java, kan det användas med andra språk. Till exempel finns plugins redan tillgängliga (eller håller på att utvecklas) som stöder programmeringsspråk som C/C++ och COBOL. Eclipse-ramverket kan också användas som grund för andra typer av applikationer som inte är relaterade till mjukvaruutveckling, såsom innehållshanteringssystem.

Ett utmärkt exempel på en Eclipse-baserad applikation är IBM® Rational® Software Architect (se ), som utgör grunden för IBMs familj av Java-utvecklingsverktyg.

Eclipse är öppen källkod

Programvara med öppen källkod släpps under en licens utformad för att garantera vissa rättigheter för användare. Den mest uppenbara av dem är naturligtvis att källkoden måste tillhandahållas användarna, och de har all rätt att modifiera och distribuera programvaran själva. Detta skydd av användarrättigheter uppnås med hjälp av en mekanism som kallas "copyleft": Programvarulicensen är upphovsrättsskyddad och förbjuder distribution av programvaran om inte användaren beviljas sådana rättigheter. En copyleft-licens kräver också att all programvara som distribueras av användare täcks av den ursprungliga licensen utan ändringar. Sålunda vänds innebörden av upphovsrätt i huvudsak upp och ner, och en copyleft-licens, som använder upphovsrätt för att ge rättigheter till användaren snarare än att behålla dem åt mjukvaruutvecklaren, sägs ofta på skämt "alla rättigheter är perverterade" (alla rättigheter omvända) ).

Mycket av den vanliga rädslan, osäkerheten och tvivel om programvara med öppen källkod är baserad på den så kallade virala naturen hos vissa copyleft-licenser. Tanken är att om du använder programvara med öppen källkod som en del av ett program du själv utvecklar, kommer du att förlora din immateriella egendom eftersom licensen kommer att förorena dina privata delar av programmet. Med andra ord kan licensen kräva att all programvara med öppen källkod, inklusive nyskapad programvara, distribueras under samma licens. Även om detta är sant för den mest kända copyleft-licensen, GNU General Public License (under vilken till exempel Linux® distribueras), finns det andra licenser som ger en annan balans mellan kommersiella och allmänna intressen.

Open Software Initiative - OSI (Open Software Initiative) är en ideell organisation som tydligt definierar vad som är öppen källkod och certifierar licenser som uppfyller dess kriterier. Eclipse distribueras under EPL (Eclipse Public License) V1.0, en OSI-godkänd licens utformad för att underlätta kommersiell acceptans av Eclipse samtidigt som krediten till de ursprungliga kodförfattarna bibehålls.

De som skapar plugins för Eclipse eller använder Eclipse som bas för mjukvaruutveckling måste publicera vilken Eclipse-kod de använder eller modifierar under EPL, men är fria att licensiera sina egna tillägg som de vill. Inbyggd kod buntad med programvara från Eclipse behöver inte vara licensierad som öppen källkod, och själva källkoden behöver inte göras allmänt tillgänglig.

Även om de flesta programmerare inte skulle använda Eclipse för att utveckla plugins eller skapa nya produkter baserade på det, är Eclipse-naturen med öppen källkod betydande inte bara för att den gör Eclipse tillgänglig helt gratis (och trots dess kommersiellt inriktade karaktär). licensen innebär att plugins kan kosta pengar). Öppen källkod främjar innovation och skapar ett incitament för utvecklare (även kommersiella) att bidra med sin källkod till samhället. Det finns flera anledningar till detta, men den kanske viktigaste är att ju mer utvecklare bidrar till projektet, desto mer meningsfullt blir det för alla. Och när ett projekt blir användbart kommer fler utvecklare att använda det och skapa en community runt det, liknande de som har bildats kring Apache och Linux. (För att uppnå Ytterligare information om licenser, se avsnitt.)

Vad är Eclipse?

Eclipse är en öppen källkodsgemenskap av utvecklare vars projekt syftar till att bygga en öppen utvecklingsplattform som består av en utbyggbar utvecklingsmiljö, verktyg och runtime-bibliotek för att bygga, distribuera och hantera programvara under hela dess livscykel. Eclipse Foundation är en ideell, medlemsstödd organisation som är värd för Eclipse-projekt och hjälper till att förbättra öppen källkodsgemenskapen och ekosystemet av kompletterande produkter och tjänster.

Eclipse-projektet skapades i november 2001 av IBM och stöddes av ett konsortium av mjukvaruleverantörer. Eclipse Foundation skapades i januari 2004 som en oberoende, ideell organisation som fungerar som förvaltare av Eclipse-gemenskapen. Det skapades för att hjälpa en leverantörsneutral, öppen och transparent gemenskap att växa runt Eclipse. Dagens Eclipse-gemenskap består av individer och organisationer som representerar mjukvaruindustrin.

Eclipse Foundation övervakar och leder den pågående utvecklingen av Eclipse. Stiftelsen tjänar samhället, men utvecklare med öppen källkod ringde begåvade och som sådan är de som arbetar med Eclipse-projekt inte i hans personal. Vanligtvis är Eclipse committers medlemmar i någon organisation eller är oberoende utvecklare som frivilligt lägger sin tid på att arbeta med ett projekt med öppen källkod.

Nu när vi har tittat på de teoretiska, historiska och politiska aspekterna av Eclipse, låt oss titta på själva produkten.

Eclipse arbetsyta

När du först startar Eclipse kommer du att se en välkomstsida inuti arbetsytan (se figur 1). En Eclipse-användare har flera alternativ för att navigera till översiktssidan, vilket är vad jag rekommenderar att du gör (se figur 2). Därefter kan du bekanta dig med information om nya funktioner, studera några exempel eller gå en utbildning.

Figur 1. Eclipse Välkomstsida
Figur 2. Översiktssida för Eclipse

Eclipse-arbetsytan består av flera paneler som kallas representationer, till exempel navigering eller konturvyer. Uppsättningen av sådana representationer kallas perspektiv. Ett av de vanligaste perspektiven är resursperspektivet, som är en grundläggande uppsättning vyer för att hantera projekt och visa och redigera projektfiler.

Jag rekommenderar att de flesta förstagångsanvändare börjar med översiktssidan som visas i figur 2 och lär sig mer om Eclipse. Arbetsbänkens grundsektion innehåller mycket användbar inledande information om de olika komponenterna i Eclipse och hur de interagerar med varandra. Ta några minuter att läsa detta, och låt oss sedan dyka in i Eclipses Java Development Tools (JDT). Det bästa sättet att lära sig något är att pröva det i praktiken.

Vi fortsätter denna korta rundtur i Eclipse och skapar ett nytt projekt i Java. Välj Arkiv > Nytt > Java-projekt och skriv Hej när du uppmanas att ange projektnamnet och klicka sedan Avsluta.

Låt oss nu titta på "Java"-perspektivet (om du inte redan är i det). Beroende på hur du föredrar att styra din skärm kan du antingen ändra perspektivet i det aktuella fönstret genom att välja Fönster > Öppna perspektiv > Java (Fönster > Öppna perspektiv > Java), eller öppna ett nytt fönster genom att välja Fönster > Nytt fönster, och välj ett nytt perspektiv.

Som du kanske förväntar dig har Java-perspektivet en uppsättning vyer utformade för att vägleda Java-utveckling. En av dem, som ligger i det övre vänstra hörnet, är en hierarki som innehåller olika Java-paket, klasser, JAR-arkiv och olika filer. Denna vy kallas Package Explorer. Observera att två nya objekt har lagts till i huvudmenyn: Källa och Refaktor.

Java Development Tools (JDT)

För att testa utvecklingsmiljön Java kommer vi att skapa och köra en applikation som heter "Hello World". Medan du är i Java-perspektivet, högerklicka på mappen med projektets källtest "Hej" (src) och välj Nytt > Klass, som visas i figur 3. I dialogrutan som visas anger du Hello som klassnamn. Nedan finns inskriptionen Vilka metodstubbar skulle du vilja skapa? (Vilka metodstubbar vill du skapa?) notera public static void main(String args) och klicka Avsluta.

Figur 3. Skapa en ny klass i Java-perspektivet

Detta kommer att skapa en .java-fil med en Hello-klass och en tom main()-metod i editorområdet, som visas i figur 4. Låt oss lägga till följande kod till metoden (observera att beskrivningen är för i avsiktligt utelämnades).

Figur 4. Hej klass i Java-editorn

När du skriver kommer du att märka några av Eclipse-redigerarens funktioner, inklusive syntaxkontroll och automatisk kodkomplettering. Dessutom, när du anger en inledande parentes eller dubbla citattecken, infogar Eclipse automatiskt ett avslutande par för dem och placerar markören i mitten.

I andra fall kan du orsaka automatisk kodkomplettering med kombinationen Ctrl+1. Kodkompletteringsfunktionen ger en sammanhangsberoende lista med alternativ som du kan välja från med tangentbordet eller musen. Alternativen kan vara en lista med metoder som är specifika för ett visst objekt, eller en kodbit baserad på olika nyckelord, till exempel for eller while .

Syntaxkontroll beror på inkrementell kompilering. När du sparar din kod kompileras den i bakgrunden och kontrolleras för syntaxfel. Som standard är syntaxfel understrukna i rött och en röd prick med ett vitt X visas i vänstermarginalen Övriga fel är markerade i redaktörens marginal med en glödlampssymbol; det här är problem som redigeraren kan fixa åt dig (en funktion som kallas Quick Fix).

I koden ovan visas glödlampsskylten bredvid for-satsen eftersom beskrivningen för i har utelämnats. Om du dubbelklickar på glödlampan visas en lista med föreslagna korrigeringar. I vårt fall kommer vi att bli ombedda att skapa ett klassfält i, en lokal variabel i eller en parameter i för en metod; Om du väljer något av dessa alternativ med musen visas koden som kommer att genereras. Figur 5 visar listan med föreslagna alternativ och koden som föreslås i fallet med en lokal variabel.

Figur 5: Snabbkorrigeringsalternativ

Genom att dubbelklicka på en mening infogas koden på önskad plats i programmet.

Om programmet kompilerar utan fel kan du köra det genom att välja Springa i Eclipse-menyn. (Observera att det inte finns något separat steg för kompilering eftersom kompilering sker när du sparar koden. Om din kod inte har några syntaxfel är den redo att köras.) Dialogrutan Starta konfigurationer visas med önskade standardinställningar; klick Springa nere till höger. En ny panel med flikar (konsol) visas i den nedre panelen, som visar programmets resultat, som visas nedan.

Figur 6. Resultat av programmet

Du kan också köra programmet i Java debugger. Först måste du ställa in en brytpunkt i main() System.out.println() genom att dubbelklicka på den grå rutan på vänster sida av redigeringsfönstret bredvid System.out.println()-anropet. En blå prick visas. På menyn Springa Välj lag Felsökning. Som beskrivits tidigare kommer dialogrutan "Starta konfigurationer" att visas. Välj ett lag Springa. Perspektivet kommer automatiskt att ändras till Debug-perspektivet, som innehåller ett antal intressanta nya vyer, som visas nedan.

Figur 7. Felsökningsperspektiv

Lägg märke till felsökningsvyn i det övre vänstra hörnet av perspektivet. Den här vyn visar anropsstacken och innehåller ett verktygsfält i namnlisten som låter dig styra programexekveringen. Panelen har knappar för att fortsätta, pausa eller avsluta programmet, gå till nästa sats, gå över nästa sats eller gå tillbaka från en metod. Panelen längst upp till höger innehåller ett antal flikar, inklusive variabler, brytpunkter, uttryck och visning. Fliken Variabler är nu vald, så att vi kan se det aktuella värdet för variabeln i.

Mer detaljerad information om någon av vyerna kan erhållas med hjälp av kontextverktygstipset; För att göra detta, klicka på vytiteln och tryck F1.

Ytterligare plugins

Förutom plugins av JDT-typ för redigering, kompilering och felsökning av applikationer finns det plugins som stödjer hela utvecklingsprocessen: modellering, byggautomation, enhetstestning, prestandatestning, versionshantering och konfigurationshantering.

Eclipse innehåller ett plugin för att arbeta med Concurrent Versions System (CVS) för källkodshantering. Team-pluginet ansluter till CVS-servern, vilket gör att medlemmar i ett utvecklingsteam kan arbeta med en uppsättning filer som innehåller källkod utan att störa ändringar gjorda av andra. Vi kommer inte att utforska källhantering från Eclipse mer i detalj här eftersom det skulle kräva installation av en CVS-server, även om möjligheten att stödja ett team av utvecklare snarare än bara självutveckling är en viktig och integrerad del av Eclipse.

Insticksprogram som underhålls och distribueras av Eclipse Foundation kan hittas på Eclipses webbplats. Den mest omfattande listan över tillgängliga plugins finns på Eclipse Plug-in Central-sidan, som fungerar som en plugin-katalog.

Eclipse Platform Architecture

Eclipse-plattformen innehåller en kraftfull uppsättning plugins (se figur 8) som stödjer projekt som JDT och PDE.

Figur 8. Förenklad arkitektur för Eclipse-plattformen

De mörkblå blocken representerar komponenter som är centrala för Rich Client Platform (RCP) i Eclipse. Konceptet med RCP i sig ligger utanför ramen för denna artikel, men låt oss betrakta RCP som helt enkelt en uppsättning plugins från Eclipse som människor kan använda för att utveckla applikationer som Lotus Notes® 8. De ljusblå blocken representerar valfria (men rekommenderas) komponenter att inkludera i RCP-baserade applikationer. Och de grå blocken är helt valfria. Plattformen består av flera komponenter, vi kommer att titta på några av dem:

Körning Runtime är koden som definierar Eclipse-pluginmodellen, baserad på OSGi-specifikationen och idén om tillägg och förlängningspunkter. Runtime tillhandahåller även ytterligare tjänster som syslogging och samtidighet. JFace/SWT Standard Widget Toolkit (SWT) är en samling widgets som tillhandahåller användargränssnittet och funktionerna i Eclipse. JFace är helt enkelt en superset av SWT som tillhandahåller flera Model-View-Controller-klasser (MVC) för att göra det enklare att utveckla grafiska applikationer. Arbetsbänk Arbetsytan ger Eclipse sin personlighet. Det är på denna nivå som konceptet med vyer, perspektiv och saker som att redigera fönster implementeras. Hjälp (användarsupport) Denna Eclipse-komponent låter dig ge support till dina användare. Detta kan göras genom ett hjälpsystem, som låter användare söka efter hjälpdokumentation, eller genom "cheat sheets", som kan presenteras som interaktiva uppgiftslistor för slutanvändare. Uppdatering Uppdateringskomponenten ger Eclipse ett sätt att uppdatera applikationer från en version till en annan. Team Teamkomponenten är en infrastruktur som gör att utvecklingsföretag kan koppla upp sina egna versionskontrollsystem. Ett exempel på leverantörsimplementering är CVS-pluginet som är inbyggt i Eclipse.

Slutsats

Från initial kod skriven av IBM har Eclipse vuxit till ett fullfjädrat ekosystem med öppen källkod med mer än 100 deltagande företag. Bärbar, utbyggbar infrastruktur med öppen källkod är inte längre en ny idé, men med en genomtänkt, robust och elegant design tar Eclipse en helt ny dynamik.

Välkommen till Eclipse-ekosystemet. Vårt mål var att hjälpa dig komma igång på Eclipse-plattformen. Vi har uppnått detta genom en inledande text och en enkel övningsövning. Använd kunskapen du får genom att läsa den här artikeln och bli en aktiv medlem i Eclipse-ekosystemet.

Vad betyder IBM:s bidrag till öppen källkodsgemenskapen för dig?

Marc Erickson och Angus McIntyre
Publicerad 2001-01-11

Eclipse-plattformen är designad för att bygga integrerade utvecklingsmiljöer (IDE). Den kan användas för att skapa en mängd end-to-end-datorlösningar för en mängd olika körtidsmiljöer. När du väljer en arkitektur behöver verktygsskapare:

  • Lika villkor och full avslöjande utan dolda API:er eller gränssnitt från verktyg till verktyg. Eclipse erbjuder en öppen källkodsplattform för detta ändamål. För att säkerställa kodkvalitet, portabilitet och prestanda testas publicerade API:er av ett konsortium av relaterade industrier.
  • Frihet att utöka plattformen för att uppnå nya möjligheter. Eclipse ger möjligheten att skapa härledda verk, inklusive omfördelning av plattformar. Genom att använda Eclipse kan verktygsutvecklare fokusera på sina kärnuppgifter och nya modeller för utvecklingsteknik.
  • Få snabba svar på förfrågningar om produktändringar och förbättringar, levererade på ett kontrollerat och organiserat sätt. Utvecklare kan göra olika ändringar via www.eclipse.org. Detta uppnås genom samarbete och all möjlig hjälp från utvecklare i utvecklingen av plattformen.

Frågor och svar

    Vad är Eclipse.org?

    Eclipse.org är ett öppet gemenskapsbaserat konsortium av leverantörer av mjukvaruutvecklingsverktyg. Samhället är intresserade av att arbeta tillsammans för att förbättra utvecklingsmiljöer och produktintegration. Gemenskapen delar ett gemensamt intresse av att skapa produkter som enkelt kan samverka i flera miljöer genom att använda plugin-teknik. Genom att samarbeta och dela nyckelintegreringsteknik kan Eclipse-kompatibla verktygsleverantörer fokusera på sina egna expertområden och skapandet av ny utvecklingsteknik.

    Vad är Eclipse-plattformen?

    Kärnan i Eclipse-projektet är att skapa en "Apache för utvecklarverktyg." Det innebär att skapa en infrastruktur med öppen källkod som tillhandahåller många av de grundläggande tjänster som mjukvaruutvecklare behöver. Detta bör vara en "verktygslåda för att utveckla verktygssatser". Mer än bara en samling API:er kommer Eclipse-ramverket att bestå av faktisk kod skriven för att göra riktigt arbete.

    Eclipse-plattformen utgör grunden för att bygga och köra integrerade end-to-end mjukvaruutvecklingsverktyg. Plattformen består av komponenter med öppen källkod som används av verktygsleverantörer för att bygga lösningar som är inbyggda i en integrerad arbetsyta. Eclipse-plattformen integrerar teknik i en väldesignad design- och implementeringsmiljö.

    Varför släpper IBM Eclipse som öppen källkod?

    Öppen källkod är det enda sättet tillhandahålla en öppen plattform för verktygsintegration. Dessutom finns det andra fördelar med att använda öppen källkod.

    Den främsta av dessa fördelar är återanvändning av produkter. Varför bygga om något om det redan finns i ett fungerande format? Med den öppna Eclipse-plattformen kan verktygsskapare fokusera på sina egna utvecklingsområden genom att tillhandahålla en verktygsinfrastruktur för att bygga integrerade utvecklingsmiljöer (IDE). Oavsett, att använda någon annans kod börjar vinna förtroende.

    Förtroende för någon ny arkitektur eller plattform tar lång tid att vinna. Det är till exempel svårt att vinna utvecklarnas förtroende för att skapa verktyg som innehåller proprietära gränssnitt som begränsar användningen av applikationen i ett visst operativsystem (till exempel Windows). Dessutom är det svårt att vinna verktygsskapares förtroende när olika nivåer av API:er levereras med olika nivåer av verktyg (till exempel community-API:er som skiljer sig från företags-API:er).

    Eclipse-plattformen bygger förtroende genom att tillhandahålla plattformens källkod.

    Öppen källkod tillhandahålls för alla API:er, utan interna, proprietära eller dolda gränssnitt. Utvecklare vars förtroende tar tid att vinna kan se koden och dra lämpliga slutsatser. Lita på källan och förnya!

    Att sammanföra utvecklare med öppen källkod kan också bidra till att skapa bättre kod. När kreatörer samarbetar med kod lägger de extra kraft på det. Sådan kod blir en återspegling av deras arbete, produkten av individens och företagets rykte. Lita på källorna och etablera din position på marknaden!

    Ett projekt med öppen källkod baserat på rena specifikationer kan ge kod som är lättare att förstå. Ett gränssnitt beskriver (i black box-termer) det abstrakta beteendet hos en komponent. Genom att undersöka källkoden kan utvecklare analysera kodens åtgärd rad för rad. Det är svårt att lita på någon annans gränssnitt. Lita på källorna och utforska tekniken!

    Det är lättare att felsöka i öppen källkod. När en bugg hittas kommer källkoden att påskynda identifieringen av dess orsak. Detta kan vara ditt fel, eller ett plattforms- och miljöfel. Tillgång till källkoden eliminerar arbetet med att gissa orsaken till felet. Genom att diskutera problem tillsammans på forum kan du dela anteckningar med andra som är bekanta med liknande problem. Om problemet uppstår i vanlig öppen källkod är det lättare att fixa eller komma runt det. Lita på källorna för att få den information du behöver.

    Att arbeta med enbart komplex teknik är ganska svårt. Flera verktygstillverkare kan ta på sig att utforska tillsammans ny teknologi. Lita på källorna för att minska risken!

    Verktygsleverantörer kommer och går. Företagsutvecklare vill vara säkra på långsiktigt plattformsstöd. Med källkoden kan företag komma igång på kort tid och upprätthålla verksamheten under en lång period: Lita på källkoden för att växa ditt företag!

    Flexibilitet är huvuddraget i Eclipse. MED Eclipse plattform en komponent som inte uppfyller dig kan modifieras enligt dina krav. Om du till exempel inte är nöjd med redigeraren, skapa din egen eller koppla ihop en av de populära redigerarna som skapats på marknadsplatsen för öppen källkod som erbjuds av Eclipse-plattformen. Funderar du på att knyta en ny värdplattform till ditt befintliga end-to-end-support? Lita på källorna och skapa plugins!

    Så öppen källkod, öppen gemenskap och öppen plattform skapar lika villkor som verktygsskapare små och stora behöver för att stödja utvecklingsprojekt från slut till slut och utforska nya gränser.

    Fortfarande inte säker? Tack till Frank Hecker för hans utmärkta arbete med att skapa en butik med öppen källkod (se länk i Resurser).

    Vilka plattformar är Eclipse tillgänglig på?

    Eclipse har implementerats och testats för Windows NT, Windows XP (Beta), Windows 2000, Windows 98, Windows ME och Red Hat Linux version 7.1. Eclipse-teknologin skrevs i Java, vilket gör den enkel att använda på en mängd olika plattformar.

    Kommer Eclipse att portas till andra plattformar?

    Det här är ett problem som måste lösas, men det är skönheten med Eclipse-plattformen. Verktygsskapare kan ta till sig Eclipse-teknik och utforska gränserna för nya möjligheter med förtroendet från en industritestad plattform med öppna verktyg.

    Vad kostar Eclipse-plattformen?

    Eclipse-plattformen är tillgänglig under Common Public License. Licensinformation finns på http://www.eclipse.org.

    Hur är det med det faktum att verktygsutvecklare inte riktigt vill ta itu med källkoden och inte kan få mycket nytta av den?

    Tillgång till källkod tillåter ofta problem att snabbt identifieras, eliminerar dubbelarbete och påskyndar färdigställandet av ny kompatibel teknik.

    Kommer detta att sluta med att dela upp produkten i inkompatibla versioner?

    Eclipse-gemenskapen har rätt att definiera och godkänna "officiella" versioner av Eclipse-plattformen. Communitymedlemmar kan också göra ändringar och tillägg för sina egna behov. Kodbaserna varierar dock och att skapa en anpassad version utanför Eclipse-projektet blir allt svårare. Kostnaderna för att överföra förbättringar från den "officiella" versionen till den ökar också. Därför är alla medlemmar i Eclipse-gemenskapen intresserade av att arbeta tillsammans på den gemensamma kärnan Eclipse-teknologin och infrastrukturen.

    Kommer åtgärder att vidtas för att definiera den "officiella" versionen i levererade produkter (till exempel som en del av ett varumärke som "Eclipse Inside")?

    Denna fråga behandlas av Eclipses styrelse.

    Vilken är konsumentrisken när man använder anpassade versioner?

    Vanligtvis publiceras den "officiella" versionen av Eclipse-plattformen, efter testning och granskning, på www.eclipse.org. Denna version stöds av Eclipse.org. Anpassade versioner måste stödjas fullt ut av leverantören, så fördelarna från samarbete med communitymedlemmar går förlorade.

    Kommer verktygsskapare att oroa sig för att Eclipse-tekniken med öppen källkod "smutsar" annan kod om de använder den i sina egna projekt?

    Eclipse är licensierad under Common Programming License, som förhindrar dig från att korrumpera annan kod som anropar Eclipse-kod med hjälp av offentliga API:er.

    Hur är det med irriterande saker som användare kan hitta i Eclipse-källkoden, till exempel buggar?

    Utveckling av öppen källkod ökar chanserna att hitta och åtgärda både mindre och större buggar. De upptäcks och fixas av den ursprungliga utvecklaren eller communitymedlemmarna.

    Kan avslöjande av källkod avslöja konfidentiella planer och strategier för konkurrenter?

    Ja, i huvudsak delar vi strategier med våra konkurrenter. Det finns utan tvekan en mer betydande åsikt. Utvecklare är trötta på att bara integrera verktyg i sina applikationer. De är trötta på att spendera tid på att ta reda på hur man får verktyg att fungera tillsammans i en end-to-end datormiljö. Med Eclipse-plattformen kan alla dra nytta av en grundlig förståelse för hur man integrerar en IDE på produktionsnivå. Vi gör detta enbart för att göra slututvecklarens jobb enklare.

    Kan användare helt enkelt använda Eclipse-källkoden och förlita sig på communitymedlemmar för stöd utan adekvat avkastning?

    Potentiellt ja, men förr eller senare kommer förmågan att interagera att ge mer värde för slutanvändaren än att använda den på egen hand kan ge. Oberoende isolerade utvecklare kommer gradvis att försvinna i glömska.

    Vad händer om konkurrenter försöker "stjäla" en produkt med öppen källkod för sina egna syften?

    Ett sådant försök är möjligt, men samhället skyddas av Common Public License. Officiella versioner av Eclipse-plattformen kommer att fortsätta att släppas i framtiden. Licensen är uppbyggd så att ingen leverantör ska kunna dra olagligt nytta av användningen av produkten. Genom att arbeta tillsammans på Eclipse-projektet vill vi hjälpa till att uppnå en meningsfull lika villkor för verktygsutvecklare.

    Var kan jag hitta information om att integrera verktyg i Eclipse-tekniken?

    Det finns flera tekniska beskrivningar på webbplatsen http://www.eclipse.org.

    Hur fungerar Eclipse-plattformen och vilka funktioner erbjuder den?

    Eclipse-plattformen byggdes på följande principer:

    • Underlätta sömlös integration av interna verktyg såväl som mellan olika typer innehålls- och verktygsleverantörer.
    • Stöd för att skapa en mängd olika verktyg.
    • Stöder ett obegränsat antal verktygsleverantörer, inklusive oberoende mjukvaruleverantörer (ISV).
    • Stöder verktyg för att arbeta med alla format (inklusive HTML, Java, C, JSP, EJB, XML och GIF).
    • Stöder applikationsutvecklingsmiljöer med och utan grafiskt användargränssnitt (GUI).
    • Körs på ett brett utbud av operativsystem, inklusive Windows och Linux.
    • Utnyttja Java-språkets popularitet för att skriva verktyg.
  • Kommer IBM att släppa Eclipse-plattformens källkod till det öppna samhället? När kommer detta att hända?

    Ja, källkoden är tillgänglig nu under Common Public License. Mycket snart kommer IBM att överföra Eclipse till en interimsstyrelse som kommer att övervaka Eclipse-plattformen.

    Vem sitter i den interimistiska styrelsen?

    Interimsfullmäktige meddelas senare.

    Jag vill gå med i gemenskapen. Hur man gör det?

    Besök www.eclipse.org.

    Hur blir man en fullmäktigeledamot?

    Samarbeta, bidra, assistera: erbjuda kod, idéer, produkter, buggfixar, utbyta kunskap och erfarenheter.

    Hur stöds Eclipse-plattformen?

    Stöd ges via forumet och e-post på frivillig basis, med hjälp av resurser som erkänns av samhället. detaljerad information finns på www.eclipse.org

    Finns det 24/7 support?

    På vilken grund väljs den interimistiska styrelsen?

    Med begränsad personal kan Eclipse-teamet endast interagera med de få utvalda företag som valts ut för att bygga plattformen. Ledamöterna i den interimistiska styrelsen väljs ut från företag som har bidragit till utvecklingen av plattformen, för närvarande på prov. Det finns tre kriterier för urval: styrelseledamöter måste använda Eclipse i sitt företag; de måste också använda Eclipse för att skapa citat; de bör öppet stödja Eclipse.org.

    Varför dröjde du så länge med att släppa Eclipse-källkoden?

    När företagets planer för att leverera källkoden noggrant undersökts ville utvecklingsteamet säkerställa att den första plattformen var noggrant utvecklad och noggrant testad. Vi har testat flera alternativa byggkoncept, varav några redan finns på marknaden. Vi delade sedan dessa idéer med andra verktygsleverantörer och förbättrade dem. Eclipse-plattformen är nu redo för sin första release.

    När IBM släpper en teknik för gratis distribution, betyder det att IBM inte längre är engagerad i den tekniken?

    IBM har åtagit sig att anta Eclipse-plattformen och använda den som grund för IBM:s hela familj av end-to-end mjukvaruutvecklingsverktyg, som är WebSphere Studio-familjen. Dessa produkter drar nytta av integrerad kvalitetssäkring, legendarisk IBM-produktsupport och vårt engagemang för IBM-varumärket. De använder liknande gränssnitt och bygger på teknik som är gemensam för Eclipse-plattformen.

    Var kan jag hitta dokumentation och information om Eclipse?

    På www.eclipse.org.

    Hur skiljer sig Eclipse från .NET?

    .NET-teknik skapades exklusivt för användning på Microsofts plattformar genom sitt eget gränssnitt påtvingat av Microsoft. Utvecklare måste svara på ändringar i .NET. I en värld som kännetecknas av mer än "wintel"-teknik är .NET-plattformen en betydande olägenhet. End-to-end datorprojekt som behöver integrera servrar, arbetsstationer, inbäddade enheter och handdatorer körs på en mängd andra mycket mogna och avancerade runtime-miljöer. Detta leder till användningen av många kraftfulla processorarkitekturer och operativa plattformar som OS/390, Linux och QNX.

    Eclipse-plattformen är tillgänglig under en öppen offentlig licens med alla tydligt dokumenterade API:er och förlängningspunkter, så den tillåter verktygsutvecklare att stödja valfritt antal skrivbordsmiljöer, inklusive Microsoft-produkter.

    Hur jämför Eclipse med Sun Microsystems Open Source-initiativ?

    Eclipse-projektets vision är att skapa en "Apache för utvecklarverktyg." Det innebär att skapa en infrastruktur med öppen källkod som tillhandahåller många av de grundläggande tjänster som mjukvaruutvecklare behöver. Detta bör vara en "verktygslåda för att utveckla verktygssatser". Mer än bara en samling API:er kommer Eclipse-ramverket att bestå av faktisk kod skriven för att göra riktigt arbete.

    Som Erich Gamma säger: "Allt i Eclipse är ett plugin. Java IDE har ingen speciell status, det är bara ytterligare en uppsättning plugins som visar plattformens lättintegrerade utbyggbarhet. Genom att göra Eclipse-plattformen till öppen källkod kan verktygsskapare göra samma "och inte bara för att skapa nya plugins, utan också för att hjälpa till att förbättra befintliga. Som ett resultat har stora företag och företagsrepresentanter lika villkor för att integrera verktyg."

    Vilka är skillnaderna mellan WebSphere Studio Workbench och Eclipse-plattformen?

    WebSphere Studio Workbench använder Eclipse som grund för att tillhandahålla produktintegrationer som stödjer mjukvaruplattform WebSphere. WebSphere Studio Workbench är ett exempel på att använda Eclipse-teknik från Eclipse-plattformen.

    Eclipse är en verktygsintegrationsplattform med öppen källkod tillgänglig för användning i alla arbetsmiljöer.

    De skiljer sig åt på fyra huvudsakliga sätt:

    1. Stöd

      Stöd för Eclipse-plattformen tillhandahålls genom Eclipse.org-konsortiet, medan stöd för WebSphere tillhandahålls genom IBMs standardstödstruktur (PartnerWorld).

      Licensiering

      Eclipse-plattformen är tillgänglig under Common Public License, medan WebSphere Studio Workbench är tillgänglig under IBM PartnerWorld License.

      Biprodukter/Källkodsändringar

      Eclipse-plattformen låter verktygsutvecklare utforska nya gränser, rikta in sig på nya plattformar och OS genom att utöka och ändra kod som härrör från Eclipse-projektet. WebSphere Studio Workbench måste integreras och distribueras som ursprungligen levererats av IBM.

      Branding

      Eclipse-tekniken är inte centralt märkt. Hur komponent varumärke, kan det antas av communitymedlemmar när de släpper kompatibla produkter. WebSphere Studio Workbench inkluderar sitt eget individuella varumärke, partnerprogram och supporterbjudanden.

  • När ska du välja Eclipse och när ska du välja WebSphere Studio Workbench?

    För att hjälpa verktygstillverkare att välja vilken teknik de ska använda behöver de svara på några enkla frågor:

    Bestäm verktygets arbetsmiljö som stöds:

    • Om det bara är WebSphere bör du välja WebSphere Studio Workbench.
    • Andra miljöer eller tillägg för framtida teknologier? Du bör välja Eclipse-plattformen.
    • Båda miljöerna. Valet bör göras efter att ha bedömt omfattningen av samarbetet mellan IBM och IBMs partnerprogram.
  • Kommer du att behålla hela erbjudandet, både Eclipse-koden och din egen?

    • Om inte, är WebSphere Studio Workbench mer lämplig för dig.
  • Tillhandahåller ni verktyg för plattformar som inte stöds av IBM?

    • Om ja, bör du välja Eclipse-plattformen.
    • Om inte, bör valet göras utifrån de två föregående kriterierna.
  • Vill du ha officiellt stöd och deltagande tillgängligt affiliate-program IBM.

    • Om ja, bör du välja WebSphere Studio Workbench.
    • Om inte, bör du välja Eclipse-plattformen.

IT-tekniker står inte stilla, de utvecklas varje dag. Nya programmeringsspråk skapas som gör att vi kan använda alla de möjligheter som en dator ger oss. Ett av de mest flexibla, kraftfulla och intressanta språken är Java. För att arbeta med Java behöver du ha en mjukvaruutvecklingsmiljö. Vi ska titta på Eclipse.

Eclipse är en utbyggbar integrerad utvecklingsmiljö som är fritt tillgänglig. Det är Eclipse som är den främsta utmanaren och frågan är: "Vilken är bättre?" är fortfarande öppen. Eclipse är en kraftfull IDE som används av många Java- och Android-utvecklare för att skriva olika applikationer för alla operativsystem.

Uppmärksamhet!
Eclipse kräver många ytterligare filer, senaste versionerna som du kan ladda ner från den officiella Java-webbplatsen. Utan dem kommer Eclipse inte ens att starta installationen.

Naturligtvis är Eclipse designad för att skriva program. Efter att ha skapat projektet kan du ange programkoden i textredigeraren. Om fel uppstår kommer kompilatorn att utfärda en varning, markera raden där felet gjordes och förklara orsaken. Men kompilatorn kommer inte att kunna upptäcka logiska fel, det vill säga villkorsfel (felaktiga formler, beräkningar).