JavaRush /Blog Java /Random-VI /Eclipse, NetBeans hay IntelliJ IDEA? Chọn một IDE để phát...
Bender
Mức độ
Маунтин-Вью

Eclipse, NetBeans hay IntelliJ IDEA? Chọn một IDE để phát triển Java

Xuất bản trong nhóm
Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 1Chúng tôi xin giới thiệu với các bạn bản chuyển thể từ một bài viết của Martin Heller, lập trình viên và biên tập viên của tài nguyên JavaWorld. Có thể bạn đã nghe nói về ba IDE phổ biến nhất để phát triển Java. 90% lập trình viên công nghiệp sử dụng Eclipse, NetBeans hoặc IntelliJ IDEA và mỗi IDE này đều có những ưu điểm và nhược điểm riêng. Trong bài viết này, chúng tôi sẽ cố gắng mô tả chúng để bạn hiểu cái nào phù hợp với mình. Mặc dù vậy, tất nhiên, tốt hơn là bạn nên thử cả ba cách trên tại nơi làm việc và tìm ra cách nào phù hợp nhất với mình. Không có đánh giá có thể thay thế điều này.

Môi trường phát triển là gì?

Câu trả lời rất ngắn gọn là môi trường phát triển là một chương trình hoặc nhiều chương trình mà bạn sử dụng để tạo chương trình. Quá trình này thực sự bao gồm viết mã, gỡ lỗi, khởi chạy và tích hợp nó với các hệ thống kiểm soát phiên bản. Nếu trước đây các nhà phát triển thường sử dụng một trình soạn thảo văn bản đơn giản (đôi khi thậm chí không làm nổi bật cú pháp), chẳng hạn như Notepad và dòng lệnh, thì giờ đây họ thường sử dụng bộ xử lý tất cả trong một, môi trường phát triển tích hợp hoặc IDE.

IDE là gì?

Môi trường phát triển tích hợp hay trong tiếng Anh Môi trường phát triển tích hợp - IDE - là một chương trình chứa các công cụ để phát triển phần mềm. Thông thường, một môi trường phát triển hiện đại bao gồm:
  • Trình soạn thảo văn bản có tô sáng mã;
  • trình biên dịch hoặc trình thông dịch;
  • Trình duyệt lớp, Trình kiểm tra đối tượng và Sơ đồ phân cấp lớp;
  • lắp ráp các công cụ tự động hóa;
  • trình gỡ lỗi;
  • công cụ tích hợp với hệ thống kiểm soát phiên bản (Git);
  • công cụ để đơn giản hóa việc thiết kế giao diện người dùng đồ họa.
Tôi đã từng làm việc với các IDE này trước đây nhưng trong nghiên cứu này, tôi đã cài đặt IntelliJ IDEA Ultimate 2016.2, Eclipse Neon Java EE và NetBeans 8.1 Java EE trên máy tính xách tay MacBook Pro. Tôi đã thử nghiệm IDE trên một số dự án Java nguồn mở.

Những gì mong đợi từ một IDE

Một IDE hiện đại dành cho một “nhà phát triển Java lành mạnh” phải hỗ trợ Java 8, Scala, Groovy, cũng như các ngôn ngữ máy ảo Java khác mà anh ta thường xuyên sử dụng. Hỗ trợ cho các máy chủ ứng dụng chính và các khung web phổ biến nhất, bao gồm Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails và Vaadin, cũng sẽ hữu ích. IDE phải tương thích với mọi bản dựng hệ thống kiểm soát phiên bản, chẳng hạn như Ant, Maven hoặc Gradle, cùng với Git, SVN, CVS, Mercurial hoặc Bazaar. Ngoài ra, đối với môi trường phát triển, điều quan trọng là có thể làm việc với cơ sở dữ liệu và lớp máy khách trong ngăn xếp của bạn, có hỗ trợ cho JavaScript, TypeScript, HTML, SQL, JavaServer Pages, Hibernate, cũng như Java Persistence tích hợp sẵn. API. Cuối cùng, thật hợp lý khi hy vọng rằng IDE sẽ cho phép bạn chỉnh sửa, tạo, gỡ lỗi và kiểm tra hệ thống mà không gặp căng thẳng không cần thiết. Lý tưởng nhất là môi trường phát triển không chỉ hỗ trợ hoàn thành mã thông minh mà còn hỗ trợ tái cấu trúc thông minh và đo lường mã. Trong nhiều trường hợp, việc hỗ trợ các khung và sơ khai thử nghiệm sẽ rất hữu ích. Nếu nhóm của bạn sử dụng hệ thống yêu cầu và CI/CD, bạn cần có IDE để có thể kết nối với chúng. Và quyết định xem bạn có cần triển khai và gỡ lỗi trong vùng chứa và đám mây hay không. Chúng tôi chỉ liệt kê những kỳ vọng cơ bản (có lẽ bạn có điều gì đó muốn bổ sung) và bây giờ hãy xem xét kỹ hơn các đối thủ cạnh tranh của chúng tôi.

Ý tưởng IntelliJ

Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 2Về tính năng và giá cả, IntelliJ IDEA có hai phiên bản: phiên bản Cộng đồng miễn phí và phiên bản Ultimate trả phí với chức năng mở rộng. Phiên bản cộng đồng được thiết kế để phát triển JVM và Android. Phiên bản miễn phí hỗ trợ Java, Kotlin, Groovy và Scala; Android; Maven, Gradle và SBT; hoạt động với các hệ thống kiểm soát phiên bản Git, SVN, Mercurial và CVS. Phiên bản Ultimate phù hợp cho việc phát triển web và doanh nghiệp. Phiên bản IDE này không chỉ hoạt động với Git, SVN, Mercurial và CVS mà còn với Perforce, ClearCase và TFS; trong đó bạn có thể viết bằng JavaScript và TypeScript; Đương nhiên, có hỗ trợ cho Java EE, Spring, GWT, Vaadin, Play, Grails và một số framework khác. Và tất nhiên, chúng ta không thể thiếu SQL và các công cụ để làm việc với cơ sở dữ liệu. Ý tưởng hướng dẫn các nhà phát triển IDE này khi hình thành chính sách giá là phiên bản thương mại của nó (Ultimate) sẽ diễn ra trên máy tính của các chuyên gia, nhờ đó năng suất của họ sẽ tăng lên. Nếu một lập trình viên Java kiếm được 50 nghìn đô la hàng năm (hoặc thậm chí nhiều hơn), thì lợi tức đầu tư chi cho IDE IntelliJ IDEA trả phí (500 đô la cho đăng ký hàng năm) sẽ diễn ra rất nhanh do công việc của anh ta chỉ tăng tốc một chút. Trong những năm tiếp theo, giá của các doanh nghiệp giảm xuống, đối với những người khởi nghiệp và người làm việc tự do thì thấp hơn đáng kể, còn đối với sinh viên, giáo viên, nhà vô địch Java và nhà phát triển nguồn mở thì hoàn toàn miễn phí. IntelliJ IDEA gây ấn tượng với khả năng hiểu mã sâu, công thái học thông minh, các tính năng phát triển tích hợp và hỗ trợ đa ngôn ngữ. Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 3
Hình 1. IntelliJ IDEA hiển thị số lượng cảnh báo và dự đoán dựa trên phân tích thống kê về mã Java. Bạn có thể nghiên cứu các giả định chi tiết hơn bằng cách nhấp vào chúng, như trong hình; trong nhiều trường hợp, bạn sẽ nhận được một danh sách với các lựa chọn và tùy chọn chỉnh sửa.

Hiểu biết sâu sắc về mã

Làm nổi bật cú pháp và hoàn thành mã đơn giản là điều phổ biến đối với bất kỳ trình soạn thảo Java hiện đại nào. IDEA còn tiến xa hơn bằng cách cung cấp tính năng “tự động hoàn thành thông minh”. Thuật ngữ này có nghĩa là môi trường phát triển hiển thị danh sách các ký hiệu phù hợp nhất có thể áp dụng trong ngữ cảnh nhất định. Danh sách các ký hiệu không chỉ phụ thuộc vào ngữ cảnh, ngữ cảnh “được chấp nhận chung”, mà còn phụ thuộc vào phong cách lập trình của nhà phát triển, vào tần suất anh ta sử dụng các toán tử nhất định. “Hoàn thành chuỗi” thậm chí còn hiển thị danh sách các ký hiệu áp dụng được cho phép thông qua các phương thức hoặc getters trong ngữ cảnh hiện tại. Ngoài ra, đối với các thành viên tĩnh hoặc hằng số, IDEA sẽ tự động thêm mọi câu lệnh nhập cần thiết. Trong mọi trường hợp tự động hoàn thành, IDEA cố gắng đoán loại ký hiệu trong thời gian chạy, tinh chỉnh lựa chọn của nó và thậm chí áp dụng kiểu truyền nếu cần. Mã Java thường bao gồm các đoạn mã từ các ngôn ngữ khác dưới dạng chuỗi. IDEA có thể đưa mã SQL, XPath, HTML, CSS hoặc JavaScript vào các chuỗi ký tự Java. Theo nghĩa này, IDE có thể cấu trúc lại mã bằng nhiều ngôn ngữ. Ví dụ: nếu bạn đổi tên một lớp trong ánh xạ JPA, IDEA sẽ cập nhật lớp biểu thức và thực thể JPA tương ứng. Khi tái cấu trúc một đoạn mã, nhà phát triển có một mong muốn (khá tự nhiên): tất cả các bản sao của mã này cũng được tái cấu trúc. IDEA Ultimate tìm thấy các bản sao và các đoạn tương tự và cũng áp dụng tái cấu trúc cho chúng. IntelliJ IDEA phân tích mã khi tải và trực tiếp khi bạn nhập mã. Nó chỉ ra các vấn đề đáng ngờ (như trong hình ảnh của chúng tôi ở trên) và tùy chọn cung cấp danh sách các giải pháp khắc phục nhanh chóng cho các vấn đề được tìm thấy.

Công thái học

Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 4IntelliJ IDEA được thiết kế để không đẩy nhà phát triển ra khỏi trạng thái năng suất trôi chảy khi họ đã ở trong đó. Cửa sổ Project, được hiển thị trong hình đầu tiên bên trái, biến mất chỉ bằng một cú nhấp chuột đơn giản để lập trình viên có thể tập trung vào cửa sổ soạn thảo mã. Đối với tất cả các hành động cần thiết khi viết mã, có các tổ hợp phím để gọi nhanh chúng, bao gồm cả việc xác định các ký hiệu trong cửa sổ bật lên. Lúc đầu, tất cả những sự kết hợp này đều khó nhớ, nhưng dần dần bạn sẽ quen và chỉ sử dụng chúng. Tuy nhiên, ngay cả khi lập trình viên không sử dụng phím tắt, như thực tế cho thấy, anh ta vẫn làm quen với IDEA một cách dễ dàng và nhanh chóng. Tôi muốn đặc biệt lưu ý đến trình gỡ lỗi IDEA: các giá trị biến được hiển thị trực tiếp trong cửa sổ soạn thảo, bên cạnh mã nguồn tương ứng. Khi trạng thái của một biến thay đổi, màu đánh dấu cũng thay đổi.

Công cụ tích hợp

IntelliJ IDEA cung cấp giao diện hợp nhất cho hầu hết các hệ thống kiểm soát phiên bản, bao gồm Git, SVN, Mercurial, CVS, Perforce và TFS. Bạn có thể quản lý các thay đổi trực tiếp trong IDE, rất thuận tiện. Khi tôi đang thử nghiệm IDEA, tôi đã mong muốn thay đổi mới nhất trong mã nguồn hiển thị trong cửa sổ soạn thảo dưới dạng chú thích (ví dụ: như xảy ra trong Visual Studio). Hóa ra, IDEA có một plugin đặc biệt cho việc này. IDEA cũng đi kèm với các công cụ xây dựng, thời gian chạy thử nghiệm, công cụ bao quát và cửa sổ đầu cuối tích hợp. IntelliJ không có trình lược tả riêng, nhưng các trình lược tả của bên thứ ba có thể được kết nối với nó bằng cách sử dụng plugin. Ví dụ: YourKit, được tạo bởi nhà phát triển chính trước đây của JetBrains hoặc VisualVM (là phiên bản đóng gói lại của trình lược tả NetBeans). Việc gỡ lỗi trong Java có thể là một điều khó khăn khi có đủ loại điều bí ẩn xảy ra với các lớp mà bạn không có nguồn. IDEA bao gồm một trình giải mã cho những trường hợp như vậy. Lập trình phía máy chủ trong Java yêu cầu tương tác thường xuyên với cơ sở dữ liệu, vì vậy các lập trình viên IDEA Ultimate sẽ đánh giá cao sự tiện lợi của các công cụ khi làm việc với SQL và cơ sở dữ liệu. Nhưng nếu khả năng của chúng không đủ đối với ai đó, bạn có thể mua phiên bản IDEA Ultimate có SQL IDE (DataGrip) tích hợp sẵn. Tuy nhiên, nó sẽ đắt hơn một chút so với gói đăng ký IDEA Ultimate thông thường. IntelliJ IDEA hỗ trợ tất cả các máy chủ ứng dụng JVM chính, đồng thời cho phép bạn triển khai và gỡ lỗi trên các máy chủ này, giúp loại bỏ những khó khăn quen thuộc với tất cả các lập trình viên Java Enterprise. IDEA cũng hỗ trợ Docker (thông qua một plugin bổ sung cửa sổ công cụ Docker đặc biệt vào môi trường phát triển. Nhân tiện, IDEA có rất nhiều plugin.  

Một người đa ngôn ngữ đích thực

IDEA đã mở rộng hỗ trợ mã cho Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, Android, React, AngularJS và các khung công tác khác. Bạn có thể nhận thấy rằng không phải tất cả chúng đều dành riêng cho Java. IDEA “hiểu” các ngôn ngữ khác ngay lập tức - Groovy, Kotlin, Scala, JavaScript, TypeScript và SQL. Nếu bạn không thấy ngôn ngữ mình đang tìm kiếm trong danh sách này thì hiện tại có 19 plugin ngôn ngữ IntelliJ, đặc biệt hỗ trợ R, Elm và D.

IDE Eclipse

Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 5 Khoảng 10 năm trước, khi được hỏi về IDE tốt nhất, một nhà phát triển Java đã trả lời một cách tự tin: Eclipse. Trong nhiều năm, môi trường phát triển này đã tự tin chiếm ưu thế trong số các IDE Java. Môi trường này hoàn toàn miễn phí, mã nguồn mở, được viết chủ yếu bằng Java. Tuy nhiên, kiến ​​trúc mô-đun của nó cho phép Eclipse được sử dụng với các ngôn ngữ khác. Dự án Eclipse do IBM khởi xướng, xuất hiện vào năm 2001. Họ muốn thay thế dòng môi trường phát triển IBM Visual Age dựa trên Smalltalk. Chà, mục tiêu chính, ngay cả cái tên cũng gợi ý, là vượt trội hơn Microsoft Visual Studio (nhật thực trong tiếng Anh có nghĩa là nhật thực). Tính di động của Java giúp Eclipse trở thành môi trường đa nền tảng: IDE này chạy trên Linux, Mac OS X, Solaris và Windows. Dù tốt hay xấu, Bộ công cụ tiện ích tiêu chuẩn Java (SWT) ít nhất chịu trách nhiệm một phần về giao diện của Eclipse. Eclipse có được hiệu năng của nó (hoặc, như một số người thông thái nói, thiếu nó) nhờ vào JVM. Eclipse hoạt động khá chậm vì nó bắt nguồn từ phần cứng khá cũ và các phiên bản cổ xưa của JVM. Thậm chí ngày nay nó vẫn có vẻ chậm, đặc biệt nếu bạn đính kèm nhiều plugin vào nó. Một số chi phí tài nguyên của Eclipse có thể là do trình biên dịch gia tăng tích hợp sẵn của nó, chạy bất cứ khi nào một tệp được tải hoặc mã được cập nhật. Đây là một điều hữu ích, nó phát hiện lỗi khi nhập văn bản. Bất kể bản dựng nào, dự án Eclipse vẫn duy trì một mô hình nội dung chứa thông tin về thứ bậc của các kiểu, tham chiếu và khai báo của các phần tử Java. Phiên bản hiện tại của Eclipse có tên là Neon (4.6.0). Tôi đã cài đặt Eclipse Java EE IDE dành cho nhà phát triển web (đây không phải là tùy chọn duy nhất, bạn có thể chọn tùy chọn khác). Nó chứa SDK Eclipse tối thiểu và các plugin được thêm vào theo yêu cầu. Nhân tiện, làm việc với các plugin trong IDE này không dành cho người yếu tim. Các plugin của bên thứ ba thường xung đột với nhau, mặc dù thông số kỹ thuật chính thức của chúng không nói gì về điều này. Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 6
Hình 2. Từ trái sang phải, có bốn thanh công cụ Eclipse: Package Explorer, Java Editor, Java Class Structure và Task List. Dự án được tải vào Eclipse trong hình này là khung kiểm thử JUnit. Các tấm có thể dễ dàng hoán đổi.

Hỗ trợ plugin

Hệ sinh thái plugin của Eclipse vừa là điểm mạnh của IDE vừa là một trong những vấn đề chính của nó. Chính vì sự không tương thích của các plugin mà đôi khi toàn bộ hệ thống bị lỗi và các lập trình viên phải bắt đầu lại công việc. Hiện tại có hơn 1.700 plugin được viết cho Eclipse, chính thức và không chính thức, có thể hoạt động tốt hoặc không. Các plugin Eclipse hỗ trợ hơn 100 ngôn ngữ lập trình và gần 200 khung phát triển ứng dụng. Hầu hết các máy chủ Java cũng được hỗ trợ: nếu bạn chỉ định một kết nối máy chủ mới từ Eclipse, bạn sẽ được đưa đến danh sách các thư mục nhà cung cấp, nơi bạn sẽ tìm thấy khoảng 30 máy chủ ứng dụng. Chỉ riêng sẽ có tới chín biến thể Apache Tomcat. Các nhà cung cấp thương mại có xu hướng kết hợp các giải pháp của họ lại với nhau: ví dụ: chỉ có một mục Middleware JBoss của Red Hat và bên trong bạn sẽ tìm thấy các công cụ máy chủ WildFly và EAP cũng như JBoss AS.

Chỉnh sửa, tái cấu trúc và gỡ lỗi

Trải nghiệm đầu tiên của bạn với Eclipse có thể gây nhầm lẫn và thậm chí khó hiểu. Bước đầu tiên là thiết lập Eclipse và làm quen với kiến ​​trúc khái niệm về không gian làm việc, khung nhìn và khung nhìn của nó. Tất cả điều này được xác định bởi các plugin bạn đã cài đặt. Để phát triển Java phía máy chủ, bạn có thể sẽ sử dụng các chế độ xem duyệt Java, Java EE và Java, chế độ xem Package Explorer, chế độ xem gỡ lỗi, chế độ xem đồng bộ hóa lệnh của công cụ web, chế độ xem phát triển cơ sở dữ liệu và chế độ xem gỡ lỗi cơ sở dữ liệu. Trong thực tế, mọi thứ đều có ý nghĩa khi bạn mở các cửa sổ bạn cần. Eclipse hầu như luôn đưa ra một số cách để giải quyết một vấn đề cụ thể. Ví dụ: bạn có thể xem mã bằng cách sử dụng phối cảnh duyệt Java. Chọn gì là vấn đề sở thích và sự lựa chọn. Một tìm kiếm Java đặc biệt cho phép bạn tìm các khai báo, tham chiếu và sự xuất hiện của các gói, kiểu, phương thức, trường Java. Bạn cũng có thể sử dụng quyền truy cập và xem trước tìm kiếm nhanh. Các mẫu mã phổ biến có thể được tạo từ các mẫu mã. Tái cấu trúc Java trong Eclipse hỗ trợ 23 thao tác, từ các thao tác đổi tên thông thường đến các phép biến đổi ít rõ ràng hơn (như trong cuốn sách của Martin Fowler). Eclipse hỗ trợ cả gỡ lỗi cục bộ và từ xa, miễn là bạn đang sử dụng JVM hỗ trợ gỡ lỗi từ xa. Việc gỡ lỗi khá chuẩn: bạn xác định các điểm dừng và sau đó xem các biến trong tab gỡ lỗi. Tất nhiên, bạn có thể xem qua mã của mình và đánh giá các biểu thức. Eclipse có một cơ sở dữ liệu tài liệu rộng lớn với nhiều độ tuổi, giá trị và tính hữu dụng khác nhau. Thật không may, việc tìm thấy một hình ảnh trong hướng dẫn không tương ứng với phiên bản hiện tại, chẳng hạn như giao diện và bố cục nút đã lỗi thời, là điều thường xuyên xảy ra đối với IDE này. Thật không may, vấn đề cập nhật tài liệu muộn là rất phổ biến đối với bất kỳ dự án mã nguồn nào.

NetBean

Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 7NetBeans bắt đầu như một dự án sinh viên đại học ở Praha vào năm 1996. Năm 1997, IDE trở thành một sản phẩm thương mại và vào năm 1999, nó được Sun Microsystems (cha mẹ của Java) mua lại và năm sau đó đã tung ra bản phát hành nguồn mở. Phiên bản 8.1 hiện tại chạy trên các máy chạy Windows, Mac OS X, Linux và Solaris. Chà, gói di động có thể chạy trên bất kỳ hệ thống nào có máy Java. Tôi đã tải xuống gói Java EE cho riêng mình, đây là một trong sáu gói tải xuống có thể sử dụng được. Gói này hỗ trợ JavaScript và HTML, GlassFish và Tomcat nhưng không hỗ trợ PHP, C/C++/Fortran, Groovy và Grails: chúng có thể có được trong gói “All Inclusive” (hoặc đơn giản là “All”). Tuy nhiên, nếu muốn, tôi có thể tải xuống hỗ trợ cho các ngôn ngữ trên bất kỳ lúc nào bằng cách chọn plugin thích hợp (hoặc bất kỳ plugin nào khác). NetBeans có ít chúng hơn Eclipse nhưng chúng thường không xung đột với nhau. Mùa thu năm nay, Oracle (đã mua lại NetBeans sau khi mua lại Sun Microsystems) đã quyết định chuyển giao môi trường phát triển này dưới sự bảo trợ của Apache Software Foundation, cùng với mọi quyền, mã nguồn, nhãn hiệu, tên miền “netbeans.org” và một số cơ sở hạ tầng khác các phần tử. Vì vậy, tương lai của dự án vẫn còn mù mờ, mặc dù trước đó hệ thống đã có một số đặc quyền liên quan. Do đó, NetBeans là công ty đầu tiên nhận được hỗ trợ cho Java 8 gần như ngay lập tức sau khi phát hành nền tảng cập nhật và được gọi là “IDE chính thức cho Java 8”. Tuy nhiên, một tháng sau khi phát hành, lợi thế này đã mất đi: khi đó các IDE khác cũng nhận được hỗ trợ cho Java 8. Tuy nhiên, tôi muốn chỉ ra rằng khả năng hỗ trợ Java 8 của NetBeans thực sự tốt và IDE rất tuyệt vời để dệt các thủ thuật Java 8 thành mã "cũ". Các trình soạn thảo, bộ phân tích mã và bộ chuyển đổi của nó sẽ giúp lập trình viên nâng cấp mã bằng cách sử dụng các cấu trúc điển hình của Java 8 - biểu thức lambda, toán tử hàm và tham chiếu phương thức. Các plugin JavaScript trong NetBeans 8 thực hiện rất tốt việc hỗ trợ Node.js và các công cụ JavaScript mới nhất như Gulp và Mocha, cũng như hỗ trợ trình thông dịch JavaScript Nashorn. Eclipse, NetBeans hay IntelliJ IDEA?  Chọn IDE để phát triển Java - 8
Hình 3. Ở đây NetBeans đang chạy cùng một dự án dựa trên Maven mà IntelliJ IDEA đã được mở trong Hình 1. Lưu ý chức năng nâng cao trong menu ngữ cảnh và menu con tái cấu trúc

Chỉnh sửa và tái cấu trúc

NetBeans Editor hỗ trợ các ngôn ngữ, phát hiện lỗi khi bạn nhập và trợ giúp bạn về các chú giải công cụ và hoàn thành mã thông minh. Theo cảm nhận chủ quan, IDE xử lý nhiệm vụ này nhanh hơn Eclipse nhưng có phần chậm hơn IntelliJ IDEA. Ngoài ra, NetBeans còn có đầy đủ các công cụ tái cấu trúc (như trong Hình 3) cho phép lập trình viên tái cấu trúc mã mà không vi phạm mã, thực hiện phân tích nguồn và cũng đưa ra nhiều gợi ý để sửa nhanh hoặc mở rộng mã. NetBeans bao gồm công cụ thiết kế GUI Swing, trước đây gọi là "Project Matisse". Các nhà phát triển đánh giá cao công cụ tái cấu trúc tự động Kiểm tra & Chuyển đổi, được giới thiệu trong NetBeans 7.1. Nó cho phép bạn phân tích mã dự án và đưa ra các cải tiến được đề xuất. Mặc dù về mặt cá nhân, tôi thích kiểm tra tất cả mã của riêng mình bằng các bài kiểm tra đơn vị trước và chỉ sau đó mới chạy các công cụ có thể thực hiện các thay đổi căn bản. Tôi đã nhiều lần phải gánh chịu đủ kiểu sửa chữa tự động dẫn đến những hậu quả không thể khắc phục được.

Xây dựng, gỡ lỗi và lập hồ sơ

NetBeans có hỗ trợ gốc tuyệt vời cho Maven và Ant, cũng như plugin cho Gradle. Tôi rất vui khi phát hiện ra rằng các dự án Maven được hệ thống coi là “bản địa”. Điều này có nghĩa là chúng có thể được mở một cách đơn giản thay vì nhập vào. NetBeans cũng chứa màn hình đồ họa hấp dẫn (và hữu ích) cho các phần phụ thuộc của Maven. Trình gỡ lỗi NetBeans Java không tệ nhưng có một số lưu ý. Trình gỡ lỗi trực quan riêng biệt cho phép lập trình viên chụp ảnh màn hình giao diện đồ họa của người dùng và khám phá giao diện của các ứng dụng được tạo bằng JavaFX và Swing. Trình lược tả NetBeans giúp hiểu rõ hơn về cách sử dụng CPU và bộ nhớ, đồng thời có các công cụ tuyệt vời để tìm ra rò rỉ bộ nhớ.

IDE Java nào tốt hơn? So sánh bộ ba gã khổng lồ

Tôi đã sử dụng cả ba IDE, Eclipse, NetBeans và IntelliJ IDEA trong nhiều năm theo thứ tự thời gian được liệt kê. Mỗi lần tôi chuyển sang một IDE khác, tôi cảm thấy năng suất của mình tăng lên. Nhưng ngay cả khi tôi đã tin chắc rằng IDEA là lựa chọn cuối cùng của mình, đôi khi tôi vẫn phải quay lại một trong hai IDE còn lại. Ví dụ, đây là trường hợp vào thời điểm Eclipse là công cụ duy nhất hỗ trợ phát triển Android (ngày nay có Android Studio, IDE chính thức hiện tại cho Android, nó dựa trên IntelliJ IDEA). Tất nhiên, cả ba IDE đều có người hâm mộ và người gièm pha. Tôi biết rất nhiều nhà phát triển Java yêu thích IntelliJ IDEA, cũng như những người hâm mộ Visual Studio C++ và C# trung thành. Thông thường, những người này hài lòng với thực tế là năng suất của họ đã tăng lên và chi phí đăng ký hàng năm được hoàn lại chỉ sau vài tuần sử dụng phiên bản trả phí của IDEA. Tuy nhiên, người dùng NetBeans và Eclipse cũng thường gắn bó với các công cụ của họ và thắc mắc tại sao các lập trình viên khác lại sẵn sàng trả tiền cho IDEA. Tôi khuyên các nhà phát triển Java mới nên tránh xa Eclipse. Mặc dù thực tế rằng nó vẫn là IDE phổ biến nhất cho Java, nhưng nó lại gây khó khăn cho những người mới bắt đầu: rất dễ bị lạc vào thế giới hoang dã của Eclipse, cả trong quá trình triển khai hệ thống và trong công việc hàng ngày. Eclipse có hệ sinh thái plugin rộng lớn nhất trong tất cả các IDE và cũng là IDE có nhiều khả năng gặp sự cố nhất do cài đặt một bộ plugin tương tự không tương thích. Thật không may, trong khi sử dụng Eclipse, tôi đã nhiều lần phải gỡ bỏ một tập hợp IDE bị hỏng khác và cài đặt một gói “sạch”. NetBeans tốt cho hầu hết các nhà phát triển, nó có một trình phân tích hồ sơ tuyệt vời và đôi khi tôi cũng sử dụng nó. Tuy nhiên, tôi thích trả tiền cho IntelliJ IDEA Ultimate hơn. Và tương lai của NetBeans vẫn chưa rõ ràng. Đối với các nhà phát triển Java mới chưa có ngân sách để mua công cụ, tôi khuyên bạn nên sử dụng NetBeans hoặc IntelliJ IDEA Community Edition tùy theo nhu cầu của họ. Cái đầu tiên đáng để lựa chọn cho những người đang mã hóa máy chủ Java, nhưng chỉ khi bạn không thuộc nhóm những người có thể nhận IntelliJ IDEA Ultimate miễn phí hoặc với mức chiết khấu lớn (sinh viên hoặc những lập trình viên đang phát triển mã nguồn mở). dự án).

IDE Java "nhẹ"

Ngày nay, hầu hết các nhà phát triển Java đều sử dụng IDEA, NetBeans hoặc Eclipse, nhưng đôi khi cần có môi trường phát triển nhẹ hơn hoặc thậm chí các trình soạn thảo mã như Sublime Text, emacs hoặc vim hỗ trợ các plugin Java. Tôi đã liệt kê các lựa chọn hợp lý bên dưới cho những ai đang tìm kiếm thứ gì đó nhẹ nhàng hơn một chút:
  • DrJava — небольшая бесплатная среда разработки. Её создали для студентов Университета Райса, и она стала довольно популярной: DrJava загрузor уже более 2 млн раз. DrJava призвана развивать разработку, основанную на тестировании (test-driven development). Среда содержит «умный» редактор codeа, панель взаимодействия для оценки codeа applications, отладчик уровня источника и инструменты модульного тестирования.
  • BlueJ бесплатная среда разработки Java, созданная специалистами Кентского университета для начинающих программистов. Эта среда поддерживается Oracle. BlueJ отличается гораздо более лаконичным и простым интерфейсом, чем профессиональные IDE, такие, How NetBeans or Eclipse, и даже содержит специальный учебник по основам ООП.
  • JCreator — ещё одна небольшая Java IDE для Windows, написанная на C++ (из соображений увеличения производительности). Платная version Pro оснащена отладчиком, поддержкой Ant и code wizards, ну а бесплатная version (LE) — нет.
  • Eclipse Che — браузерная облачная IDE: Java, C++, JavaScript, Python, PHP, Ruby и SQL — список языков, которые она поддерживает. .

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

Tôi đã cố gắng mô tả những lợi ích quan trọng của từng IDE Java quan trọng nhất và đề cập ngắn gọn về những đối thủ nhỏ hữu ích của chúng. Để chọn môi trường phát triển Java phù hợp, bạn cần cân nhắc những ưu và nhược điểm và kết hợp chúng với nhu cầu của bạn cũng như nhu cầu của dự án. Nếu bạn đang tham gia một nhóm, bạn nên sử dụng cùng một IDE như các nhà phát triển khác, mặc dù điều đó không bắt buộc. Nếu nhóm của bạn lưu trữ nguồn trên GitHub, sẽ thuận tiện hơn nếu IDE của bạn hỗ trợ GitHub. Có, bạn có thể xử lý việc truyền mã mà không cần IDE bằng ứng dụng khách GitHub hoặc dòng lệnh git. Nhưng những bước nhảy như vậy giữa các hệ thống khác nhau sẽ có hiệu quả như thế nào? Điều quan trọng nữa là IDE hỗ trợ hệ thống xây dựng. Ví dụ: nếu là Maven, bạn sẽ không muốn xây dựng lại hệ thống trong Ant để thử nghiệm cục bộ. May mắn thay, cả ba IDE Java lớn đều hỗ trợ Ant, Maven và Gradle, ngay lập tức hoặc có plugin. Nhưng đối với các IDE “nhỏ” thì điều này có thể không đúng. Mong muốn tự nhiên là môi trường phát triển sẽ hỗ trợ phiên bản JRE được sử dụng trong dự án. Nếu các phiên bản không khớp nhau, có khả năng cao là bạn sẽ gặp nhiều lỗi bổ sung, chẳng hạn như lỗi này sẽ xuất hiện ở bạn nhưng không xuất hiện ở các thành viên khác trong nhóm. Không chắc tình huống như vậy sẽ có ảnh hưởng tốt đến nghiệp chướng của bạn. Thành thật mà nói, sự không nhất quán của JRE có nhiều khả năng xảy ra do lỗi cấu hình hơn là do thiếu sự hỗ trợ của IDE, trừ khi IDE chưa cập nhật lên phiên bản Java mới. Chỉ cần tin rằng nếu IDE của bạn hỗ trợ đầy đủ các framework và công nghệ được sử dụng trong dự án thì nó thực sự giúp tăng tốc công việc. Rất có thể bạn sẽ quản lý nó bằng mọi cách. Tuy nhiên, nếu IDE hiểu cách các câu lệnh JPA liên quan đến các lớp biểu thức và thực thể JPA (như IntelliJ), thì bạn sẽ dành ít thời gian hơn cho mã liên quan đến JPA so với việc bạn hoàn toàn hiểu sai. Chà, nếu IDE hỗ trợ khung thử nghiệm và trình thực thi mã được sử dụng cho dự án, bạn có thể chạy thử nghiệm mà không cần thay đổi môi trường làm việc. Điều này cũng sẽ đẩy nhanh quá trình phát triển. Cuối cùng, công việc sẽ diễn ra nhanh hơn nếu IDE tương thích với hệ thống yêu cầu và theo dõi lỗi của dự án. Một lần nữa, bạn có thể sử dụng một ứng dụng khách độc lập hoặc web, chẳng hạn như JIRA, nhưng thật khó để không đồng ý rằng việc kiểm tra vé sẽ nhanh hơn nhiều mà không cần thay đổi cửa sổ trong khi vẫn trực tiếp trong IDE.

Miễn phí hay trả phí?

Sau khi thử nghiệm IntelliJ IDEA Ultimate, tôi cảm nhận được môi trường phát triển phù hợp. Một loại Cadillac của thế giới IDE. Tôi sẽ không nói rõ ràng rằng IDEA là IDE tốt nhất cho Java, nhưng đối với tôi thì đúng như vậy. Một lần nữa, mặc dù nó không miễn phí nhưng tôi nghĩ năng suất thu được từ việc sử dụng nó đáng để đăng ký hàng năm. Đối với những người mới bắt đầu không đủ khả năng đăng ký IntelliJ IDEA Ultimate hàng năm, tôi khuyên bạn nên sử dụng NetBeans thay vì Eclipse. Tất nhiên, hệ sinh thái của các plugin Eclipse ngày nay đã phát triển hơn nhiều so với bất kỳ IDE nào khác, nhưng nó rất phát triển quá mức và nhếch nhác: một nhà phát triển mới vào nghề có nguy cơ bị mắc kẹt trong rừng IDE, Java và việc đắm chìm trong công việc sẽ trở nên mờ nhạt . cũng đề cập đến các lựa chọn thay thế “nhẹ nhàng”, hai trong số đó được phát triển đặc biệt cho mục đích giáo dục. Chà, nếu bạn mới bắt đầu học ngôn ngữ và thích một môi trường tối giản, tại sao không?
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION