Eclipse (oprogramowanie) - Eclipse (software)

Z Wikipedii, wolnej encyklopedii

Zaćmienie
Eclipse-Luna-Logo.svg
Eclipse 4.12 screenshot.png
Ekran powitalny Eclipse 4.12
Pierwotni autorzy IBM
Deweloper (y) Fundacja Eclipse
Pierwsze wydanie 1.0 / 7 listopada 2001 ; 19 lat temu  ( 2001-11-07 )
Wersja stabilna
4.19  Edytuj to w Wikidanych / 17 marca 2021 (35 dni temu)
Wersja zapoznawcza
4.20 (wydanie 2021-06)
Magazyn Edytuj to w Wikidata
Napisane w Java i C
System operacyjny Linux , macOS , Windows
Platforma Java SE , Standard Widget Toolkit , x86-64
Dostępne w 44 języki
Lista języków
Albański, arabski, baskijski, bułgarski, kataloński, chiński (uproszczony, tradycyjny), czeski, duński, holenderski, angielski (Australia, Kanada), estoński, fiński, francuski, niemiecki, grecki, hebrajski, hindi, węgierski, indonezyjski, włoski, Japoński, klingoński, koreański, kurdyjski, litewski, malajalam, mongolski, birmański, nepalski, norweski, perski, polski, portugalski (Portugalia, Brazylia), rumuński, rosyjski, serbski, słowacki, słoweński, hiszpański, szwedzki, tajski, turecki, ukraiński , Wietnamski
Rodzaj Narzędzie programistyczne , zintegrowane środowisko programistyczne (IDE)
Licencja Licencja publiczna Eclipse
Stronie internetowej www .eclipse .org  Edytuj to w Wikidanych

Eclipse to zintegrowane środowisko programistyczne (IDE) używane w programowaniu komputerowym . Zawiera podstawowy obszar roboczy i rozszerzalny system wtyczek do dostosowywania środowiska. Eclipse jest napisane głównie w Javie, a jego głównym zastosowaniem jest tworzenie aplikacji Java, ale może być również używane do tworzenia aplikacji w innych językach programowania za pośrednictwem wtyczek, w tym Ada , ABAP , C , C ++ , C # , Clojure , COBOL , D , Erlang , Fortran , Groovy , Haskell , JavaScript , Julia , Lasso , Lua , NATURAL , Perl , PHP , Prolog , Python , R , Ruby (w tym framework Ruby on Rails ), Rust , Scala i Scheme . Może być również używany do tworzenia dokumentów za pomocą LaTeX (poprzez wtyczkę TeXlipse) i pakietów oprogramowania Mathematica . Środowiska programistyczne obejmują między innymi narzędzia programistyczne Eclipse Java (JDT) dla języków Java i Scala, Eclipse CDT dla C / C ++ i Eclipse PDT dla PHP.

Początkowa podstawa kodu pochodzi z IBM VisualAge . Zestaw narzędzi programistycznych Eclipse (SDK), który zawiera narzędzia programistyczne Java, jest przeznaczony dla programistów Java. Użytkownicy mogą rozszerzyć jego możliwości, instalując wtyczki napisane dla Platformy Eclipse, takie jak zestawy narzędzi programistycznych dla innych języków programowania, a także mogą pisać i wnosić własne moduły wtyczek. Od czasu wprowadzenia implementacji OSGi ( Equinox ) w wersji 3 Eclipse, wtyczki można podłączać i zatrzymywać dynamicznie i nazywane są one pakietami (OSGI).

Zestaw do tworzenia oprogramowania Eclipse (SDK) jest darmowym oprogramowaniem o otwartym kodzie źródłowym , wydanym na warunkach Licencji Publicznej Eclipse , chociaż jest niezgodny z Powszechną Licencją Publiczną GNU . Było to jedno z pierwszych IDE działających pod kontrolą GNU Classpath i działa bez problemów pod IcedTea .

