JavaRush /Blog Java /Random-PL /Eclipse, NetBeans czy IntelliJ IDEA? Wybór IDE do program...
Bender
Poziom 1
Маунтин-Вью

Eclipse, NetBeans czy IntelliJ IDEA? Wybór IDE do programowania w Javie

Opublikowano w grupie Random-PL
Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 1Przedstawiamy Państwu adaptację artykułu Martina Hellera, programisty i redaktora zasobu JavaWorld. Prawdopodobnie słyszałeś już o trzech najpopularniejszych środowiskach IDE do programowania w Javie. 90 procent programistów przemysłowych używa Eclipse, NetBeans lub IntelliJ IDEA, a każde z tych IDE ma swoje zalety i wady. W tym artykule postaramy się je opisać, abyś wiedział, który z nich jest dla Ciebie odpowiedni. Chociaż oczywiście lepiej wypróbować wszystkie trzy w pracy i dowiedzieć się, co będzie dla Ciebie najlepsze. Żadna recenzja tego nie zastąpi.

Co to jest środowisko programistyczne?

Bardzo krótka odpowiedź jest taka, że ​​środowisko programistyczne to program lub wiele programów, których używasz do tworzenia programów. Proces ten w rzeczywistości obejmuje pisanie kodu, debugowanie go, uruchamianie i integrację z systemami kontroli wersji. O ile wcześniej programiści często korzystali z prostego edytora tekstu (czasami nawet bez podświetlania składni), takiego jak Notatnik i wiersz poleceń, teraz najczęściej korzystają z procesorów typu „wszystko w jednym”, zintegrowanych środowisk programistycznych lub IDE.

Co to jest IDE?

Zintegrowane środowisko programistyczne lub w języku angielskim Zintegrowane środowisko programistyczne - IDE - to program zawierający narzędzia do tworzenia oprogramowania. Zazwyczaj nowoczesne środowisko programistyczne obejmuje:
  • Edytor tekstu z podświetlaniem kodu;
  • kompilator lub interpreter;
  • Przeglądarka klas, inspektor obiektów i diagram hierarchii klas;
  • narzędzia do automatyzacji montażu;
  • debuger;
  • narzędzia do integracji z systemami kontroli wersji (Git);
  • narzędzia upraszczające projektowanie graficznego interfejsu użytkownika.
Pracowałem już wcześniej z tymi środowiskami IDE, ale na potrzeby tego badania zainstalowałem IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE i NetBeans 8.1 Java EE na laptopie MacBook Pro. Przetestowałem IDE w kilku projektach Java typu open source.

Czego można się spodziewać po IDE

Nowoczesne IDE dla „zdrowego programisty Java” powinno obsługiwać Java 8, Scala, Groovy, a także inne języki maszyn wirtualnych Java, z których regularnie korzysta. Przydałaby się także obsługa głównych serwerów aplikacji oraz najpopularniejszych frameworków webowych, m.in. Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails czy Vaadin. IDE musi być kompatybilne z dowolnymi kompilacjami systemów kontroli wersji, takimi jak Ant, Maven lub Gradle, a także Git, SVN, CVS, Mercurial lub Bazaar. Dodatkowo dla środowiska programistycznego ważna jest możliwość pracy z bazami danych i warstwą klienta stosu, obsługa wbudowanego JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, a także Java Persistence API. Na koniec logiczna jest nadzieja, że ​​IDE umożliwi edycję, tworzenie, debugowanie i testowanie systemów bez niepotrzebnego stresu. W idealnym przypadku środowisko programistyczne obsługuje nie tylko inteligentne uzupełnianie kodu, ale także inteligentną refaktoryzację i metryki kodu. W wielu przypadkach przydatne będzie wsparcie frameworków i kodów testowych. Jeśli Twój zespół korzysta z systemu zgłoszeń i CI/CD, potrzebujesz IDE, aby móc się z nimi połączyć. Zdecyduj, czy potrzebujesz wdrożenia i debugowania w kontenerach i chmurach. Wymieniliśmy tylko podstawowe oczekiwania (być może masz coś do dodania), a teraz przyjrzyjmy się bliżej naszej konkurencji.

