180 likes | 416 Views
Eclipse – zintegrowane środowisko programistyczne. Szymon Bohdanowicz. Czym jest IDE?. IDE – integrated development environment czyli zintegrowane środowisko programistyczne (projektowe). Przykłady: MS Visual Studia Netbeans InteliJ Emacs Zend Studio. Główne funkcje IDE.
E N D
Eclipse – zintegrowane środowisko programistyczne Szymon Bohdanowicz
Czym jest IDE? • IDE – integrated development environment czyli zintegrowane środowisko programistyczne (projektowe). • Przykłady: • MS Visual Studia • Netbeans • InteliJ • Emacs • Zend Studio
Główne funkcje IDE • Wspomaganie procesów tworzenia, edycji, modyfikowania, refaktoringu, generacji dla kodu(w dowolnym języku). • Kompilacja i walidacja kodu. • Pomoc w zarządzaniu dodatkowymi zasobami – bazy danych, repozytoria kodu, serwery aplikacyjne. • I wiele, wiele innych… na przykładzie eclipse’a.
Eclipse – Java IDE • Pod koniec lat 90 z inicjatywy IBM powstaje EclipseFoundation– patron Eclipse IDE. • EclipseFoundation jest niezależnym bytem, utrzymywanym przez szereg firm IT (http://www.eclipse.org/org/foundation/directors.php) • Kod Eclipsa jest upubliczniony(opensource). • Eclipse oferuje szereg wersji swojej platformy(JavaSE, JavaEE…) • Aktualna wersja to Eclipse Helios(zbliża się Indygo).
Główna siła platformy czyli wtyczki • Eclipse jest platformą wzbogacaną za pomocą wtyczek – pluginów. • Wtyczka lub zestaw wtyczek jest odpowiedzialny za realizację określonej funkcjonalności. • Wtyczkę może napisać każdy, nawet ja - mój projekt magisterski. • http://www.eclipseplugincentral.com/
SWT rozwiązanie dedykowane RichClientPlaform • Standardowa biblioteka graficzna Javy to Swing – brzydka, toporna, wadliwa, wolna. • SWT – jest atrakcyjniejsza, szybsza, bardziej elastyczna. • SWT – ma jednak też swoje wady: • GarbageCollector nie zwalania nieużywanych okienek. • SWT nie podtrzymuje AWT(nie można skorzystać z Java2D)
Inny wymiar pracy z kodem • Podpowiadanie składni – wyświetlenie dostępnych dla obiektu/klasy pól i metod. • Generacja bloków kodu na podstawie pierwszych liter instrukcji – magiczna kombinacja ctrl+spacja. • Automatyczne importowanie bibliotek. • Skróty klawiszowe(np. komentowanie bloków kodu)
Inny wymiar pracy z kodem • Refactoring – propagacja zmian w całym repozytorium. • Ctrl + 1 – sugerowana pomoc. • F3 – przeskakiwanie do deklaracji pola, klasy, metody. • Automatyczne formatowanie kodu. • Automatyczna kompilacja i walidacja.
Ustawienia – ustawić można w zasadzie wszystko. • Wygląd aplikacji – czcionki, kolory itd. • Działanie kompilatora, walidatora. • Definicja skrótów klawiszowych. • Sposób funkcjonowania pojedynczych wtyczek. • Ustawienia uruchomieniowe (początkowe parametry, dane przekazane do aplikacji). • Ustawienia projektu(tzw. buildPath, struktura wygenerowanej aplikacji itp.).
Edytory • Edytory służą do manipulacji treścią dokumentów, strona z kodem. • Oprócz wspomnianych funkcjonalności wspomagających pisanie treści programu edytory potrafią zaoferować całkowicie inne spojrzenie na dokument. • Przykład drzewkowy XML, WYSIWYG (np. flashbuilder), edycja zależności w mavenie.
Wizardy • Kreatory projektów - umożliwiają generację początkowej struktury projektu na podstawie gotowych szablonów – ekrany kreatora pozwalają na ogół na wstępne skonfigurowanie całego projektu. • Wizardy mogą również służyć do generacji różnego rodzaju artefaktów – usługi sieciowe i ich klienci, strony jsp, beany itd. • Kreatory importu – dają możliwość wciągnięcia do workspace’a gotowych, zewnętrznych projektów.
Widoki i perspektywy • Eclipse pozwala na pełną konfigurację środowiska pracy – służą do tego widoki(view), które mogą być wyświetlone i rozlokowane na ekranie. • Gotowe zbiory widoków ułożonych widoków to perspektywy(perspective). • Często wtyczki wiążą się z dodaniem do aplikacji nowych widoków lub całych perspektyw.
Współpraca z repozytoriami kodu • Możliwość podłączenia się za pomocą wtyczek do repozytoriów kodu typu SVN, CVS, GitHub, Mercurial itp. • Wygodna praca przy synchronizacji kodu, dodawaniu i pobieraniu zmian. • Możliwość zarządzania strukturą repozytorium za pomocą gałęzi, wersji itp.
Zarządzanie serwerami • Eclipse pozwala na zainstalowanie większości dostępnych serwerów aplikacyjnych(tomcat, jboss, glassfish, geronimo itd.) • Po zainstalowaniu serwera na platformie można go skonfigurować, kontrolować jego pracę. • Duża część funkcjonalności oferowanej przez serwery aplikacyjne przeniesiona jest na poziom eclipse’a– hot deploy, generacja klas klienckich webservice’ów, obsługa jsf.
Help • Rozbudowana pomoc. • Umożliwia szybkie i łatwe dodawania wtyczek. • Tips and tricks. Wyszukiwanie • Bardzo pomocne, pełne wyszukiwanie. • Odnajdywanie referencji i deklaracji. • Cała masa ustawień zaawansowanych.
Dodatkowe funkcje • Tester web-service’ów i narzędzie do zarządzania UDDI • Debugger • Przeglądarka w oknie Eclipse’a • Silne wsparcie do tworzenia wtyczek • Wsparcie testowania technologią JUnit
Wady • Potrafi zamulić, powiesić się – nad optymalizacją można by popracować. • OpenSource – nie jest to projekt komercyjny więc nie ma klasycznego wsparcia. • Bogactwo przeraża. • Niektóre wtyczki są kiepskiej jakości – psują całe środowisko.