Historia

Eclipse został zainspirowany rodziną produktów VisualAge opartą na Smalltalk , obejmującą zintegrowane środowisko programistyczne (IDE). Chociaż całkiem udany, główną wadą produktów VisualAge było to, że opracowany kod nie był oparty na komponentowym modelu inżynierii oprogramowania . Zamiast tego cały kod projektu był przechowywany w skompresowanej bryle (trochę jak plik zip, ale w zastrzeżonym formacie o nazwie .dat). Poszczególne zajęcia nie były łatwo dostępne, a już na pewno nie poza narzędziem. Zespół pracujący głównie w laboratorium IBM Cary NC opracował nowy produkt jako zamiennik oparty na języku Java. W listopadzie 2001 r. Utworzono konsorcjum z zarządem stewardów w celu dalszego rozwoju Eclipse jako oprogramowania o otwartym kodzie źródłowym . Szacuje się, że do tego czasu IBM zainwestował już prawie 40 milionów dolarów. Pierwotnymi członkami byli Borland , IBM , Merant , QNX Software Systems , Rational Software , Red Hat , SuSE , TogetherSoft i WebGain . Do końca 2003 roku liczba stewardów wzrosła do ponad 80. W styczniu 2004 roku powstała Fundacja Eclipse .

Eclipse 3.0 (wydany 21 czerwca 2004 r.) Wybrał specyfikacje platformy usługowej OSGi jako architekturę środowiska wykonawczego.

Association for Computing Machinery uznane Eclipse z 2011 ACM Software Systems nagrody w dniu 26 kwietnia 2012 roku.

Koncesjonowanie

Licencji Eclipse Public (EPL) jest podstawowym licencji w ramach których projekty Eclipse są uwalniane. Niektóre projekty wymagają podwójnej licencji, dla której dostępna jest licencja Eclipse Distribution License (EDL), chociaż o korzystanie z tej licencji należy się ubiegać i jest ona rozpatrywana indywidualnie.

Eclipse został pierwotnie wydany na podstawie licencji Common Public License , ale później został ponownie udzielony na podstawie licencji Eclipse Public License. Free Software Foundation powiedział, że obie licencje są wolne oprogramowanie licencji, ale są niezgodne z GNU General Public License (GPL).

Nazwa

Według Lee Nackmana, dyrektora ds. Technologii działu IBM Rational (pochodzącego z 2003 r.) W tamtym czasie, nazwa „Eclipse” (co najmniej od 2001 r.) Nie była grą słowną w Sun Microsystems , ponieważ była to główna konkurencja produktu w czasie nazwano Microsoft Visual Studio , a Eclipse miało zaćmienie.

Różne wersje Eclipse otrzymały różne nazwy związane z nauką. Wersje nazwane na cześć Kallisto , Europy i Ganimedesa , które są księżycami Jowisza , zostały zastąpione wersją nazwaną na cześć Galileusza , odkrywcy tych księżyców. Po nich pojawiły się dwie nazwy o tematyce słońca, Helios z mitologii greckiej i Indygo , jeden z siedmiu kolorów tęczy (wytwarzanej przez słońce). Następna wersja, Juno, ma potrójne znaczenie: rzymska postać mitologiczna , asteroida i statek kosmiczny do Jowisza . Kepler , Luna i Mars kontynuowali temat astronomiczny, a następnie Neon i Oxygen stanowiły temat pierwiastków chemicznych . Photon reprezentował powrót do nazw o tematyce słońca. Od 2018 roku zrezygnowano ze schematu alfabetycznego i zamiast tego wydania są nazywane w formacie RRRR-MM.

Począwszy od wersji 4.9, projekt zdecydował się porzucić tę konwencję nazewnictwa, aby lepiej dostosować się do nowej strategii jednoczesnego wydania i przyjąć konwencję nazewnictwa opartą na datach, aby odzwierciedlić kwartalne wydania.

Wydania

Od 2006 roku Fundacja koordynuje coroczne wydanie symultaniczne . Każde wydanie zawiera platformę Eclipse i kilka innych projektów Eclipse.

Od 2008 do 2018 roku każde jednoczesne wydanie miało miejsce w czwartą środę czerwca. W 2018 roku projekt przeszedł na kwartalne (13 tygodni) wydania RRRR-MM bez pośrednich wersji usług.

Nazwa wersji Data Wersja platformy Projektowanie Główne zmiany
Nie dotyczy 21 czerwca 2004 Stara wersja, nie jest już obsługiwana: 3.0
Nie dotyczy 28 czerwca 2005 Stara wersja, nie jest już obsługiwana: 3.1 Dodano obsługę Java 5 : typy ogólne, adnotacje, boxing-unboxing, wyliczenia, ulepszone dla pętli, varargs, import statyczny
Callisto 30 czerwca 2006 Stara wersja, nie jest już obsługiwana: 3.2 Projekty Callisto
Europa 29 czerwca 2007 Stara wersja, nie jest już obsługiwana: 3.3 Projekty Europa
Ganimedes 25 czerwca 2008 Stara wersja, nie jest już obsługiwana: 3.4 Projekty Ganimedesa
Galileo 24 czerwca 2009 Stara wersja, nie jest już obsługiwana: 3.5 Projekty Galileo
Helios 23 czerwca 2010 Stara wersja, nie jest już obsługiwana: 3.6 Projekty Helios
Indygo 22 czerwca 2011 Stara wersja, nie jest już obsługiwana: 3.7 Projekty Indigo Dodano obsługę języka Java 7 (3.7.1 sr1): Ulepszone wnioskowanie o typie dla tworzenia instancji ogólnej (diament), wielokrotne przechwytywanie, instrukcja try-with-resources, uproszczone wywołanie metody Varargs, ciągi znaków w przełączniku, literały binarne i podkreślenia w literałach numerycznych, Metody polimorficzne
Juno 27 czerwca 2012 Stara wersja, nie jest już obsługiwana: 3.8 i 4.2

Projekty Juno
Kepler 26 czerwca 2013 Stara wersja, nie jest już obsługiwana: 4.3 Projekty Keplera
Luna 25 czerwca 2014 Stara wersja, nie jest już obsługiwana: 4.4 Projekty Luna Zintegrowana obsługa Java 8 ; w poprzedniej wersji było to możliwe dzięki wtyczce poprawiającej Java 8 .
Mars 24 czerwca 2015 r Stara wersja, nie jest już obsługiwana: 4.5 Projekty na Marsie
Neon 22 czerwca 2016 r Stara wersja, nie jest już obsługiwana: 4.6 Neonowe projekty
Tlen 28 czerwca 2017 r Stara wersja, nie jest już obsługiwana: 4.7 Projekty tlenowe Oxygen.1a wprowadził obsługę Java 9 i Junit 5, a Oxygen.3a wprowadził obsługę Java 10.

Usunięto obsługę następujących platform opartych na systemie Unix: AIX, Solaris, HP-UX i s390.

Foton 27 czerwca 2018 r Stara wersja, nie jest już obsługiwana: 4.8 Projekty Photon Usunięto obsługę 32-bitowych systemów Windows i Linux.
2018-09 19 września 2018 r Stara wersja, nie jest już obsługiwana: 4.9 Projekty 2018-09
2018-12 19 grudnia 2018 r Stara wersja, nie jest już obsługiwana: 4.10 Projekty 2018-12 Dodano obsługę języka Java 11.
2019-03 20 marca 2019 roku Stara wersja, nie jest już obsługiwana: 4.11 Projekty 2019-03
2019-06 19 czerwca 2019 roku Stara wersja, nie jest już obsługiwana: 4.12 Projekty 2019-06
2019-09 18 września 2019 roku Stara wersja, nie jest już obsługiwana: 4.13 Projekty 2019-09
2019-12 18 grudnia 2019 roku Stara wersja, nie jest już obsługiwana: 4.14 Projekty 2019-12
2020-03 18 marca 2020 roku Stara wersja, nie jest już obsługiwana: 4.15 Projekty 2020-03
2020-06 17 czerwca 2020 r Stara wersja, nie jest już obsługiwana: 4.16 Projekty 2020-06
2020-09 16 września 2020 r Stara wersja, nie jest już obsługiwana: 4.17 Projekty 2020-09 Wymaga JDK 11 do uruchomienia.
2020-12 16 grudnia 2020 r Stara wersja, nie jest już obsługiwana: 4.18 Projekty 2020-12
2021-03 17 marca 2021 r Aktualna stabilna wersja: 4.19 Projekty 2021-03
2021-06 16 czerwca 2021 r Przyszłe wydanie: 4.20 Projekty 2021-06
Legenda:
Stara wersja
Starsza wersja, nadal utrzymywana
Ostatnia wersja
Najnowsza wersja poglądowa
Przyszłe wydanie
  1. ^ Jest wydanie 3.8 Eclipse Juno; nie jest promowany na głównej stronie pobierania, ale pakiet dystrybucyjny jest dostępny do pobrania. Eclipse 3.8 dostarcza poprawki błędów dla Indigo i dodaje obsługę Java 7, a jego utrzymanie było podwójnie strumieniowane z 4.2. Funkcje i wtyczki odpowiadające dystrybucji pakietowej można dodawać z poziomu środowiska IDE.

Architektura

Eclipse używa wtyczek, aby zapewnić pełną funkcjonalność w systemie wykonawczym i poza nim. Jego system wykonawczy jest oparty na Equinox , implementacji podstawowej specyfikacji ramowej OSGi .

Oprócz umożliwienia rozszerzenia Platformy Eclipse przy użyciu innych języków programowania , takich jak C i Python , platforma wtyczek umożliwia platformie Eclipse współpracę z językami składu, takimi jak LaTeX, oraz aplikacjami sieciowymi, takimi jak telnet i systemy zarządzania bazami danych . Architektura wtyczek obsługuje pisanie dowolnych żądanych rozszerzeń do środowiska, takich jak zarządzanie konfiguracją . Obsługa Java i CVS jest dostarczana w Eclipse SDK , a obsługa innych systemów kontroli wersji jest zapewniana przez wtyczki innych firm .

Z wyjątkiem małego jądra uruchomieniowego, wszystko w Eclipse jest wtyczką. Dlatego każda opracowana wtyczka integruje się z Eclipse w taki sam sposób, jak inne wtyczki; pod tym względem wszystkie cechy są „stworzone równo”. Eclipse zapewnia wtyczki dla szerokiej gamy funkcji, z których niektóre pochodzą od stron trzecich, korzystających zarówno z modeli bezpłatnych, jak i komercyjnych. Przykłady wtyczek obejmują Unified Modeling Language (UML), sekwencję i inne diagramy UML, wtyczkę do DB Explorer i wiele innych.

Eclipse SDK zawiera narzędzia programistyczne Eclipse Java (JDT), oferujące środowisko IDE z wbudowanym kompilatorem przyrostowym Java i pełnym modelem plików źródłowych Java. Pozwala to na zaawansowane techniki refaktoryzacji i analizę kodu. IDE wykorzystuje również obszar roboczy , w tym przypadku zestaw metadanych w płaskim obszarze plików, umożliwiający modyfikacje plików zewnętrznych, o ile odpowiedni zasób obszaru roboczego jest później odświeżany.

Eclipse implementuje graficzne elementy sterujące zestawu narzędzi Java o nazwie Standard Widget Toolkit (SWT), podczas gdy większość aplikacji Java korzysta ze standardu Java Abstract Window Toolkit (AWT) lub Swing . Interfejs użytkownika Eclipse wykorzystuje również pośrednią warstwę graficznego interfejsu użytkownika o nazwie JFace , która upraszcza tworzenie aplikacji opartych na SWT. Eclipse zostało stworzone do działania w Wayland podczas projektu Google Summer of Code (GSoC) w 2014 roku.

Od 2017 r. Pakiety językowe opracowywane w ramach projektu Babel zapewniają tłumaczenia na ponad 40 języków naturalnych .

Bogata platforma kliencka

Eclipse zapewnia bogatą platformę klienta (RCP) do tworzenia aplikacji ogólnego przeznaczenia.

Bogatą platformę kliencką tworzą następujące komponenty:

Przykłady bogatych aplikacji klienckich opartych na Eclipse to:

Platforma serwerowa

Eclipse obsługuje programowanie dla Tomcat , GlassFish i wielu innych serwerów i często jest w stanie zainstalować wymagany serwer (do programowania) bezpośrednio z IDE. Obsługuje zdalne debugowanie, umożliwiając użytkownikowi obserwowanie zmiennych i przechodzenie przez kod aplikacji uruchomionej na dołączonym serwerze.

Platforma narzędzi internetowych

Projekt Eclipse Web Tools Platform (WTP) jest rozszerzeniem platformy Eclipse o narzędzia do tworzenia aplikacji internetowych i Java EE. Zawiera edytory źródłowe i graficzne dla różnych języków, kreatory i wbudowane aplikacje upraszczające programowanie, a także narzędzia i interfejsy API wspierające wdrażanie, uruchamianie i testowanie aplikacji.

Platforma do modelowania

Projekt Modeling zawiera wszystkie oficjalne projekty Fundacji Eclipse skupiające się na technologiach programistycznych opartych na modelach. Wszystkie są kompatybilne z Eclipse Modeling Framework stworzonym przez IBM. Projekty te są podzielone na kilka kategorii: Transformacja modelu, Narzędzia do opracowywania modeli, Rozwój składni konkretnej, Rozwój składni abstrakcyjnej, Technologia i badania oraz Amalgamat.

Projekty transformacji modelu wykorzystują modele oparte na platformie Eclipse Modeling Framework (EMF) jako dane wejściowe i generują model lub tekst jako dane wyjściowe. Projekty transformacji modelu do modelu obejmują język transformacji ATLAS (ATL), język transformacji typu open source oraz zestaw narzędzi służący do przekształcania danego modelu lub generowania nowego modelu z danego modelu EMF. Projekty transformacji modelu na tekst zawierają Acceleo , implementację MOFM2T , standardowego modelu języka tekstowego firmy Object Management Group (OMG). Generator kodu Acceleo może generować dowolny język tekstowy (Java, PHP, Python itp.) Z modeli opartych na EMF zdefiniowanych za pomocą dowolnego metamodelu ( Unified Modeling Language (UML), Systems Modeling Language (SysML) itp.). Jest to oprogramowanie typu open source.

Projekty Model Development Tools to implementacje różnych standardów modelowania stosowanych w branży oraz ich zestawów narzędzi. Wśród tych projektów można znaleźć wdrożenia kilku standardów:

Projekt Concrete Syntax Development zawiera Graphical Modeling Framework, oparty na Eclipse framework przeznaczony do graficznej reprezentacji modeli opartych na EMF.

Projekt Abstract Syntax Development obejmuje Eclipse Modeling Framework, rdzeń większości projektów modelowania Fundacji Eclipse oraz ramy dostępne dla EMF, takie jak Connected Data Objects (CDO), zapytanie EMF lub walidacja EMF.

Projekty technologiczne i badawcze są prototypami projektu modelowania; ten projekt jest używany do obsługi wszystkich projektów modelowania Fundacji Eclipse podczas ich fazy inkubacji.

Amalgam zapewnia pakowanie i integrację wszystkich dostępnych narzędzi do modelowania dla pakietu Eclipse dedykowanego narzędziom do modelowania.

Zarządzanie cyklem życia aplikacji

Application Lifecycle Management (ALM) i zarządzania zadaniami w Eclipse trzeba opcjonalny składnik o nazwie Mylyn ( / m l ɪ n / ), jak open source realizacji interfejsu zadaniowego skupiony . Udostępnia interfejs API dla narzędzi osadzających interfejs zadaniowy. Programistom pomaga programistom wydajnie pracować z wieloma różnymi zadaniami (takimi jak błędy, raporty o problemach lub nowe funkcje). Zadania są zintegrowane z Mylyn. W przypadku wszystkich zadań, które zostały zintegrowane, Mylyn monitoruje aktywność użytkowników i próbuje zidentyfikować informacje istotne dla wykonywanego zadania. Używa tego kontekstu zadania, aby skoncentrować interfejs użytkownika Eclipse na powiązanych informacjach. Mylyn może integrować się z repozytoriami, takimi jak Bugzilla , Trac , Redmine , Mantis , JIRA , Unfuddle i GitHub . Koncentruje się na poprawie produktywności poprzez ograniczenie wyszukiwania, przewijania i nawigacji. Poprzez wyraźne przedstawienie kontekstu zadania Mylyn ma również ułatwić wielozadaniowość, planowanie, ponowne wykorzystanie wcześniejszych wysiłków i dzielenie się wiedzą.

Nazwa projektu pochodzi od mieliny , warstwy elektroizolacyjnej, która otacza aksony neuronów. Oryginalna nazwa tego projektu, „Mylar”, była repliką znaku towarowego firmy filmowej boPET , więc Fundacja Eclipse zmieniła nazwę projektu.

Rozszerzenia

Eclipse obsługuje bogaty wybór rozszerzeń, dodając obsługę języka Python przez PyDev , programowanie na Androida za pośrednictwem ADT Google (zastąpione przez Android_Studio od 2015 r.), JavaFX przez e (fx) clipse, JavaScript , jQuery i wiele innych w Eclipse Marketplace. Valable to wtyczka Vala dla Eclipse.

Dystrybucje alternatywne

W projekcie Eclipse istnieje kilka alternatywnych dystrybucji.

Narzędzia programistyczne PHP

Projekt narzędzi programistycznych PHP Hypertext Preprocessor (PHP) zapewnia strukturę dla platformy Eclipse. Projekt obejmuje wszystkie komponenty programistyczne, w tym uzupełnianie kodu, tworzenie PHP i ułatwianie rozszerzalności. Wykorzystuje istniejącą platformę Eclipse Web Tools Platform (WTP) i Dynamic Languages ​​Toolkit (DLTK).

Narzędzia programistyczne dla systemu Android

Android Development Tools (ADT) został zastąpiony w 2015 r. Przez własną wtyczkę fundacji Eclipse, zwaną Andmore: Development Tools for Android , po tym, jak Google zaprzestało opracowywania ich wtyczki dla Eclipse IDE, która ma zapewnić zintegrowane środowisko, w którym można tworzyć aplikacje na Androida. ADT / Andmore rozszerza możliwości Eclipse, aby umożliwić programistom konfigurowanie nowych projektów Androida, tworzenie interfejsu użytkownika aplikacji, dodawanie pakietów opartych na Android Framework API, debugowanie ich aplikacji za pomocą narzędzi Android SDK i eksportowanie podpisanych (lub niepodpisanych) plików .apk w celu rozpowszechniania ich aplikacji. Jest dostępny bezpłatnie do pobrania. Google ADT było oficjalnym IDE dla Androida do 2015 roku, ale zostało zastąpione przez Eclipse's Andmore i oficjalne Android Studio .

Zobacz też

Bibliografia

Źródła

Linki zewnętrzne