Lựa chọn IDE phù hợp khi lập trình với ngôn ngữ Java

Khi mới bắt đầu lập trình với ngôn ngữ Java, chắc hẳn nhiều bạn còn băn khoăn không biết nên lựa chọn IDE gì phù hợp để hiệu quả công việc là cao nhất?

Bài viết dưới đây sẽ ưu tiên so sánh giữa hai Java IDE thông dụng và mạnh mẽ hiện nay là: Eclipse và IntelliJ IDEA.

** Vậy bạn cần gì từ một Java IDE? (Tính đến thời điểm tháng 1/2017) **

  • Hỗ trợ Java 8, Scala, Groovy hay bất kỳ ngôn ngữ JVM nào khác.
  • Hỗ trợ các application servers và các web frameworks: Spring MVC, JSF, Struts, GWT, Play, Wicket, Grails and Vaadin.
  • Tương thích với các hệ thống xây dựng và quản lý versions như: Ant, Maven, Gradle; Git, SVN, CVS, Mercurial và Bazaar.
  • Hơn thế nữa, IDE nên có thể hỗ trợ lớp client và cơ sở dữ liệu: Javascript, HTML, SQL, JSP, Hibernate và Java Persistence API.
  • Và dĩ nhiên là việc edit, build, debug và test hệ thống một cách dễ dàng là một yêu cầu tối thiểu. Nếu cần thiết thì nên có khả năng kết nối tới ticket system và CI/CD.
  1. Intellij IDEA

    IntelliJ IDEA, “thủ lĩnh” của Java IDE cả về tính năng và giá cả, có hai phiên bản: Community miễn phí và Ultimate mất phí với các tính năng bổ sung.

    Phiên bản Community dành cho JVM và Android. Nó hỗ trợ Java, Kotlin, Groovy, và Scala; Android; Maven, Gradle, SBT; và Git, SVN, Mercurial, và CVS. Phiên bản Ultimate dành cho phát triển ứng dụng web và doanh nghiệp, hỗ trợ ClearCase, và TFS ngoài Git, SVN, Mercurial, và CVS; hỗ trợ JavaScript và TypeScript; hỗ trợ Java EE, Spring, GWT, Vaadin, Play, Grails, và các framework khác; và bao gồm các công cụ cơ sở dữ liệu và SQL.

  • Deep insight into your code
    Tô màu cú pháp và giúp hoàn thành các code đơn giản. IDEA cung cấp “smart completion”, nó có thể bật lên một danh sách các biểu tượng thích hợp nhất trong bối cảnh cụ thể. Chúng được xếp hạng bởi tần số cá nhân sử dụng. “Chain completion” đi sâu hơn và hiển thị một danh sách các biểu tượng truy cập thông qua methods hoặc getters trong bối cảnh cụ thể. IDEA cũng bổ sung thêm các thành phần như static, constants, lệnh import.
    Mã code Java thường chứa ngôn ngữ khác giống như strings. IDEA có thể liên kết đoạn code SQL, XPath, HTML, CSS và/hoặc JavaScript vào trong chuỗi Java. Đối với vấn đề đó, nó có thể cấu trúc lại mã trên nhiều ngôn ngữ. Ví dụ: nếu bạn đổi tên một class trong lệnh JPA, IDEA sẽ cập nhật các lớp entity và JPA expression tương ứng.
    Khi bạn đang muốn cấu trúc lại đoạn mã, một trong những điều bạn muốn là cấu trúc lại các bản sao của mã. IDEA Ultimate có thể phát hiện ra các bản sao và các phần tương tự và tái cấu trúc lại chúng.
    IntelliJ IDEA phân tích mã của bạn khi nó được tải và khi bạn gõ. Nó cung cấp các điều tra, cùng một danh sách các bản sửa lỗi nhanh đến các vấn đề được phát hiện.
  • Developer ergonomics

    Intellij thiết kế IDEA với dòng chảy sáng tạo của nhà phát triển — còn gọi là “being in the zone”. Cửa sổ Project tool trong hình vẽ được ẩn đi với chỉ một click chuột, do đó bạn có thể tập trung vào trình soạn thảo mã. Mọi thư bạn muốn trong khi chỉnh sửa là một phím tắt bàn phím, bảo gồm cả việc đưa lên các định nghĩa biểu tượng trong một cửa sổ pop-up. Thiết kế của IDEA debugger khá ổn. Giá trị của biến hiển thị ngay trong cửa sổ soạn thảo, bên cạnh là mã nguồn tương ứng. Khi trạng thái của biến thay đổi thì nó thay đổi màu sắc.

  • Built-in developer tools
    IntelliJ IDEA cung cấp giao diện thống nhất cho hầu hết các hệ thống kiểm soát version lớn, bao gồm Git, SVN, Mercurial, CVS, Perforce, và TFS. Bạn có thể làm tất cả các quản lý thay đổi trong IDE.
    IDEA cũng cung cấp công cụ xây dựng tích hợp, chạy thử nghiệm, coverage cũng như cửa sổ terminal. Intellij không có profiler riêng nhưng nó hỗ trợ một số profiler từ bên thứ ba thông qua plugin.
    Debugging Java sẽ là một khó khăn lớn khi những bí ẩn xẩy tra trong các class mà bạn không có mã nguồn. IDEA hỗ trợ với một trình dịch ngược trong trường hợp này.
    Lập trình phía Server Java thường liên quan đến làm việc với cơ sở dữ liệu, vì vậy IDEA Ultimate bao gồm các công cụ cơ sở dữ liệu SQL.
    Intellij IDEA hỗ trợ tất cả JVM application server lớn, và có thể triển khai, gỡ lỗi trong các server, giải quyết được khó khăn lớn của nhà phát triển Enterprise Java. IDEA cũng hỗ trợ Docker thông qua plugin với cửa sổ công cụ Docker.
  • Polyglot programming
    IDEA đã mở rộng hỗ trợ Spring, Java EE, Grails, Play, Android, GWT, Vaadin, Thymeleaf, React, AngulaJS và các framework khác. Không phải tất cả trong số này là Java framework. Ngoài Java, IDE còn hiểu được ngôn ngữ khác nhau như: Groovy, Kotlin, Scala, Javascript, TypeScript và SQL. Nếu bạn cần thêm, hiện nay có trên 19 plugins, bao gồm cả các plugin cho R, Elm và D.
  1. Eclipse IDE

    Là một trình duyệt phổ biến lâu nhất trong Java IDEA, miễn phí và open source, được viết phần lớn bởi ngôn ngữ Java. Tính đóng gói của Java giúp cho Eclipse chạy đa nền tảng như trên Linux, Mac OS X, Solaris, và Window. Eclipse chạy khá chậm, nhất là với phần cứng và JVM cũ hơn. Ngay cả ngày nay, chúng ta cũng có thể cảm nhận được sự chậm chạp này khi nó cập nhật ngay trong background với nhiều plugin được cài đặt.
  • Extensible tools support
    Hỗ trợ một hệ sinh thái plugin là một thế mạnh của Eclipse. Marketplace Eclipse chứa hơn 1.700 giải pháp hiện nay, và các plugin cộng đồng có thể hoặc không thể làm việc như quảng cáo. Tuy nhiên, plugins của Eclipse bao gồm hỗ trợ cho 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 Java servers cũng được hỗ trợ: nếu bạn định nghĩa một kết nối server mới từ Eclipse, bạn sẽ đến một danh sách các thư mục nhà cung cấp, bên dưới mà bạn sẽ tìm thấy khoảng 30 application server, trong đó có 9 phiên bản của Apache Tomcat. Các nhà cung cấp thương mại có xu hướng gộp các dịch vụ của họ với nhau: ví dụ, chỉ có một mục dưới Red Hat JBoss Middleware, trong đó bao gồm WildFly và EAP.
  • Editing, browsing, refactoring, and debugging
    Có thể hơi khó khăn với lần đầu sử dụng Eclipse IDE. Nhiệm vụ đầu tiên của bạn là làm quen với khái niệm và cấu trúc của workspace, perspective, view và functions có được do plugin được cài.
    Trong Eclipse có nhiều hơn một cách để hoàn thành task. Ví dụ bạn có thể duyệt code cùng các gói explorer hoặc/và các perspective, các thứ đều cần đến sở thích cũng như kinh nghiệm.
    Công cụ tìm kiếm trong Java cho phép bạn tìm các khai báo, tài liệu tham khảo, số lần xuất hiện của package, type, method và field. Bạn cũng có thể sử dụng Quick Access để nhanh chóng tìm kiếm hay sử dụng.
    Thêm methods và tạo class được hỗ trợ các chú thích lỗi và hỗ trợ nội dung. Eclipse IDE có các template cho các đoạn mã thông dụng như getter, setter, hỗ trợ tự động tạo và quản lý import thư viện. Việc cấu trúc lại đoạn mã Java trong Eclipse được hỗ trợ bởi 23 phép tính. Việc này có thể được thực hiện tương tác hoặc có thể thực hiện theo kịch bản.
    Eclipse hỗ trợ debugging cả local và remote, giả định rằng bạn đang sử dụng một JVM thứ hỗ trợ cả debugging từ xa. Debugging thường khá tiêu chuẩn: đặt breakpoint, sau đó xem các biến trong một tab. Bạn có thể đi qua các đoạn mã và đánh giá các biểu thức.

    Elipse hỗ trợ nhiều các tài liệu, tiền tệ, tiện ích… Nó không phải là điều gì bất thường để phát hiện ra rằng các tài liệu chứa ảnh không phù hợp với version hiện tại của phần mềm hay các tổ hợp phím cho hệ điều hành là khác nhau từ các gói trong help. Nó có thể là một nhược điểm của open source khi documentation có thể tụt hậu so với phần mềm theo tháng, thậm chí nhiều năm.

Tóm lại, nếu bạn mới bắt đầu code Java nên chọn Eclipse vì nó miễn phí và đủ tốt để dùng cho khởi đầu với Java. Nếu bạn chịu chi thì việc đầu tư vào Intellij IDEA Ultimate là thông minh với khả năng debug nhanh, hỗ trợ autosave, giao diện định hướng thân thiện người dùng hơn so với Eclipse.

Lựa chọn IDE phù hợp khi lập trình với ngôn ngữ Java
5 (100%) 10 votes

Add Comment