POMYSŁ IntelliJ

Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 2Pod względem funkcji i ceny IntelliJ IDEA jest dostępny w dwóch wersjach: bezpłatnej wersji Community i płatnej wersji Ultimate z rozszerzoną funkcjonalnością. Wersja społecznościowa jest przeznaczona do programowania JVM i Androida. Darmowa wersja obsługuje Java, Kotlin, Groovy i Scala; Android; Maven, Gradle i SBT; współpracuje z systemami kontroli wersji Git, SVN, Mercurial i CVS. Wersja Ultimate nadaje się do tworzenia stron internetowych i przedsiębiorstw. Ta wersja IDE współpracuje nie tylko z Git, SVN, Mercurial i CVS, ale także z Perforce, ClearCase i TFS; w nim możesz pisać w JavaScript i TypeScript; Oczywiście istnieje wsparcie dla Java EE, Spring, GWT, Vaadin, Play, Grails i wielu innych frameworków. No i oczywiście nie obyłoby się bez SQL i narzędzi do pracy z bazami danych. Ideą, która przyświeca twórcom tego IDE podczas tworzenia polityki cenowej, jest to, że jego komercyjna wersja (Ultimate) zajmie miejsce na komputerach profesjonalistów, dzięki czemu wzrośnie ich produktywność. Jeśli programista Java zarabia 50 tys. dolarów rocznie (lub nawet więcej), to zwrot z inwestycji wydanej na płatne IDE IntelliJ IDEA (500 dolarów za roczną subskrypcję) nastąpi bardzo szybko dzięki nawet niewielkiemu przyspieszeniu jego pracy. W kolejnych latach cena dla firm spada, dla startupów i freelancerów jest znacznie niższa, a dla studentów, nauczycieli, mistrzów Java i programistów open source jest całkowicie bezpłatna. IntelliJ IDEA imponuje głębokim zrozumieniem kodu, inteligentną ergonomią, wbudowanymi funkcjami programistycznymi i obsługą wielu języków. Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 3
Rysunek 1. IntelliJ IDEA pokazuje liczbę ostrzeżeń i domysłów na podstawie analizy statystycznej kodu Java. Możesz przestudiować założenia bardziej szczegółowo, klikając na nie, jak pokazano na obrazku; w wielu przypadkach otrzymasz listę z możliwością wyboru i możliwością korekty.

Głębokie zrozumienie kodu

Podświetlanie składni i proste uzupełnianie kodu to codzienność we wszystkich nowoczesnych edytorach Java. IDEA poszła dalej, oferując „inteligentne autouzupełnianie”. Termin ten oznacza, że ​​środowisko programistyczne przedstawia listę najbardziej odpowiednich symboli mających zastosowanie w danym kontekście. Lista symboli zależy nie tylko od kontekstu jako takiego, tego „ogólnie przyjętego”, ale od stylu programowania programisty, od tego, jak często używa on określonych operatorów. „Zakończenie łańcucha” pokazuje nawet listę odpowiednich symboli, które są dozwolone za pomocą metod lub modułów pobierających w bieżącym kontekście. Dodatkowo w przypadku elementów statycznych lub stałych IDEA automatycznie dodaje wszelkie niezbędne instrukcje importu. We wszystkich przypadkach autouzupełniania IDEA próbuje odgadnąć typ symbolu w czasie wykonywania, doprecyzować jego wybór, a nawet, jeśli to konieczne, zastosować rzutowanie typu. Kod Java często zawiera fragmenty z innych języków w postaci ciągów znaków. IDEA może wstrzyknąć kod SQL, XPath, HTML, CSS lub JavaScript do literałów ciągów Java. W tym sensie IDE może refaktoryzować kod w wielu językach. Na przykład, jeśli zmienisz nazwę klasy w mapowaniu JPA, IDEA zaktualizuje odpowiednią jednostkę JPA i klasę wyrażenia. Podczas refaktoryzacji fragmentu kodu programista ma jedno (całkiem naturalne) pragnienie: aby wszystkie duplikaty tego kodu również zostały poddane refaktoryzacji. IDEA Ultimate znajduje duplikaty i podobne fragmenty, a także stosuje do nich refaktoryzację. IntelliJ IDEA analizuje kod po załadowaniu i bezpośrednio po jego wprowadzeniu. Wskazuje podejrzane problemy (jak na powyższym obrazku) i opcjonalnie oferuje listę prawdopodobnych szybkich rozwiązań wykrytych problemów.

Ergonomia

Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 4IntelliJ IDEA zaprojektowano tak, aby nie wytrącać programisty ze stanu ciągłej produktywności, gdy już się w nim znajdzie. Okno Projektu, pokazane na pierwszym obrazku po lewej stronie, znika po jednym kliknięciu myszką, dzięki czemu programista może skupić się na oknie edytora kodu. Dla wszystkich akcji potrzebnych podczas pisania kodu dostępne są kombinacje klawiszy umożliwiające ich szybkie wywołanie, w tym zdefiniowanie symboli w wyskakujących okienkach. Na początku wszystkie te kombinacje są trudne do zapamiętania, ale stopniowo przyzwyczajasz się do nich i tylko z nich korzystasz. Jednak nawet jeśli programista nie korzysta ze skrótów klawiaturowych, jak pokazuje praktyka, łatwo i szybko przyzwyczaja się do pracy w IDEA. Chciałbym szczególnie zwrócić uwagę na debugger IDEA: wartości zmiennych wyświetlane są bezpośrednio w oknie edytora, obok odpowiedniego kodu źródłowego. Gdy zmienia się stan zmiennej, zmienia się także kolor podświetlenia.

Wbudowane narzędzia

IntelliJ IDEA zapewnia ujednolicony interfejs dla większości systemów kontroli wersji, w tym Git, SVN, Mercurial, CVS, Perforce i TFS. Możesz zarządzać zmianami bezpośrednio w IDE, co jest bardzo wygodne. Kiedy testowałem IDEA, chciałem, aby najnowsza zmiana w kodzie źródłowym pojawiła się w oknie edytora w formie adnotacji (tak jak to się dzieje na przykład w Visual Studio). Jak się okazuje, IDEA ma do tego specjalną wtyczkę. IDEA zawiera także narzędzia do kompilacji, środowisko testowe, narzędzia pokrycia i wbudowane okno terminala. IntelliJ nie ma własnego profilera, ale można do niego podłączyć programy innych firm za pomocą wtyczek. Na przykład YourKit, stworzony przez byłego głównego programistę JetBrains, lub VisualVM (który jest przepakowaną wersją profilera NetBeans). Debugowanie w Javie może być uciążliwe, gdy z klasami dzieją się różnego rodzaju tajemnicze rzeczy, dla których nie masz źródła. IDEA zawiera dekompilator dla takich przypadków. Programowanie po stronie serwera w Javie wymaga częstej interakcji z bazami danych, dlatego programiści IDEA Ultimate docenią wygodę narzędzi do pracy z SQL i bazami danych. Jeżeli jednak ich możliwości są dla kogoś niewystarczające, można zakupić wersję IDEA Ultimate z wbudowanym SQL IDE (DataGrip). Będzie jednak nieco droższy od zwykłego abonamentu IDEA Ultimate. IntelliJ IDEA obsługuje wszystkie główne serwery aplikacji JVM i umożliwia wdrażanie i debugowanie na tych serwerach, co eliminuje trudności znane wszystkim programistom Java Enterprise. IDEA obsługuje także Dockera (poprzez wtyczkę, która dodaje do środowiska programistycznego specjalne okno narzędzia Docker. Swoją drogą IDEA ma mnóstwo wtyczek.  

Prawdziwy poliglota

IDEA rozszerzyła obsługę kodu dla Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS i innych frameworków. Prawdopodobnie zauważyłeś, że nie wszystkie z nich są specyficzne dla języka Java. IDEA od razu „rozumie” inne języki – Groovy, Kotlin, Scala, JavaScript, TypeScript i SQL. Jeśli nie widzisz na tej liście języka, którego szukasz, obecnie dostępnych jest 19 wtyczek językowych IntelliJ, obsługujących w szczególności R, Elm i D.

Zaćmienie IDE

Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 5 Około 10 lat temu programista Java zapytany o najlepsze IDE odpowiedział śmiało: Eclipse. Przez wiele lat to środowisko programistyczne śmiało dominowało wśród IDE Java. To środowisko jest całkowicie darmowe, open source, napisane głównie w Javie. Jednak jego modułowa architektura pozwala na używanie Eclipse z innymi językami. Projekt Eclipse, zainicjowany przez IBM, pojawił się w 2001 roku. Chcieli zastąpić rodzinę środowisk programistycznych IBM Visual Age opartych na Smalltalk. Cóż, głównym celem, jak sama nazwa wskazuje, było przyćmienie Microsoft Visual Studio (eclipse po angielsku oznacza zaćmienie). Przenośność Javy sprawia, że ​​Eclipse jest środowiskiem wieloplatformowym: to IDE działa na systemach Linux, Mac OS X, Solaris i Windows. Na dobre i na złe, Java Standard Widget Toolkit (SWT) jest przynajmniej częściowo odpowiedzialny za wygląd i działanie Eclipse. Eclipse zawdzięcza swoje działanie (lub, jak twierdzą niektórzy życzliwi, jego brak) JVM. Eclipse działa dość wolno, ponieważ jest zakorzeniony w dość starym sprzęcie i starożytnych wersjach JVM. Nawet dzisiaj wydaje się powolny, zwłaszcza jeśli dołączysz do niego wiele wtyczek. Część obciążenia zasobów Eclipse można przypisać wbudowanemu kompilatorowi przyrostowemu, który działa przy każdym ładowaniu pliku lub aktualizacji kodu. Jest to przydatna rzecz, wyłapuje błędy przy wprowadzaniu tekstu. Niezależnie od kompilacji projekt Eclipse utrzymuje model treści, który zawiera informacje o hierarchii typów, referencji i deklaracji elementów Java. Obecna wersja Eclipse nazywa się Neon (4.6.0). Zainstalowałem Eclipse Java EE IDE dla twórców stron internetowych (nie jest to jedyna opcja, możesz wybrać coś innego). Zawiera minimalny pakiet SDK Eclipse, a wtyczki są dodawane na żądanie. Nawiasem mówiąc, praca z wtyczkami w tym IDE nie jest dla osób o słabym sercu. Wtyczki innych firm często są ze sobą sprzeczne, chociaż ich oficjalne specyfikacje nic na ten temat nie mówią. Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 6
Rysunek 2. Od lewej do prawej widoczne są cztery paski narzędzi Eclipse: Eksplorator pakietów, Edytor Java, Struktura klas Java i Lista zadań. Projekt załadowany do Eclipse na tym rysunku to framework testowy JUnit. Panele można łatwo wymieniać.

Obsługa wtyczek

Ekosystem wtyczek Eclipse jest zarówno siłą IDE, jak i jednym z jego głównych problemów. To właśnie z powodu niekompatybilności wtyczek czasami dochodzi do awarii całych zespołów i programiści muszą zaczynać pracę od nowa. Obecnie dla Eclipse napisano ponad 1700 wtyczek, oficjalnych i nieoficjalnych, które mogą, ale nie muszą, działać świetnie. Wtyczki Eclipse obsługują ponad 100 języków programowania i prawie 200 frameworków do tworzenia aplikacji. Obsługiwana jest także większość serwerów Java: jeśli wyznaczysz nowe połączenie z serwerem z Eclipse, zostaniesz przeniesiony do listy folderów dostawców, w których znajdziesz około 30 serwerów aplikacji. Samych wariantów Apache Tomcat będzie aż dziewięć. Dostawcy komercyjni mają tendencję do łączenia swoich rozwiązań w pakiety: na przykład jest tylko jeden element oprogramowania pośredniego Red Hat JBoss, a wewnątrz znajdują się narzędzia serwerowe WildFly i EAP, a także JBoss AS.

Edycja, refaktoryzacja i debugowanie

Twoje pierwsze doświadczenie z Eclipse może być mylące, a nawet mylące. Pierwszym krokiem jest skonfigurowanie Eclipse i przyzwyczajenie się do jego architektury koncepcyjnej obszarów roboczych, widoków i widoków. Wszystko zależy od zainstalowanych wtyczek. Do programowania w języku Java po stronie serwera prawdopodobnie będziesz używać widoków przeglądania Java, Java EE i Java, widoku Eksploratora pakietów, widoku debugowania, widoku synchronizacji poleceń narzędzi internetowych, widoku tworzenia bazy danych i widoku debugowania bazy danych. W praktyce wszystko ma sens, gdy otworzysz potrzebne okna. Eclipse prawie zawsze oferuje kilka sposobów rozwiązania konkretnego problemu. Można na przykład wyświetlić kod, korzystając z perspektywy przeglądania w języku Java. To, co wybrać, jest kwestią gustu i wyboru. Specjalna wyszukiwarka Java pozwala znaleźć deklaracje, odniesienia i wystąpienia pakietów Java, typów, metod, pól. Możesz także skorzystać z szybkiego dostępu do wyszukiwania i podglądu. Z szablonów kodu można wygenerować typowe wzorce kodu. Refaktoryzacja Java w Eclipse obsługuje 23 operacje, począwszy od typowych operacji zmiany nazwy po mniej oczywiste przekształcenia (jak w książce Martina Fowlera). Eclipse obsługuje debugowanie lokalne i zdalne, pod warunkiem, że używasz maszyny JVM obsługującej zdalne debugowanie. Debugowanie jest dość standardowe: definiujesz punkty przerwania, a następnie przeglądasz zmienne na karcie debugowania. Oczywiście możesz przeglądać kod i oceniać wyrażenia. Eclipse posiada obszerną bazę danych zawierającą dokumentację o różnym wieku, wartości i przydatności. Niestety znalezienie w instrukcji obrazka, który nie odpowiada aktualnej wersji, np. z przestarzałym interfejsem i układem przycisków, jest częstym zjawiskiem w tym IDE. Niestety problem opóźnionych aktualizacji dokumentacji jest bardzo powszechny w przypadku wszelkich projektów kodu źródłowego.

NetBeans

Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 7NetBeans rozpoczął działalność jako projekt studencki w Pradze w 1996 roku. W 1997 IDE stało się produktem komercyjnym, a w 1999 zostało kupione przez firmę Sun Microsystems (rodziców Javy), a rok później zaprezentowano wersję open source. Obecna wersja 8.1 działa na komputerach z systemami Windows, Mac OS X, Linux i Solaris. Cóż, pakiet przenośny można uruchomić w dowolnym systemie, dla którego istnieje maszyna Java. Pobrałem dla siebie pakiet Java EE, jest to jeden z sześciu możliwych pakietów do pobrania. Ten pakiet obsługuje JavaScript i HTML, GlassFish i Tomcat, ale nie obsługuje PHP, C/C++/Fortran, Groovy i Grails: można je uzyskać w pakiecie „All Inclusive” (lub po prostu „All”). Jeżeli jednak zechcę, w każdej chwili mogę pobrać obsługę powyższych języków wybierając odpowiednią wtyczkę (lub dowolną inną). NetBeans ma ich mniej niż Eclipse, ale zazwyczaj nie kolidują ze sobą. Tej jesieni firma Oracle (która przejęła NetBeans po przejęciu Sun Microsystems) zdecydowała się przenieść to środowisko programistyczne pod skrzydła Apache Software Foundation wraz ze wszystkimi prawami, kodem źródłowym, znakiem towarowym, domeną „netbeans.org” i szeregiem innej infrastruktury elementy. Dlatego przyszłość projektu jest nadal niejasna, chociaż system miał wcześniej pewne związane z tym przywileje. Tym samym to NetBeans jako pierwszy otrzymał wsparcie dla Java 8 niemal natychmiast po wydaniu zaktualizowanej platformy i został nazwany „oficjalnym IDE dla Java 8”. Jednak miesiąc po wydaniu ta przewaga została utracona: wtedy także inne IDE otrzymały wsparcie dla Java 8. Chcę jednak podkreślić, że obsługa Java 8 NetBeans jest naprawdę dobra, a IDE świetnie nadaje się do wplatania sztuczek Java 8 w „stary” kod. Jego edytory, analizatory kodu i konwertery pomogą programiście zaktualizować kod za pomocą konstrukcji typowych dla Java 8 - wyrażeń lambda, operatorów funkcjonalnych i odwołań do metod. Wtyczki JavaScript w NetBeans 8 świetnie sobie radzą z obsługą Node.js i najnowszych narzędzi JavaScript, takich jak Gulp i Mocha, a także obsługują interpreter JavaScript Nashorn. Eclipse, NetBeans czy IntelliJ IDEA?  Wybór IDE do programowania w Javie - 8
Rysunek 3. Tutaj NetBeans uruchamia ten sam projekt oparty na Maven, w którym otwarto IntelliJ IDEA na rysunku 1. Zwróć uwagę na zwiększoną funkcjonalność w menu kontekstowym i podmenu refaktoryzacji

Edycja i refaktoryzacja

Edytor NetBeans obsługuje języki, wykrywa błędy podczas pisania i pomaga w wyświetlaniu podpowiedzi i inteligentnym uzupełnianiu kodu. Według subiektywnego odczucia IDE radzi sobie z tym zadaniem szybciej niż Eclipse, ale nieco wolniej niż IntelliJ IDEA. Ponadto NetBeans posiada pełną gamę narzędzi do refaktoryzacji (jak pokazano na rysunku 3), które pozwalają programiście na restrukturyzację kodu bez jego łamania, przeprowadzanie analizy źródła, a także oferuje szeroki zakres wskazówek dotyczących szybkich poprawek lub rozszerzeń kodu. NetBeans zawiera narzędzie do projektowania Swing GUI, wcześniej znane jako „Project Matisse”. Programiści bardzo doceniają narzędzie do automatycznej refaktoryzacji Inspect & Transform, wprowadzone w NetBeans 7.1. Pozwala na analizę kodu projektu i wprowadzenie sugerowanych ulepszeń. Chociaż osobiście wolę najpierw przetestować cały swój kod za pomocą testów jednostkowych, a dopiero potem uruchamiać narzędzia, które mogą wprowadzić radykalne zmiany. Wielokrotnie cierpiałem z powodu różnego rodzaju automatycznych korekt, które prowadziły do ​​​​nieodwracalnych konsekwencji.

Budowanie, debugowanie i profilowanie

NetBeans ma doskonałą natywną obsługę Maven i Ant, a także wtyczkę dla Gradle. Bardzo się ucieszyłem, gdy odkryłem, że projekty Mavena są przez system traktowane jako „natywne”. Oznacza to, że można je po prostu otworzyć, a nie zaimportować. NetBeans zawiera także atrakcyjny (i użyteczny) graficzny wyświetlacz zależności Mavena. Debuger Java NetBeans nie jest zły, ale ma pewne zastrzeżenia. Oddzielny debugger wizualny umożliwia programiście wykonywanie zrzutów ekranu graficznego interfejsu użytkownika oraz eksplorowanie interfejsów aplikacji wykonanych przy użyciu JavaFX i Swing. Profiler NetBeans sprawia, że ​​bardziej oczywiste jest wykorzystanie procesora i pamięci, a także posiada doskonałe narzędzia do wyszukiwania wycieków pamięci.

Który Java IDE jest lepszy? Porównanie trio gigantów

Przez lata korzystałem ze wszystkich trzech IDE: Eclipse, NetBeans i IntelliJ IDEA, w podanej kolejności chronologicznej. Za każdym razem, gdy przełączałem się na inne IDE, czułem, że moja produktywność wzrosła. Ale nawet gdy byłem już głęboko przekonany, że IDEA to mój ostateczny wybór, czasami musiałem wracać do któregoś z dwóch pozostałych IDE. Tak było np. w czasach, gdy Eclipse był jedynym narzędziem wspierającym rozwój Androida (dziś istnieje Android Studio, aktualne oficjalne IDE dla Androida, oparte na IntelliJ IDEA). Oczywiście wszystkie trzy IDE mają swoich fanów i przeciwników. Znam wielu programistów Java, którzy kochają IntelliJ IDEA, a także lojalnych fanów Visual Studio C++ i C#. Najczęściej osoby te są zadowolone z faktu, że ich produktywność wzrosła, a koszt rocznego abonamentu zwraca się już po kilku tygodniach korzystania z płatnej wersji IDEA. Jednak użytkownicy NetBeans i Eclipse również często są przywiązani do swoich narzędzi i zastanawiają się, dlaczego inni programiści są skłonni płacić za IDEA. Radziłbym nowym programistom Java trzymać się z daleka od Eclipse. Pomimo tego, że jest to wciąż najpopularniejsze IDE dla Javy, dla początkujących jest trudne: łatwo jest zagubić się w dziczy Eclipse, zarówno podczas wdrażania systemu, jak i podczas codziennej pracy. Eclipse ma najbardziej rozbudowany ekosystem wtyczek ze wszystkich IDE, a także jest najbardziej narażony na awarie z powodu zainstalowania niekompatybilnego zestawu tych samych wtyczek. Niestety, korzystając z Eclipse, wielokrotnie musiałem usuwać kolejny uszkodzony zestaw tego IDE i instalować „czysty” pakiet. NetBeans jest dobry dla większości programistów, ma świetny profiler i czasami go używam. Wolę jednak zapłacić za IntelliJ IDEA Ultimate. Przyszłość NetBeans jest nadal niejasna. Nowym programistom Java, którzy nie mają jeszcze budżetu na zakup narzędzi, polecam korzystanie z NetBeans lub IntelliJ IDEA Community Edition w zależności od ich potrzeb. Ten pierwszy warto wybrać dla tych, którzy kodują serwery Java, ale tylko jeśli nie należycie do kategorii tych, którzy mogą otrzymać IntelliJ IDEA Ultimate za darmo lub z dużą zniżką (studenci lub programiści tworzący open source projekt).

„Lekkie” środowisko Java

Obecnie większość programistów Java korzysta z IDEA, NetBeans lub Eclipse, ale czasami istnieje potrzeba lżejszych środowisk programistycznych lub nawet edytorów kodu, takich jak Sublime Text, emacs lub vim, które obsługują wtyczki Java. Poniżej wymieniłem rozsądne opcje dla tych, którzy szukają czegoś nieco lżejszego:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузLub уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор kodа, панель взаимодействия для оценки kodа Aplikacje, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, Jak NetBeans Lub Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная wersja Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная wersja (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

Выбор Java IDE в зависимости от проекта

Próbowałem opisać ważne zalety każdego z trzech najważniejszych IDE Java i krótko wspomniałem o ich przydatnych małych rywalach. Aby wybrać odpowiednie środowisko programistyczne Java, musisz rozważyć zalety i wady i dopasować je do swoich potrzeb i potrzeb swoich projektów. Jeśli dołączasz do zespołu, dobrym pomysłem jest używanie tego samego IDE, co inni programiści, chociaż nie jest to wymagane. Jeśli Twój zespół hostuje źródła w GitHubie, oczywiście wygodniej będzie, jeśli Twoje IDE obsługuje GitHub. Tak, możesz obsłużyć transfer kodu bez IDE, używając klienta GitHub lub wiersza poleceń git. Ale jak skuteczne będą takie przeskoki między różnymi systemami? Ważne jest również, aby IDE obsługiwało system kompilacji. Na przykład, jeśli jest to Maven, prawdopodobnie nie będziesz chciał odbudować systemu w Ant na potrzeby lokalnych testów. Na szczęście wszystkie trzy duże środowiska IDE Java obsługują Ant, Maven i Gradle, albo od razu po wyjęciu z pudełka, albo z wtyczką. Ale w przypadku „małych” IDE może to nie być prawdą. Naturalną potrzebą środowiska programistycznego jest wspieranie wersji środowiska JRE użytej w projekcie. Jeśli wersje nie pasują, istnieje duże prawdopodobieństwo, że pojawi się wiele dodatkowych błędów, które na przykład pojawią się u Ciebie, ale nie u innych członków zespołu. Jest mało prawdopodobne, aby taka sytuacja miała dobry wpływ na twoją karmę. Szczerze mówiąc, niespójność JRE jest bardziej prawdopodobna z powodu błędów konfiguracji niż z powodu braku obsługi IDE, chyba że IDE nie zostało jeszcze zaktualizowane do nowej wersji Java. Po prostu uwierz, że jeśli Twoje IDE w pełni obsługuje frameworki i technologie, które są użyte w projekcie, to naprawdę pomaga przyspieszyć pracę. Najprawdopodobniej i tak sobie z tym poradzisz. Jeśli jednak IDE rozumie, w jaki sposób instrukcje JPA odnoszą się do jednostek i klas wyrażeń JPA (takich jak IntelliJ), spędzisz znacznie mniej czasu na kodzie związanym z JPA, niż w przypadku całkowitego błędnego zrozumienia. Cóż, jeśli IDE obsługuje framework testowy i wykonawcę kodu użytego w projekcie, możesz uruchamiać testy bez zmiany środowiska pracy. Przyspieszy to również proces rozwoju. Wreszcie, praca przebiega szybciej, jeśli IDE jest kompatybilne z systemem śledzenia błędów i zgłoszeń w projekcie. Ponownie możesz użyć klienta samodzielnego lub internetowego, powiedzmy JIRA, ale trudno się nie zgodzić, że sprawdzanie zgłoszeń jest znacznie szybsze bez zmiany okna, pozostając bezpośrednio w IDE.

Darmowe czy płatne?

Po przetestowaniu IntelliJ IDEA Ultimate poczułem, że środowisko programistyczne jest odpowiednie. Coś w rodzaju Cadillaca świata IDE. Nie powiem jednoznacznie, że IDEA jest najlepszym IDE dla Javy, ale dla mnie tak właśnie jest. Ponownie, choć nie jest darmowy, myślę, że wzrost wydajności wynikający z jego używania jest wart rocznej subskrypcji. Początkującym, których nie stać na roczną subskrypcję IntelliJ IDEA Ultimate, polecam używanie NetBeans zamiast Eclipse. Oczywiście ekosystem wtyczek Eclipse jest dziś znacznie bardziej rozwinięty niż jakiegokolwiek innego IDE, ale jest bardzo zarośnięty i zaniedbany: początkujący programista ryzykuje utknięciem w dżungli IDE, Java, a zanurzenie w pracy zeejdzie na dalszy plan . poruszono także kwestię „lekkich” alternatyw, z których dwie opracowano specjalnie do celów edukacyjnych. Cóż, jeśli dopiero zaczynasz uczyć się języków i wolisz minimalistyczne środowisko, dlaczego nie?
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION