Nếu bạn là một người mới bắt đầu học lập trình Java, bạn có thể nghĩ rằng liệu Java được sử dụng thực tế ở đâu? Bạn không thấy nhiều trò game được viết bằng Java, ngoại trừ game Minecraft, các công cụ desktop như Adobe Acrobat, Microsoft Office không được viết bằng Java, các hệ điều hành như Linux hay Windows cũng vậy, thế thì Java chính xác được sử dụng ở nơi nào? Liệu nó có bất kỳ ứng dụng nào trong thế giới thực hay không? Vâng, bạn không phải là người duy nhất thắc mắc điều đó, rất nhiều lập trình viên đã đặt ra câu hỏi này trước khi bắt đầu với Java, hoặc sau khi chọn Java là một trong những ngôn ngữ lập trình ở trường đại học.

Dù sao thì bạn cũng đã có một manh mối về nơi Java được sử dụng khi cài đặt Java vào máy tính để bàn của bạn, Oracle cho biết có hơn 3 tỷ thiết bị chạy Java, đó là một con số rất lớn phải không nào? Hầu hết các công ty lớn đều sử dụng Java theo cách này hay cách khác. Nhiều ứng dụng phía máy chủ được viết bằng Java để xử lý hàng chục triệu request mỗi ngày, các ứng dụng giao dịch chứng khoán cũng được viết bằng Java, ví dụ ứng dụng LMAX được xây dựng trên thư viện Disruptor. Trong bài viết này, chúng ta sẽ thấy chính xác hơn, những loại dự án nào được viết bằng Java, Java thống trị ở trong ngành hoặc lĩnh vực nào và chính xác nơi nào Java được sử dụng hữu ích trong thực tế?

Các ứng dụng Java trong thế giới thực

Java được sử dụng ở rất nhiều nơi trong thế giới thực, từ các trang web thương mại điện tử đến các ứng dụng Android, từ ứng dụng khoa học đến ứng dụng tài chính như các hệ thống giao dịch điện tử, từ các trò game như Minecraft cho đến các ứng dụng desktop như Eclipse, Netbeans và IntelliJ, từ thư viện mã nguồn mở tới các ứng dụng J2ME v.v... Chúng ta hãy xem xét một cách chi tiết hơn nhé!

1. Các ứng dụng Android

Nếu bạn muốn nhìn thấy nơi Java được sử dụng, thì bạn chẳng phải đi đâu xa xôi cả. Hãy mở điện thoại Android của bạn lên với bất kỳ ứng dụng nào, chúng đều được viết bằng ngôn ngữ lập trình Java, với Android API của Google, cái tương tự như JDK. Vài năm gần đây Android đã phát triển rất nhanh và nhiều lập trình viên Java đã trở thành các nhà phát triển ứng dụng Android. Android sử dụng máy ảo JVM và các package khác, nhưng phần code thì vẫn được viết bằng Java.

2. Ứng dụng máy chủ dùng cho dịch vụ tài chính

Java đóng vai trò rất lớn trong các dịch vụ tài chính. Rất nhiều ngân hàng đầu tư toàn cầu như Goldman Sachs, Citigroup, Barclays, Standard Charted và các ngân hàng khác sử dụng Java để viết các hệ thống giao dịch điện tử, các hệ thống xác nhận và kiểm toán, các dự án xử lý dữ liệu và một số công việc quan trọng khác. Java chủ yếu được sử dụng để viết các ứng dụng phía máy chủ, hầu như không có bất kỳ phần front-end nào, nó nhận dữ liệu từ một máy chủ (upstream), xử lý nó và gửi dữ liệu đến một quy trình khác (downstream). Java Swing cũng được dùng phổ biến để tạo ra các phần giao diện người dùng.

3. Các ứng dụng web Java



Java cũng được sử dụng nhiều trong các ứng dụng web và thương mại điện tử. Bạn có rất nhiều RESTfull services được tạo ra sử dụng Spring MVC, Struts 2.0 và các framework tương tự. Ngay cả các ứng dụng web đơn giản dựa trên Servlet, JSP và Struts cũng khá phổ biến trong các dự án chính phủ. Nhiều tổ chức chính phủ, y tế, bảo hiểm, giáo dục, quốc phòng và một số bộ phận khác có ứng dụng web được xây dựng bằng Java.

4. Các công cụ phần mềm

