Môi trường phát triển java dưới windows. Tốt nhất cho Android: Android Studio. Đặt biến môi trường

Chú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. 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ố mã nguồn mở các dự án Java.

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 sẽ không hỗ trợ không cần thiết khung thử nghiệm và sơ khai. 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


Về 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; tự nhiên có Hỗ trợ 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ữ.
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


IntelliJ 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 một giao diện duy nhất để tương tác với 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 liên quan đến sự 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 Phiên bản cuối cùng sẽ đánh giá cao sự tiện lợi của các công cụ để 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 và cho phép bạn triển khai cũng như gỡ lỗi trên các máy chủ này, giúp loại bỏ các lỗi quen thuộc. Lập trình viên Java Khó khăn của doanh nghiệp. 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.


Trong nhiều năm, Eclipse 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. Vâng, mục tiêu chính, như ngay cả cái tên đã 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.
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ể dùng truy cập nhanhđể tìm kiếm và xem trước. 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 Điểm kiểm soát, 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. Than ôi, để tìm thấy một không phù hợp Phiên bản hiện tại Ví dụ: một hình ảnh trong hướng dẫn với giao diện và bố cục nút đã lỗi thời - một điều phổ biến đố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.


NetBeans 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 điểm cấu trúc của Java 8 - biểu thức lambda, toán tử hàm và tham chiếu phương thức. Plugin JavaScript NetBeans 8 hỗ trợ rất tốt Node.js và phiên bản mới nhất Công cụ JavaScript, chẳng hạn như Gulp và Mocha, cũng như hỗ trợ trình thông dịch Nashorn JavaScript.
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 danh mục và tái cấu trúc menu con

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 một công cụ thiết kế cho GUI của Swing, trước đây gọi là "Dự án 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 chịu đựng đủ thứ sửa lỗi tự độngđã dẫn tới 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 làm cho nó rõ ràng hơn về cách CPU và bộ nhớ đang được sử dụng và có công cụ tuyệt vờiđể tìm rò rỉ bộ nhớ.

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ũng cần có những môi trường phát triển nhẹ hơn hoặc thậm chí là các trình soạn thảo mã như văn bản tuyệt vời, 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 - nhỏ môi trường tự do phát triển. Nó được tạo ra cho sinh viên tại Đại học Rice và nó đã trở nên khá phổ biến: DrJava đã được tải xuống hơn 2 triệu lần. DrJava được thiết kế để thúc đẩy sự phát triển dựa trên thử nghiệm. Khung này chứa trình chỉnh sửa mã thông minh, bảng tương tác để đánh giá mã ứng dụng, trình gỡ lỗi cấp nguồn và các công cụ kiểm tra đơn vị.
  • BlueJ là môi trường phát triển Java miễn phí được tạo ra bởi các chuyên gia từ Đại học Kent dành cho những lập trình viên mới bắt đầu. Môi trường này được hỗ trợ bởi Oracle. BlueJ có giao diện đơn giản và gọn gàng hơn nhiều so với các IDE chuyên nghiệp như NetBeans hay Eclipse và thậm chí còn bao gồm một hướng dẫn chuyên dụng về các khái niệm cơ bản về OOP.
  • JCreator là một IDE Java nhỏ khác dành cho Windows, được viết bằng C++ (vì lý do hiệu suất). Trả Phiên bản chuyên nghiệpđược trang bị trình gỡ lỗi, hỗ trợ trình hướng dẫn Ant và mã, và phiên bản miễn phí(LE) - không.
  • Eclipse Che là một IDE đám mây dựa trên trình duyệt hỗ trợ Java, C++, JavaScript, Python, PHP, Ruby và SQL.

Chọn Java IDE tùy theo dự án

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 IDE phù hợp, bạn cần cân nhắc ưu và nhược điểm và so sánh 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 đây là Maven, bạn sẽ không muốn xây dựng lại hệ thống trong Ant cho thử nghiệm địa phương. 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. 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 plugin của 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 thay vì đắm chìm trong công việc. Tôi cũng đề cập đến các lựa chọn thay thế "nhẹ nhàng", hai trong số đó được thiết kế đặ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à bạn thích một môi trường tối giản - tại sao không?

Bạn có thể tải xuống gói cài đặt trên trang web của Oracle bằng liên kết:

Hãy cài đặt Java.

Để cài đặt Java trên máy tính của bạn, hãy chạy tệp đã tải xuống, sau đó quá trình cài đặt sẽ bắt đầu (Hình 1.2).

Bấm tiếp.

Quá trình cài đặt mặc định sẽ diễn ra trong thư mục C:\Program Files\Java\jdk1.x.x_xx (thay vì số phiên bản X), nếu muốn, có thể thay đổi thư mục bằng cách nhấp vào nút Thay đổi (Hình 1.3).

Làm theo hướng dẫn của trình hướng dẫn cài đặt và quá trình cài đặt sẽ hoàn tất sau vài phút.

Khi quá trình cài đặt hoàn tất, chương trình sẽ nhắc bạn truy cập tài liệu kỹ thuật và hướng dẫn Java bằng cách nhấp vào nút Bước tiếp theo. Thao tác này sẽ mở trình duyệt của bạn tới trang tài liệu Java http://docs.oracle.com/javase/, trang này rất hữu ích để tìm hiểu.

Thiết lập các biến môi trường.

Bước tiếp theo là đặt đường dẫn đến các tệp thực thi, cụ thể là đặt các biến hệ thống PATH, CLASSPATH và JAVA_HOME.

Để thực hiện việc này, hãy mở Bảng điều khiển -> Hệ thống, bạn đang dùng Tùy chọn bổ sung hệ thống. Trong cửa sổ xuất hiện, nhấp vào nút Biến môi trường.

Trong cửa sổ mở ra trong khối Biến hệ thống bạn cần kiểm tra xem biến có tồn tại không CON ĐƯỜNG, nếu biến không tồn tại thì nó phải được tạo bằng cách nhấp vào nút Tạo nên, nếu biến PATH đã tồn tại thì cần thiết Thay đổi(Hình 1.4).

Trong cửa sổ tiếp theo, biến PATH cần được đặt thành Giá trị biến— đường dẫn đến thư mục cài đặt Java (Hình 1.5).

Nếu biến PATH đã được gán các giá trị khác thì giá trị mới sẽ được thêm vào, phân tách bằng dấu chấm phẩy “;” ở cuối dòng.

Bạn cũng cần tạo một biến LỚP HỌC, nếu nó chưa được tạo. Bạn phải chỉ định “.;” làm giá trị của nó. (Hình 1.6).

Đây là cách một biến được tạo/sửa đổi JAVA_HOME. Giá trị của biến này là đường dẫn đến thư mục cài đặt Java (như đối với PAHT), nhưng không có thư mục con bin. Ví dụ:

Giá trị ĐƯỜNG: C:\Tệp chương trình\Java\jdk1.7.0_25\bin

Giá trị trong JAVA_HOME: C:\Tệp chương trình\Java\jdk1.7.0_25

Sau khi đã xác định được các biến Quá trình cài đặt Java đã hoàn tất!

Kiểm tra cài đặt.

Để kiểm tra xem quá trình cài đặt có thành công hay không, hãy mở dấu nhắc lệnh. Để thực hiện việc này, trong menu Start của Windows, nhập cmd vào thanh tìm kiếm và nhấn Enter. Sau đó, một cửa sổ lệnh sẽ mở ra, trong đó bạn cần nhập lệnh sau.

Sau đó, nếu thông tin về phiên bản đã cài đặt java là bạn đã cài đặt thành công.

Các vấn đề thường gặp:

  • "java" không phải là một lệnh nội bộ hay bên ngoài, chương trình thực thi hoặc tệp bó.

Kiểm tra xem đường dẫn được chỉ định trong PATH có chính xác không. Cố gắng tránh khoảng trắng trong tên thư mục nơi bạn cài đặt JDK. Nếu bạn cho rằng đường dẫn được viết chính xác thì bạn nên đảm bảo rằng tệp javac.exe có trong thư mục được liệt kê trong dòng PATH và đó là JDK đã được cài đặt, không phải JDE,

  • không phải là ứng dụng win 32

Xảy ra do cài đặt phiên bản Java không phù hợp với độ sâu bit của hệ thống (ví dụ: khi cài đặt 64 phiên bản bit Java sang hệ điều hành 32 bit).

  • Lỗi nhắc bạn kiểm tra JAVA_HOME

Kiểm tra xem biến này có lưu đường dẫn đến JAVA đã cài đặt không (không có thùng rác)

Từ tác giả: Trong số tất cả các ngôn ngữ được sử dụng trong phát triển web, Java là ngôn ngữ nhạy cảm nhất. PL này được đặc trưng bởi cú pháp phức tạp, khả năng gõ dữ liệu cao và khả năng miễn nhiễm với các lỗi. Đó là lý do tại sao công cụ dành cho Java – IDE – lại rất phổ biến. Môi trường phát triển giúp bạn làm quen đá dưới nước, đang chờ lập trình viên viết bằng trình soạn thảo văn bản. Nếu bạn không muốn đi vào con đường dài và chông gai của một người viết văn bản, chào mừng bạn đến với bài đánh giá của chúng tôi về các môi trường phát triển hàng đầu phù hợp nhất với ngôn ngữ cà phê.

Bạn cần một IDE để phát triển

Java là một trong những ngôn ngữ mà môi trường phát triển không phải là ý thích của từng chuyên gia mà là một phương tiện sinh tồn thực sự. Ngôn ngữ phức tạp không thể được đọc hoặc thực thi cho đến khi tất cả các thành phần của hệ thống được cấu hình đúng cách. Đôi khi, một nhà phát triển web khó có thể hiểu tại sao mình lại cần một phần mềm cồng kềnh và mạnh mẽ như vậy. Tất cả các ngôn ngữ web, chẳng hạn như HTML/CSS, JavaScript và PHP, có thể được triển khai mà không cần phần mềm bổ sung (mặc dù thậm chí còn có IDE trả phí cao nhất cho ngôn ngữ sau - PHPStorm). Tuy nhiên, ngay khi nói đến Java, mọi thứ sẽ đâu vào đấy. Các tài liệu mã dài và phức tạp không thể được sắp xếp theo cách thủ công.

Nhưng, như mọi khi, vẫn có những người phản đối hệ tư tưởng. Một số nhà phát triển gọi IDE là “nạng nạng” chỉ dành cho những lập trình viên được đào tạo kém. Đối với họ, việc tải xuống môi trường phát triển giống như phản bội các nguyên tắc cơ bản. Thật không may, cách tiếp cận này có thể khiến nhà phát triển bị tụt lại phía sau trong quá trình phát triển lập trình: các dự án doanh nghiệp lớn, như các ứng dụng web có chức năng cao, yêu cầu sự tương tác chặt chẽ giữa các thành viên trong nhóm, khởi động nhanh và mã gỡ lỗi. Hơn nữa, kỹ năng làm việc với các IDE chính là tiêu chí để tuyển dụng vào những vị trí tốt nhất.

Tất nhiên, có những người biết cách tinh chỉnh các công cụ dành cho nhà phát triển của họ tốt đến mức một IDE chính thức trở nên không cần thiết. Tuy nhiên, môi trường phát triển tiêu tốn tài nguyên thiết bị cần thiết để chạy các công cụ dành cho nhà phát triển khác. Điều này đặc biệt thấy rõ ở phiên bản lỗi thời Windows/Linux – ngay khi môi trường phát triển bắt đầu, các tài nguyên khác sẽ bị trì trệ.

Các nhà phát triển trực tuyến hầu như luôn thích các trình soạn thảo văn bản. Chúng nhẹ hơn và cho phép bạn tạo ra các giải pháp trên đầu gối của mình. Không có công cụ bổ sung, không cần cấu hình sâu và phạm vi phần mềm rộng hơn nhiều. Đây là suy nghĩ mà các lập trình viên web duy trì cho đến khi họ bắt đầu làm việc với Java.

Tôi muốn chọn một chương trình

Lĩnh vực lập trình cung cấp nhiều giải pháp để tạo mã hoàn chỉnh. Điều này đặc biệt đúng với các môi trường phát triển khác nhau. Không chỉ các công ty lớn như Oracle mới tạo ra IDE. Làm việc trên phần mềm như vậy thường là đặc quyền của các chuyên gia muốn tối ưu hóa hoạt động của họ. Đây chính xác là những gì đã xảy ra với Visual Studio: một trong những IDE tốt nhất của tất cả các lần. Microsoft đang chuẩn bị trình bày Phiên bản Windows trong thế kỷ mới, chỉ đơn giản trình bày các công cụ của mình trong một ứng dụng. Bây giờ VS là sự lựa chọn của hàng triệu người.

Thật không may, nó không thể được gọi là “dành cho các nhà phát triển Java”. Không, điều này hoàn toàn không có nghĩa là bạn sẽ không thể viết thứ gì đó bằng Java trong môi trường phát triển này: thậm chí còn có những phần mở rộng đặc biệt. Nó chỉ tập trung hơn vào C, C# và một số sản phẩm khác của Microsoft. Java có IDE hàng đầu của riêng nó mà chúng tôi sẽ trình bày hôm nay. Tuy nhiên, trước tiên, chúng ta cần hiểu IDE lý tưởng là gì (phù hợp với ).

Đầu tiên, bạn có thể quyết định ngay rằng những công việc hoạt động trực tuyến không phù hợp với nhà phát triển Java. Chúng sẽ gây ra vấn đề trong việc diễn giải và việc đóng băng liên tục sẽ chỉ làm nản lòng việc lập trình. Một giải pháp hợp lý hơn là tải xuống một trong những phần mềm được trình bày hôm nay. Tốt hơn là bạn nên nhấp vào tải xuống một lần còn hơn là liên tục gặp lỗi. Kỷ nguyên của IDE đám mây vẫn chưa đến.

Ngoài ra, môi trường phát triển Java phải hỗ trợ một số công nghệ cần thiết để mã hóa hiệu quả. Chúng bao gồm các ngôn ngữ máy ảo Java: đáng chú ý nhất là Java 10, ngoài ra còn có Groovy và Scala. Kiểm soát phiên bản cũng là một trong những điểm mấu chốt. Chỉ Git thôi là chưa đủ: bạn cần Mercurial, SVN và những thứ khác. Không thể đoán được cái nào sẽ phổ biến trong vài năm tới (tất nhiên là Git ☺). Nhà phát triển web sẽ được hưởng lợi từ việc hỗ trợ nhiều loại ngôn ngữ, bao gồm cơ sở dữ liệu PL, ngôn ngữ web, cả front-end (TS, JS, HTML) và back-end (một trong những ngôn ngữ có mục đích chung phổ biến). Vì JVM được thiết kế để chuyển đổi các từ trong ngôn ngữ lập trình thành mã byte nên cũng cần có các trình thông dịch mạnh mẽ. Họ là những người có thể làm Java nhanh về lý thuyết, nhanh về thực tế.

Và tất nhiên, giống như bản thân ngôn ngữ Java, môi trường phát triển cho nó phải đa nền tảng. Tất cả các giải pháp khác đều cản trở sự phát triển của lập trình viên. Vì anh ấy chọn Java, điều đó có nghĩa là anh ấy đã chọn tính phổ quát.

Ba chú voi phát triển Java

Như mọi khi, có ba người đứng đầu và những người khác. Ngành phát triển web đã quen với điều này và chúng tôi sẽ không thay đổi truyền thống. Ưu điểm trong đánh giá của chúng tôi là sẽ không có phần mềm trả phí (gần như). Bạn có thể tải xuống miễn phí từng môi trường phát triển từ trang web chính thức. Ngoài ra, đây sẽ là một trong những bảng xếp hạng hàng đầu mà chúng tôi sẽ chủ quan chọn ra người chiến thắng. Chà, bạn có thể tự đưa ra quyết định dựa trên kinh nghiệm của mình và kết luận của chúng tôi.

Ý tưởng phát triển web

IntelliJ IDEA là một IDE được JetBrains xuất bản dựa trên Máy ảo Java. Bản thân môi trường cũng được viết bằng Java và một phần bằng Python và dành cho chúng. Họ ngay lập tức tự nhận mình là môi trường dành cho Java vào năm 2001. Sau đó, môi trường phát triển đã giới thiệu toàn bộ thư viện các công cụ tái cấu trúc, ngay lập tức đưa IDEA lên hàng đầu. Các nhà phát triển đã đưa ra lựa chọn không quá thiên về sự tiện lợi mà thiên về năng suất. Một số hoạt động thường lệđược thực thi hoàn toàn bởi môi trường phát triển.

Chúng tôi đã hứa rằng ngày nay sẽ không có phần mềm trả phí. Nhưng sự thật là phiên bản cuối cùng của IDEA có giá của nó, mặc dù không đáng kể (lên tới 500 USD), như đối với IDE. Nếu bạn là một người Javaist chuyên nghiệp kiếm được 20 đô la một giờ trở lên thì đây chỉ là chuyện vặt. Nhân tiện, chỉ trong gói Ultimate, nhà phát triển mới có cơ hội làm việc với nền tảng Java EE.

Nhưng cũng có một phiên bản IDEA miễn phí, không thể gọi là phiên bản rút gọn. Có, thiếu một số tính năng nhưng hỗ trợ ngôn ngữ tương tự như phiên bản thương mại. Thật thuận tiện khi viết những dòng mã đầu tiên của bạn và mở rộng nó bằng các plugin.

Xu hướng và cách tiếp cận hiện đại trong phát triển web

Tìm hiểu thuật toán để tăng trưởng nhanh chóng từ đầu trong việc xây dựng trang web

IDEA là một trong những môi trường phát triển có thể được gọi là thực sự thông minh. Thay vì chỉnh sửa và đánh dấu mà ngay cả trình soạn thảo văn bản đơn giản nhất cũng có, IDEA cung cấp tính năng tự động hoàn thành: các đoạn của chương trình đã hoàn thành được tạo ra dưới bàn tay của nhà phát triển. Thậm chí không còn đáng để nói về thực tế là tất cả các dấu ngoặc đơn và các cú pháp khác sẽ tự động bị đóng lại. Và nếu có sự cố xảy ra và IDEA không thể xử lý được sự cố, nó sẽ ngay lập tức cảnh báo cho nhà phát triển Java ở phía bên kia màn hình.

Việc tái cấu trúc xảy ra ở nhiều ngôn ngữ cùng một lúc cũng rất hấp dẫn. Những người theo chủ nghĩa Java biết rằng mã không bao giờ là Java thuần túy, đặc biệt là khi nói đến phát triển web. Điều này bao gồm các ngôn ngữ cơ sở dữ liệu, siêu văn bản, v.v. Tại thời điểm này, IDEA thực hiện điều mà nhiều người chưa có khả năng thực hiện: bằng cách phân tích chương trình bằng văn bản, IDE tách các ngôn ngữ ra khỏi nhau và phân tích chúng một cách riêng biệt.

Chương trình có các phím nóng được triển khai tốt, tất nhiên, bạn sẽ phải mất một thời gian để làm quen. Nhưng một khi mọi thứ diễn ra, năng suất sẽ tăng vọt. Họ cũng có thể kích hoạt việc gỡ lỗi mã, thao tác này xảy ra trong cửa sổ tiếp theo.

Môi trường phát triển cũng đáng chú ý vì nó không ngừng mở rộng số lượng công nghệ được hỗ trợ. Tuy nhiên, các nhà phát triển không phụ thuộc nhiều vào những cập nhật này. Họ có thể tải xuống plugin tương ứng bất cứ lúc nào.

IDE Nhật thực

Môi trường phát triển này không chỉ phổ biến đối với những người theo chủ nghĩa Java mà còn đối với các nhà phát triển web nói chung. Một lợi thế đáng kể so với IDEA chắc chắn sẽ là giá cả - Eclipse hoàn toàn miễn phí cũng như các tiện ích bổ sung của nó. Nhân tiện, những người tạo ra môi trường phát triển không có kế hoạch cạnh tranh với IDEA: họ muốn làm lu mờ thành công mà Visual Studio nhận được. Ở một mức độ nào đó, họ đã thành công: các lập trình viên web trung bình hầu như luôn thích Eclipse hơn.

Điều gì thậm chí còn tốt hơn IDEA? Truy cập miễn phí vào Java EE. Nó có sẵn ngay lập tức mà không cần thanh toán thêm hoặc cài đặt plugin. Nhân tiện, về cái sau. Cài đặt chúng trong Eclipse là một nhiệm vụ quan trọng. Họ có thể “cãi vã” với nhau, gây bất tiện cho nhà phát triển. Nhưng điều tích cực là số lượng của họ. Chúng tôi khuyên bạn nên chọn những cái chính thức, vì cách này sẽ ít có khả năng chúng xung đột với môi trường phát triển.

Eclipse được thiết kế để bạn cá nhân hóa nó cho phù hợp với bạn. Do đó, trải nghiệm đầu tiên khi làm việc với IDE có thể khiến bạn thất vọng. sử dụng thêm. Trường hợp hiếm hoi đó khi đối với một trong môi trường tốt nhất phát triển cần có sách hướng dẫn. May mắn thay, có rất nhiều video như vậy trên YouTube.

NetBeans

Đây là một môi trường phát triển được ra đời dưới ngòi bút của những người sáng tạo ra Java - Sun Microsystem. Họ muốn tạo ra Quyết định tốt nhất cho ngôn ngữ của họ và do đó đã thiết kế một IDE thân thiện không chỉ với Windows.

Đây là nền tảng đa nền tảng nhất trong danh sách của chúng tôi. NetBeans có thể chạy không chỉ trên các trục trên cùng mà còn trên bất kỳ thiết bị nào khác được trang bị JVM. Cách tiếp cận của Sun rất rõ ràng: họ muốn ngôn ngữ của mình hoạt động trên tất cả các thiết bị (từ máy tính đến máy giặt). Đương nhiên, "đậu" được gọi là môi trường phát triển chính thức cho Java, mặc dù nó không tốt lắm. Ngày nay, NetBeans đang được phát triển bởi Oracle, công ty đã mua lại Sun.

NetBeans cũng thông minh như IDEA, có khả năng tái cấu trúc thông minh. Hệ thống xử lý nhiệm vụ này tốt hơn nhiều so với Eclipse, nhưng kém hơn IDEA.

Như bạn có thể hiểu từ số lượng những gì đã nói, IDEA sẽ được gọi là tốt nhất. Dưới đây là danh sách các lý do:

hiểu biết về lập trình. Không ai hoàn thiện mã và sửa lỗi nhanh hơn IDEA;

hiệu quả tái cấu trúc;

giá. Có, Eclipse hoàn toàn miễn phí. Nhưng bạn sẽ không mua đồ ăn dở chỉ vì nó rẻ hơn phải không?

Đây là tầm nhìn của chúng tôi! Nhân tiện, Oracle có một IDE khác trong kho của mình, được gọi là JDeveloper - hoàn toàn được thiết kế riêng cho Java. Hãy thử nó và rút ra kết luận của riêng bạn. Và chúng tôi có tất cả mọi thứ!

Xu hướng và cách tiếp cận hiện đại trong phát triển web

Tìm hiểu thuật toán để tăng trưởng nhanh chóng từ đầu trong việc xây dựng trang web

Hầu hết mọi chủ sở hữu điện thoại di động nguyên thủy nhất đều quen thuộc với khái niệm nền tảng Java. Môi trường phát triển Java cho phép tạo ra các ứng dụng phổ quát có thể được sử dụng để chạy bất kể hệ điều hành được cài đặt. Hãy xem xét các khía cạnh chính của chức năng và ứng dụng của nó.

Phát triển Java?

Trên thực tế, môi trường phát triển hoàn toàn là một ngôn ngữ lập trình dựa trên các lệnh phổ biến được nhận dạng trong môi trường Java Runtime.

Nói một cách đơn giản, môi trường phát triển ngôn ngữ Java không có ban đầu nền tảng được cài đặt sẽ không hoạt động trong cùng một Windows. Nhưng sự hỗ trợ như vậy được cung cấp ban đầu, giúp giảm bớt nhu cầu cài đặt các thành phần bổ sung cho bất kỳ người dùng nào.

Ứng dụng trong công nghệ máy tính

Dự án này ban đầu được phát triển bởi Sun Microsystems, sau đó được Oracle hỗ trợ.

Nhưng cuối cùng, môi trường phát triển Java hoàn toàn độc lập với máy tính hoặc hệ thống di động.

Các mô-đun tích hợp của hệ thống di động

Nếu nói về điện thoại thông minh và máy tính bảng thì cùng một phiên bản Java) chỉ áp dụng cho việc sử dụng ứng dụng đồ họa, cho phép bạn tạo một ứng dụng Java trong vài phút.

Trên thực tế, bản thân ứng dụng thực hiện một số loại địa chỉ hoặc yêu cầu, các chức năng của chúng được cung cấp trong hệ điều hành.

Và điều này liên quan thiêt bị di động. Bạn có nhận thấy rằng đôi khi theo thời gian, Windows Phone hoặc Android bắt đầu “chọc ngoáy” về việc cung cấp các bản cập nhật ngay lập tức không? Nó không gì khác hơn là hai thành phần:

Điều đáng buồn nhất là thành phần đầu tiên không liên quan đến lỗi hệ thống. Nền tảng này hoàn toàn độc lập và có thể thực thi được về mặt lệnh theo mặc định.

Môi trường phát triển tích hợp JAVA: Ứng dụng đơn giản

Thực tế là hệ thống này được sử dụng trong phiên bản di động, không ai nghi ngờ. Môi trường phát triển được hỗ trợ Java Android, chưa kể sản phẩm "quả táo".

Tuy nhiên, xét về mặt ứng dụng thực thi thì mọi chuyện không đơn giản như vậy. Và đó là lý do tại sao.

Các applet có thể thực thi được

Trước tiên, bạn nên chú ý ngay đến hệ thống cần cài đặt trình lưu trữ thích hợp (WinRAR - ít nhất, tốt hơn - 7-Zip).

Môi trường phát triển Java đề cập đến thực tế là dữ liệu được lưu trữ dưới dạng kho lưu trữ không thể mở được phương tiện chuẩn Các cửa sổ.

Dữ liệu đã lưu trữ

Tốt nhất, bạn có thể sử dụng các máy chiết như đã đề cập ở trên. Nhưng nếu các công nghệ nén bổ sung (tối đa) được sử dụng khi tạo kho lưu trữ thì không có gì có thể giúp được ở đây.

Ngay cả việc cập nhật trình lưu trữ cũng không thể thực hiện các thay đổi cần thiết. Tại đây, bạn sẽ phải áp dụng bản cập nhật cho toàn bộ nền tảng, mặc dù ban đầu thông báo về bản cập nhật khả dụng “bị treo” trong khay hệ thống.

Cập nhật nền tảng

Việc cập nhật khá đơn giản. Chỉ cần nhấp vào biểu tượng nhấp nháy trong khay, nhắc bạn cài đặt bản cập nhật có sẵn. Thời gian nhận dạng có thể mất tới vài phút. Điều này ổn.

Nếu bạn không muốn chờ đợi, không vấn đề gì - hãy truy cập nguồn chính thức Microsoft và tải xuống chương trình từ đó. Bạn không thích phương pháp này? Cài đặt JDK hoặc J2SE, một phần mở rộng của Java, sau đó cài đặt mô-đun bắt buộc từ những cái đã chọn, sau đó quá trình kích hoạt sẽ tự động diễn ra. Khi kết thúc quá trình, bạn có thể cần khởi động lại hoàn toàn hệ thống.

Tại sao Java không phụ thuộc vào hệ điều hành?

Như đã đề cập, ngôn ngữ lập trình này hướng đối tượng (gần giống với C + / C ++, trong đó Windows được lập trình).

Nhưng bản chất của nó là máy ảo Java có khả năng dịch các lệnh từ các ứng dụng thực thi thành các mã byte đặc biệt mà bất kỳ ai cũng có thể nhận ra. hệ thống máy tính, bất kể nhà phát triển của nó. Môi trường phát triển chương trình Java được sử dụng tốt như nhau trên PC, nền tảng Intel và hệ thống di động Android, Blackberry, iOS và các hệ thống khác.

Bản thân môi trường phần mềm hệ điều hành đã có sẵn một mô-đun chịu trách nhiệm thực thi các lệnh ngôn ngữ. Và nó không hề liên quan đến các môi trường cụ thể như Microsoft .NET Framework hoặc bất kỳ môi trường nào khác mà các nhà sản xuất hệ điều hành phát triển để chạy các applet của riêng họ.

Thiêt bị di động

Đối với ngay cả điện thoại di động thông thường không có hệ điều hành, chúng cũng có hỗ trợ ban đầu cho nền tảng này. Theo quy định, trình cài đặt có phần mở rộng JAR hoặc JAD và có thể cài đặt khá dễ dàng ngay cả trên điện thoại nguyên thủy.

Trong hệ điều hành, bạn có thể sử dụng các trình lưu trữ như WinRAR, công cụ này nhận dạng các kho lưu trữ tự giải nén như tệp SFX mà không gặp vấn đề gì. Khi bạn nhấp đúp vào một tệp như vậy, nội dung của nó sẽ được trích xuất tự động và trình lưu trữ cùng với nền tảng Java sẽ hoạt động ở chế độ nền trong trường hợp này.

Tôi có thể nói gì đây, ngay cả những game cũ trên điện thoại đơn giản nhất cũng có thể được cài đặt khá đơn giản. Mặc dù người ta tin rằng họ không sử dụng hệ điều hành “tiên tiến” nhưng thực tế không phải vậy.

Ngay cả những mẫu cũ nhất cũng có loại nền tảng. Nếu không thì điện thoại sẽ hoạt động như thế nào? Hệ thống tương tự, như đã rõ, cũng có hỗ trợ tích hợp chịu trách nhiệm về môi trường phát triển Java.

Đối với các lệnh được sử dụng để tạo ứng dụng, việc mô tả chúng có thể mất quá nhiều thời gian. Nhưng nếu nảy sinh ý tưởng tạo một ứng dụng dựa trên ngôn ngữ này thì tốt hơn hết bạn nên cài đặt chương trình chuyên ngành giống như nền tảng được cung cấp bởi môi trường Delphi rất giống nhau).

Phần kết luận

Như bạn có thể thấy, môi trường phát triển Java có tính phổ biến và tương thích với mọi hệ thống. Nhưng nó hoạt động nhanh hơn nhiều so với việc dịch các lệnh dựa trên C+/C++. Theo một số nghiên cứu, tốc độ hoạt động có thể cao hơn gấp 20-30 lần mặc dù mức tiêu thụ bộ nhớ ở mức cao hơn.

Nhưng tóm lại, cần lưu ý đến tính linh hoạt thực sự mà môi trường phát triển Java mang lại. Trên thực tế, nó tương thích với tất cả các hệ thống, điều này khiến nó trở nên phổ biến nhất khi tạo các ứng dụng hoặc trò chơi đa phương tiện.

Điều đáng nói riêng là phiên bản mới nhất Java dựa trên sự hỗ trợ của các công cụ lập trình chung, dựa trên công nghệ Eiffel và C#, về cơ bản khác với các công cụ C++. Ở đây bạn có thể sử dụng chuyển đổi tự động các loại vô hướng dữ liệu và nhập cái gọi là trường tĩnh, chưa kể đến khả năng tạo tài liệu đi kèm với mã nguồn.

Java SE 6 giới thiệu nhiều tính năng mới, thậm chí bao gồm nhận dạng lịch Nhật Bản và lịch Phật giáo, khả năng tạo máy chủ HTTP đầy đủ, tăng tốc truyền luồng lớp và dữ liệu nén với cải thiện hiệu suất lên tới 70%, chưa kể bảng điều khiển JConsole , hỗ trợ OpenGL và DirectX.

Điều này chủ yếu áp dụng cho các bộ điều hợp đồ họa, mặc dù nó thậm chí có thể áp dụng cho việc sử dụng các thiết bị âm thanh (thường là các thiết bị ảo dựa trên trình điều khiển ASIO4ALL). Điều tương tự cũng xảy ra với một số bộ tổng hợp phần mềm hoặc bàn phím MIDI. Nhưng việc sử dụng các ứng dụng Java thực thi không phải lúc nào cũng được cung cấp.

Trong lịch sử hơn mười năm của ngôn ngữ Java, không một thế hệ môi trường phát triển tích hợp (IDE) nào thay đổi. Sự phát triển của các công cụ IDE là do nhiều yếu tố, sự kết hợp của chúng được gọi là công nghệ thông tin, bao gồm các thành phần phần mềm và phần cứng, cũng như sự phát triển của chính ngôn ngữ, không chỉ diễn ra theo chiều sâu, tối ưu hóa một số khả năng, mà còn được thể hiện rõ ràng bằng sự xuất hiện của các thư viện Swing mới thay vì AWT lỗi thời, nhưng cũng “theo chiều rộng”, đây là sự xuất hiện của các công nghệ JSP, tích hợp tốt hơn với DBMS và máy chủ ứng dụng, hỗ trợ các công nghệ Spring, Hibernate, v.v.

Và nếu các công cụ IDE đầu tiên, theo cách hiểu ngày nay, là một trình soạn thảo văn bản thô sơ, chỉ dùng để nhập mã nguồn và tất cả các công việc khác, từ biên dịch đến lắp ráp cuối cùng của dự án, phải được thực hiện thủ công, thì những công cụ hiện đại ngày nay thực sự là những thiết bị đa chức năng, không chỉ đảm nhận các chức năng thông thường mà còn có một số chức năng bổ sung, bắt đầu từ tạo tự động Javadoc, tái cấu trúc, lập hồ sơ, thiết kế UML, một ứng dụng khách để kết nối với bất kỳ DBMS nào và kết thúc bằng những DBMS kỳ lạ như vậy, không liên quan đến quá trình phát triển, như kiểm tra chính tả.

Tất nhiên, cái giá phải trả cho tất cả những “tiện ích” này là nhu cầu ngày càng tăng về tài nguyên máy tính. Có ý kiến ​​​​cho rằng 80% người dùng chỉ sử dụng 20% ​​khả năng của phần mềm hiện có, điều này cũng có thể được chiếu lên các công cụ IDE. Vì tất cả những ưu điểm của chúng chỉ có thể được đánh giá cao bởi một lập trình viên đã phát triển công nghệ phù hợp trong nhiều năm. Và các lập trình viên mới làm quen khó có thể đánh giá đầy đủ công cụ này hay công cụ kia, do đó, theo quy luật, việc lựa chọn độc lập của nó diễn ra theo hai tiêu chí - sự rõ ràng trực quan của giao diện và các đặc tính thời gian và tài nguyên khác nhau, chẳng hạn như tải, biên dịch, khởi chạy và dung lượng RAM bị chiếm dụng. Rốt cuộc, lúc đầu bạn chỉ cần một trình biên dịch, trình gỡ lỗi và chính máy Java.

Do đó, mục đích của bài viết này là xem xét thị trường hiện tại của các công cụ IDE để phát triển chương trình sử dụng ngôn ngữ Java, xác định điểm mạnh và điểm yếu của từng công cụ theo các tiêu chí khác nhau, dựa trên phân tích kết quả của dự án: "Thử nghiệm và phân tích môi trường phát triển phần mềm cho Java" ("Thử nghiệm và phân tích IDE cho Java" (TAIDEJ)), được tổ chức bởi chúng tôi, nhóm điều phối trang web và diễn ra từ ngày 1 tháng 1 năm 2006 đến ngày 1 tháng 9 năm 2006 trên trang web www. địa điểm.

Dự án được chia thành nhiều giai đoạn. Ở giai đoạn đầu tiên, chúng tôi đã phát triển một bảng câu hỏi, Bảng 2 và biên soạn danh sách các Java-IDE, Bảng 3, được phát triển kể từ khi ngôn ngữ Java2 ra đời cho đến nay, bao gồm các liên kết đến cả hai công cụ IDE mà mọi người đều biết và đến những cái khá kỳ lạ. Danh sách này được cập nhật định kỳ nhờ những người tham gia của chúng tôi. Ở đây chúng tôi muốn bày tỏ lòng biết ơn sâu sắc đến tất cả những người tham gia dự án, cũng như tất cả những người đã thảo luận và phê bình mang tính xây dựng cho chúng tôi trên các diễn đàn, bảng 1

Bảng 1. Java - diễn đàn
Java - Diễn đàn trên Sources.Ru
RSDNhttp://www.rsdn.ru/?forum
Diễn đàn - Juga.Ruhttp://forum.juga.ru/
Diễn đàn lưu trữ CNTThttp://www.javable.com/forum
Diễn đàn Java - Lập trình Javahttp://forum.java.sun.com/
Diễn đàn java.nethttp://forums.java.net
Javalobby.orghttp://www.javalobby.org/java/forums
Thế giới Javahttp://www.javaworld.com/javaforums
Diễn đàn máy tính Ru.Boardhttp://forum.ru-board.com
Lập trình - Phần cứng iXBT BBShttp://forum.ixbt.com
Diễn đàn JUG KPIhttp://jug.in.ntu-kpi.kiev.ua/forum
Diễn đàn CIThttp://forum.citforum.ru
Mã hóa thực sự.NEThttp://forums.realcoding.net

Khi phát triển bảng câu hỏi, chúng tôi đã cố gắng tìm hiểu những vấn đề sau:

  1. xu hướng thay đổi sở thích của các lập trình viên, vì một khi các công cụ thành công đã ngừng phát triển hoàn toàn hoặc vì lý do nào đó, các công ty phát triển chúng đã ngừng kinh doanh và do đó nhiều người phải chuyển từ công cụ IDE này sang công cụ IDE khác;
  2. cách lập trình viên chọn công cụ này hay công cụ kia;
  3. cách lập trình viên đánh giá các công cụ mà anh ta sử dụng theo thang điểm năm;
Bảng 2. Bảng câu hỏi

Các nhiệm vụ tiếp theo bao gồm xử lý và phân tích các thông tin thu được thông tin thống kê, đánh giá về “cường độ tài nguyên” của các phương tiện phổ biến. Ngoài ra, các đánh giá về một số công cụ cũng đã được chuẩn bị và đăng tải trên trang web của dự án.

Bảng 3. Danh sách IDE cho Java.
Tênnhà chế tạoTrang web sản phẩm
1 Nhà thiết kế Applet chuyên nghiệpđối tượng truyền hìnhhttp://www.tvobjects.com/
2 sự thích thúPhần mềm tiến bộhttp://apptivity.progress.com/
3 Tuyệt vời Jawa 1.0Thiết kế tương tác tuyệt vờihttp://www.awesume.se/en/index.htm
4 Bluettecông cụ Java RAD miễn phíhttp://blue.donga.ac.kr/bluette/
5 BongoMarimbahttp://www.marimba.com/
6 Phiên bản Internet ClarionTập đoàn TopSpeedhttp://www.topspeed.com/
7 CodeWarrior ProMetroWerkshttp://www.metrowerks.com/desktop/pro/
8 Mã vũ trụSGIhttp://www.sgi.com/Products/cosmo/code/index.html
9 ED cho WindowsMềm mại như nó đượchttp://www.getsoft.com/ed_java.html
10 thuốc tiênCông ty TNHH Công nghệ Elixirhttp://www.elixir.com.sg/
11 Trình tạo miễn phíTập thể FreeBuilderhttp://www.freebuilder.com/
12 SỰ HIỂU BIẾTDự án GRSPhttp://www.eng.auburn.edu/grasp/
13 Máy màiTrao đổi mô hìnhhttp://www.tpex.com/features.htm
14 Siêu dâyKinetixhttp://www.ktx.com/
15 Hoạt hình Jambaxen kẽhttp://www.jamba.com/
16 Jambaxen kẽhttp://www.jamba.com/
17 JavaManHartWarehttp://homepage.dave-world.net/~hartware/
18 Studio JavaHệ thống vi mô mặt trờihttp://www.sun.com/
19 laoBước về phía trướchttp://www.ozemail.com.au/~stepsoft/
20 JaWizHệ thống InfinityEdgehttp://www.infinityedge.com/
21 JBuilderDoanh nghiệphttp://www.inprise.com/jbuilder/
22 JDesignerProchống đạnhttp://www.bulletproof.com/
23 JDE cho EmacPaul Kinnucanhttp://sunsite.auc.dk/jde/
24 JADI SujalShahhttp://dan.hcf.jhu.edu/sujal/winjadi/
25 đồ gáhình chữ Shttp://www.scubed.cc/
26 JipeHình dung dịch vụ Internethttp://www.users.globalnet.co.uk/~eis/jipe.htm
27 JPadModelWorkshttp://www.modelworks.com/
28 KalimantanDoanh nghiệp thời gian thực, Inc.http://www.real-time.com/java/kalimantan/index.html
29 KAWATEK-TOOLS, Inc.http://www.tek-tools.com/kawa/
30 dung nhamtrang Dânhttp://www.hnet.demon.co.uk/products/lava/index.html
31 Vong linhThiết kế đảohttp://www.island-design.co.uk/
32 NetBeansNetBeans, Inc.http://www.netbeans.com/
33 OEW 1.0Phần mềm đổi mớihttp://www.isg.de/OEW/Java/
34 PHỤ TÙNG cho JavaChia sẻ đối tượnghttp://www.objectshare.com/p4j/p4j2info.htm
35 PowerJSybasehttp://www.sybase.com/products/powerj/
36 Máy rangTrí tuệ tự nhiênhttp://www.roaster.com/roaster/
37 SNiFF+Phần mềm TakeFivehttp://www.takeyear.com/sniff/
38 Tinh thầneVisNet Limitedhttp://www.evis.net/
39 SuperCedeSuperCede, Inc.http://www.supercede.com/
40 VisajCông nghệ phần mềm hoàng giahttp://www.ist.co.uk/
41 Ngọc Tầm NhìnPhần mềm tầm nhìnhttp://www.vision-soft.com/
42 VisualAge cho JavaIBMhttp://www.software.ibm.com/ad/vajava/
43 Quán cà phê trực quanSymantechttp://cafe.symantec.com/
44 Trực quan J++Microsofthttp://www.microsoft.com/visualj/
45 Nền tảng ứng dụng webDòng bạchttp://www.silverstream.com/products/main/main_f.htm
46 IDE Web JavaChami.comhttp://www.chami.com/webide/
47 Xóa sạchphần mềmbuero m&bhttp://www.softwarebuero.de/wipeout-eng.html
48 Ý tưởng IntelliJÝ tưởng IntelliJhttp://www.jetbrains.com/idea/
49 nhật thựcnhật thực.orghttp://www.eclipse.org
50 Nhà phát triển JLời tiên trihttp://www.oracle.com/technology/products/jdev/index.html
51 JCreatorPhần mềm Xinoxhttp://www.jcreator.com/
52 jSửa đổijSửa đổihttp://www.jedit.org/
53 X-Phát triểnPhần mềm đa lõihttp://www.omnicore.com/
54 Gel IDEGExperts Inchttp://www.gexperts.com/
55 Nhà phát triển ứng dụng IBM Web Sphere StudioPhần mềm IBMhttp://www-306.ibm.com/software/awdtools/studioappdev/
56 mở rộngtiểu thuyếthttp://www.novell.com/products/extend/

Thứ nhất, về phương thức phân phối, tương ứng, IDE có thể được chia thành trả phí (JBuilder, Visual Cafe...) và miễn phí (NetBeans, Eclipse, Gel), mà bất kỳ ai cũng có thể tải xuống từ trang web của nhà sản xuất.

Chúng tôi quyết định nêu bật tiêu chí phân loại thứ hai không dựa trên bất kỳ khả năng cụ thể nào, vì trên cơ sở này, có thể tách IDE ad infinitum mà ra khỏi tổng thể các khả năng của bản thân công cụ và nhu cầu của nó về tài nguyên. Tất nhiên, trong trường hợp này, sự hiện diện của trình tạo giao diện trực quan được ưu tiên hàng đầu, từ đó đưa ra các yêu cầu nhất định đối với tài nguyên.

Dựa trên tiêu chí này, chúng ta có thể phân biệt các công cụ không có công cụ trực quan để phát triển GUI (đơn giản), ví dụ Gel, JCreator và những công cụ có (phức tạp) JBuilder, Idea.

Theo đó, cái trước chiếm ít hơn 30 MB RAM trong quá trình hoạt động và cái sau chiếm hơn 100 MB. Đối với bản thân các công cụ phát triển trực quan, theo kinh nghiệm của tôi và theo ý kiến ​​​​của nhiều lập trình viên có nhiều năm kinh nghiệm, việc sử dụng chúng không phải lúc nào cũng phù hợp với những lập trình viên mới làm quen, mặc dù một mặt chúng có vẻ giúp việc phát triển dễ dàng hơn nhưng về mặt mặt khác, chúng gây khó khăn cho việc hiểu một cách khái niệm những thứ cơ bản như thư viện Swing như trình quản lý vị trí, xử lý sự kiện, v.v.

Ngoài ra, một nhóm sinh viên DSTU đã tham gia vào dự án (tôi đặc biệt muốn đề cập đến Egorenkov V. và Lagutin D.), những người mới bắt đầu nghiên cứu OOP, nhiệm vụ của họ là làm quen với IDE cho Java, cài đặt chúng , sửa các tham số khi tải, đưa ra nhận xét của bạn và cuối cùng là lựa chọn phương tiện của riêng bạn cho công việc ban đầu. Kết quả thử nghiệm được tóm tắt trong Bảng 4.

Bảng 4. Kết quả thử nghiệm công cụ IDE
Tùy chọnGeIJСreator 3.5JBuilder XÝ tưởng 5NetBean 4.1
Thời gian cài đặt1 giây1-1,5 giây58 giây22 giây50 giây
kích thước gói đã cài đặt10,3 MB6,49 MB332MB157MB118MB
Kích thước phân phối4,21 MB3,6 MB178 MB51,6MB46,4MB
Phóng5 giây1-1,5 giây9 giây6 giây6 giây
Dung lượng chiếm dụng trong RAM17828 KB12960 KB74128 KB65604 KB61409 Kb
Dấu chân bộ nhớ ảo9020 KB14960 KB78588 KB76416 KB70406 Kb

* Cấu hình cơ bản dựa trên máy dựa trên: CPU Athlon64 3000+; RAM - 1024MB DDR-SDRAM (pc3200)

Sau đó, một cuộc hội thảo đã được tổ chức để tổng kết kết quả công việc, kết quả là người ta xác định rằng ở giai đoạn đầu của công việc, khi quá trình nghiên cứu các đặc điểm cú pháp của ngôn ngữ đang diễn ra, có không cần sử dụng các khả năng mà các IDE phức tạp cung cấp, mặc dù tất nhiên, nhiều người quan tâm đến các cách để nhanh chóng phát triển giao diện, vì tùy chọn này là trực quan nhất và cho phép bạn nhận được kết quả ngay lập tức. Tuy nhiên, như bạn đã biết, phát triển giao diện là một phần không thể thiếu, nhưng không phải là điều quan trọng nhất. phần quan trọng các ứng dụng. Và yêu cầu về tài nguyên ngày càng tăng từ các IDE phức tạp, đặc biệt khi tính đến thực tế là không phải tất cả học sinh đều có máy tính ở nhà với thậm chí 512 MB RAM, khiến ưu điểm không thể phủ nhận một IDE đơn giản, vì vậy Gel được công nhận là IDE dẫn đầu trong số tất cả các IDE hiện có.

Tên% phiếu bầuCấp
1 JBuilder21.47 3.0
2 nhật thực16.64 3.3
3 NetBeans14.22 2.9
4 Ý tưởng IntelliJ11.66 3.5
5 Nhà phát triển J7.11 2.8
6 Trực quan J++5.26 1.8
7 JCreator4.26 2.3
8 VisualAge cho Java3.69 2.8
9 Studio Java3.41 2.0

Dựa trên điều này, hãy phân tích vị trí mà một lập trình viên tiếp cận việc lựa chọn công cụ một cách độc lập.

  1. Giao diện. Đây là thành phần đầu tiên mà người dùng gặp sau khi cài đặt và tạo nên ấn tượng đầu tiên về chương trình, trên cơ sở đó có thể đưa ra lựa chọn cuối cùng. Ở đây không chỉ đánh giá thiết kế tổng thể, mặc dù tất nhiên nó cũng ảnh hưởng đến theo một cách nào đó, mà còn sự thuận tiện về vị trí và cấu hình của các thành phần như windows mã nguồn, cửa sổ dự án, v.v.
  2. Cài đặt. Theo đó, sau khi cài đặt và khởi chạy môi trường phát triển lần đầu tiên, nó sẽ được cấu hình, tức là. đường dẫn chứa SDK, DOCS, J2EE đã cài đặt sẽ được chỉ định. Theo quy định, không có sự khác biệt đáng kể nào được quan sát thấy trong thành phần này. Hơn nữa, các công cụ hiện đại thường xác định độc lập các thành phần được cài đặt.
  3. Trình soạn thảo mã. Thiết lập hiển thị mã nguồn, theo quy luật, cũng không đa dạng lắm, trong bất kỳ công cụ nào, bạn có thể dễ dàng tùy chỉnh phông chữ, kích thước cũng như màu sắc của nó. Một lợi thế quan trọng là sự hiện diện của trợ lý khi chuột “treo” trên bất kỳ biến hoặc phương thức nào, một ToolTip (cửa sổ ngữ cảnh) khá chi tiết sẽ bật lên trong đó tất cả các tham số của đối tượng được mở rộng và mô tả. Cũng có rất nhiều những điều nhỏ nhặt dễ chịu, hiển thị đánh số dòng, hiển thị cấu trúc lớp, hiển thị ký tự đoạn văn, kiểm tra chính tả.

Sau khi phân tích, dựa trên những đặc điểm này, tất cả các công cụ IDE tồn tại ngày nay, bạn có thể thấy rằng không có sự khác biệt đáng kể nào giữa chúng ngoài thiết kế giao diện và rõ ràng khái niệm về sự tiện lợi là chủ quan.

Phân tích kết quả khảo sát, bảng 5,6. Như đã mô tả ở trên, trong khảo sát của chúng tôi, số tiền được chia thành hai nhóm, nhóm đã được sử dụng trước đây và nhóm hiện đang được sử dụng. Và nếu có sự đa dạng giữa các phương tiện đã được sử dụng trước đây, chúng tôi đã chọn những phương tiện nhận được hơn 3% số phiếu bầu từ Tổng sốđã tham gia cuộc khảo sát, không có sự đa dạng như vậy giữa những người hiện đang sử dụng và chúng tôi buộc phải giảm tỷ lệ phiếu bầu, và thậm chí mặc dù vậy, chúng tôi không nhận được nhiều sự đa dạng.

Như bạn có thể thấy, công cụ IDE “đơn giản” JCreator thường xuyên tham gia vào các cuộc lựa chọn, điều này rõ ràng được giải thích bởi thực tế là nó khá dễ học và không yêu cầu tài nguyên, do đó nó rất phổ biến đối với những người mới lập trình. JBuilder đã đánh mất vị thế của mình, điều này rõ ràng là do các công cụ miễn phí như Eclipse và NetBeans bắt đầu vượt qua nó về khả năng của chúng. Eclipse nên được công nhận là người dẫn đầu không thể tranh cãi, vì nó không hề mất đi vị trí khá cao mà thậm chí còn tăng lên. Sự phổ biến của JDeveloper gắn liền với việc nó tập trung vào Oracle DBMS. Sự phổ biến của IntelliJ IDEA là do tại một thời điểm nhất định, các nhà phát triển đã có thể giới thiệu một sản phẩm có khả năng mạnh mẽ và trong vài năm, họ đã khá thành công trong việc duy trì thương hiệu của mình ở mức cao, đó là cũng được xác nhận bởi xếp hạng người dùng cao.

Nhìn chung, cần lưu ý rằng kết quả xếp hạng có thể dự đoán được, câu hỏi chỉ liên quan đến việc phân bổ vị trí và điều ngạc nhiên đối với các tác giả là NetBeans nhận được tỷ lệ phiếu bầu tương đối nhỏ, đặc biệt là khi xét đến khả năng của phiên bản mới nhất .

Phân tích lý do chọn công cụ IDE cho thấy việc lựa chọn công cụ thế hệ đầu tiên thường được thực hiện một cách tình cờ hoặc dựa trên kết quả phân tích độc lập, điều này là đương nhiên, vì tại thời điểm đó quá trình hình thành của cả hai ngôn ngữ đều diễn ra. và các công cụ phát triển đã diễn ra. Các sản phẩm thế hệ thứ hai được lựa chọn chủ yếu nhờ sự phân tích độc lập hoặc lời khuyên từ bạn bè. Điều này rõ ràng là do vào thời điểm này, cả nhóm lập trình viên Java chuyên nghiệp và thị trường dành cho các nhà phát triển chính của các công cụ IDE đã hình thành.

Bảng 7. Lý do chọn IDE

Vì vậy, ngày nay các IDE phát triển Java dẫn đầu là IntelliJ IDEA, Eclipse và NetBeans. Nhìn chung, chúng đều có chức năng gần giống nhau và khá khó để đánh giá cái nào là tốt nhất. Do đó, khi chọn một công cụ, rõ ràng bạn cần tập trung vào IDE mà dự án đang được phát triển nếu lập trình viên tham gia nhóm phát triển hoặc chọn công cụ dễ tiếp cận nhất nếu bạn dự định phát triển một dự án độc lập.

Danh sách các nguồn được sử dụng

  1. Zhmailov B.B. Ưu điểm và nhược điểm của việc phát triển chương trình Java mà không sử dụng công cụ IDE. Tạp chí “Bản tin máy tính và công nghệ thông tin” số 6, 2006.
  2. , Sergey Berdachuk,"Oracle JDeveloper 10g - Môi trường phát triển ứng dụng Java"
  3. , Alexey Litvinyuk, "Giới thiệu về môi trường phát triển tích hợp Eclipse"
  4. , Alexander Demyanenko, "Tổng quan ngắn gọn về IDE - Jbuilder"
  5. , Alexander Demyanenko, "Tổng quan ngắn gọn về IDE - Ý tưởng"
  6. , Boris Zhmailov, "Tổng quan ngắn gọn về IDE - Gel"
  7. , Tổng quan về các công cụ tái cấu trúc tự động trong Java IDE