Nhiều công cụ phát triển và phần mềm hữu ích được viết bằng Java, ví dụ: Eclipse, InetelliJ Idea và Netbans IDE. Tôi nghĩ rằng chúng cũng là những ứng dụng desktop viết bằng Java được sử dụng nhiều nhất. Mặc dù có những thời điểm Swing đã rất phổ biến, chủ yếu là trong lĩnh vực ngân hàng và dịch vụ đầu tư tài chính. Nhưng hiện nay, Java FX là khá phổ biến nhưng vẫn chưa thể thay thế được Swing.

5. Các ứng dụng thương mại
Các ứng dụng thương mại của bên thứ ba (third party), chiếm một phần lớn trong ngành công nghiệp dịch vụ tài chính, cũng sử dụng Java. Các ứng dụng thương mại nổi tiếng như Murex, được sử dụng tại nhiều ngân hàng để kết nối từ trong ra ngoài, cũng được viết bằng Java.

6. Các ứng dụng J2ME

Mặc dù sự ra đời của iOS và Android gần như giết chết thị trường J2ME, nhưng vẫn còn là thị trường lớn đối với các dòng điện thoại cấu hình thấp của Nokia và Samsung sử dụng J2ME. Có thời điểm khi gần như tất cả các trò game, ứng dụng trên Android được viết bằng MIDP và CLDC, một phần của nền tảng J2ME. J2ME vẫn còn phổ biến trên các sản phẩm như đĩa Blu-ray, Cards, Set top boxes v.v... Một trong những lý do mà WhatsApp trở nên phổ biến là bởi vì nó cũng có sẵn trên J2ME cho tất cả những thiết bị cầm tay của Nokia mà hiện vẫn còn khá lớn.

7. Không gian nhúng

Java cũng được sử dụng nhiều trong lĩnh vực embedded (nhúng). Nó cho thấy khả năng của nền tảng này, bạn chỉ cần 130 KB để có thể sử dụng công nghệ Java (trên một smart card hoặc cảm biến). Ban đầu Java được thiết kế dành cho các thiết bị nhúng. Trong thực tế, đây là một phần trong chiến dịch ban đầu của Java "viết một lần, chạy mọi nơi" và có vẻ như nó đang mang lại nhiều lợi ích to lớn.

8. Các công nghệ Big Data

Hadoop và các công nghệ big data khác cũng đang sử dụng Java theo cách này hay cách khác, ví dụ: HBase, Accumulo (mã nguồn mở) và ElasticSearch của Apache dựa trên Java. Mặc dù Java không phải là thống trị trong lĩnh vực này, vì có những công nghệ như MongoDB được viết bằng C++. Nhưng Java có tiềm năng chiếm được thị phần lớn hơn trong lĩnh vực này nếu Hadoop hoặc ElasticSearch trở nên lớn hơn.

9. Trong lĩnh vực giao dịch chứng khoán

Nền tảng Java đã được cải thiện hiệu năng rất nhiều với các JIT hiện đại, nó có khả năng đạt được hiệu suất ngang với mức C++. Vì lý do này, Java cũng được sử dụng rất phổ biến để viết các hệ thống hiệu suất cao, bởi vì mặc dù hiệu suất có thua chút ít so với ngôn ngữ native, nhưng bạn lại có được sự an toàn, linh động và bảo trì với tốc độ nhanh hơn.

10. Các ứng dụng khoa học

Hiện nay Java thường là một lựa chọn mặc định cho các ứng dụng khoa học, bao gồm cả xử lý ngôn ngữ tự nhiên. Lý do chính của việc này là bởi vì Java an toàn hơn, portable, dễ bảo trì và đi kèm với các công cụ tốt hơn so với C ++ hoặc bất kỳ ngôn ngữ nào khác.

Trong những năm 1990 Java đóng vai trò khá lớn trên Internet nhờ Applet, nhưng trong những năm qua, Applet mất dần sự phổ biến, chủ yếu là do các vấn đề an ninh khác nhau trên mô hình sand box của Applet. Java là ngôn ngữ mặc định trong ngành phát triển phần mềm, và được sử dụng nhiều trong ngành công nghiệp dịch vụ tài chính, ngân hàng và thương mại điện tử. Java 8 đã củng cố thêm niềm tin rằng Java sẽ tiếp tục thống trị lĩnh vực phát triển phần mềm trong nhiều năm tới.