Applet là một loại phần mềm được thiết kế để thực thi trong bối cảnh của một chương trình lớn hơn, thường là trình duyệt web, cung cấp các tính năng tương tác phong phú mà bản thân chương trình cốt lõi không cung cấp. Được viết bằng ngôn ngữ lập trình Java, các applet chủ yếu được sử dụng trong điện toán mạng. Chúng có thể phản hồi các thao tác nhập của người dùng, chẳng hạn như nhấp chuột hoặc nhấn phím và chúng cũng có thể tương tác với các ứng dụng phụ khác trên cùng một trang web.
Bối cảnh lịch sử của Applet
Lịch sử của applet bắt đầu từ giữa những năm 1990, khi ngôn ngữ lập trình Java được Sun Microsystems phát triển lần đầu tiên. Thuật ngữ “applet” được sử dụng lần đầu tiên vào năm 1995, khi Java được giới thiệu với thế giới như một ngôn ngữ lập trình mới được thiết kế cho Internet. Ý tưởng là cung cấp một ứng dụng nhỏ (do đó có thuật ngữ “applet”) có thể được nhúng trong trang HTML và chạy trong trình duyệt web.
Mở rộng trên Applet
Applet, như đã nói ở trên, là các chương trình Java nhỏ có thể được tích hợp vào trang HTML, chạy ở phía máy khách và được thực thi bởi Máy ảo Java (JVM). Một applet có thể chạy trong bất kỳ trình duyệt web nào hỗ trợ JVM. Chúng được sử dụng để làm cho các trang web trở nên năng động và thú vị hơn. Ví dụ: chúng có thể hiển thị đồ họa tương tác hoặc thực hiện các phép tính dựa trên dữ liệu đầu vào của người dùng.
Một applet có vòng đời được kiểm soát bởi trình duyệt và JVM. Vòng đời bao gồm bốn giai đoạn: khởi tạo, bắt đầu, dừng và hủy bỏ. Một applet bắt đầu hoạt động khi nó được JVM tải và khởi tạo. Sau đó nó được khởi tạo, khởi động và hiển thị trên trang web. Khi người dùng điều hướng khỏi trang, applet sẽ bị dừng và sau đó bị JVM hủy.
Hoạt động bên trong của một Applet
Một applet bao gồm mã byte Java, là một biểu diễn chương trình độc lập với nền tảng và nó chạy bên trong một JVM được cài đặt trong trình duyệt. Khi một trang web chứa một applet được tải, plug-in Java của trình duyệt sẽ tải xuống mã byte của applet, khởi động một JVM, sau đó tải và thực thi applet trong JVM.
Applet tương tác với trang web thông qua Mô hình đối tượng tài liệu (DOM) và cũng có thể giao tiếp với máy chủ nơi nó được tải, thông qua HTTP hoặc các giao thức internet khác. Tuy nhiên, vì lý do bảo mật, nó thường được đóng hộp cát và hạn chế truy cập các tệp cục bộ hoặc một số tài nguyên hệ thống nhất định.
Các tính năng chính của Applet
- Nền tảng độc lập: Applet được viết bằng Java, độc lập với nền tảng. Chúng có thể chạy trên mọi thiết bị có trình duyệt hỗ trợ JVM.
- Mạng đã được kết nối: Applet có thể giao tiếp qua mạng, cho phép chúng trở thành một phần của các ứng dụng được nối mạng.
- Bảo mật hộp cát: Chúng hoạt động trong hộp cát bảo mật để ngăn chặn truy cập trái phép vào tài nguyên hệ thống, do đó đảm bảo an ninh cho người dùng.
- Giao diện người dùng phong phú: Applet có thể tạo các giao diện đồ họa người dùng (GUI) phức tạp và tạo ra các hình ảnh động mượt mà, khiến chúng phù hợp để tạo các ứng dụng tương tác.
Các loại Applet
Chủ yếu có hai loại applet:
-
Applet cục bộ: Những applet này không cần kết nối với internet sau khi được tải xuống. Chúng chạy trong trình duyệt của người dùng và thực hiện các chức năng mà không cần kết nối với máy chủ.
-
Applet từ xa: Những applet này yêu cầu kết nối internet liên tục. Họ liên lạc với một máy chủ để thực hiện chức năng của họ.
Cách sử dụng Applet và các vấn đề liên quan
Applet thường được sử dụng để cung cấp các tính năng tương tác trên các trang web, chẳng hạn như trò chơi, máy tính, hoạt ảnh và bản đồ tương tác. Chúng cũng có thể được sử dụng cho các tác vụ phức tạp hơn như bỏ phiếu trực tuyến, thương mại điện tử và các ứng dụng máy tính để bàn từ xa.
Tuy nhiên, việc sử dụng applet đã giảm dần qua các năm do một số vấn đề:
- Vân đê bảo mật: Mặc dù chạy trong hộp cát, nhưng các applet trước đây đã được sử dụng cho mục đích xấu, khiến nhiều người dùng và tổ chức cảnh giác với chúng.
- Hiệu suất: Khi các applet chạy ở phía máy khách, chúng có thể tải chậm và tiêu tốn tài nguyên hệ thống đáng kể.
- Sự phụ thuộc vào Java: Người dùng phải cài đặt và định cấu hình đúng cách Môi trường chạy thi hành Java (JRE) trong trình duyệt của họ, đây có thể là một nhiệm vụ phức tạp đối với người dùng không rành về kỹ thuật.
So sánh Applet với các điều khoản tương tự
Dưới đây là so sánh các applet có khái niệm tương tự:
Thuật ngữ | Sự định nghĩa | Chấp hành |
---|---|---|
ứng dụng | Một ứng dụng nhỏ được nhúng trong trang HTML, được điều hành bởi JVM trong trình duyệt web | Phía khách hàng |
Servlet | Một chương trình Java chạy trên máy chủ, thường được sử dụng để tạo nội dung web động | Phía máy chủ |
JavaScript | Ngôn ngữ kịch bản cho các trang web, được điều hành bởi công cụ JavaScript của trình duyệt | Phía khách hàng |
Viễn cảnh tương lai và công nghệ liên quan đến Applet
Tương lai của các applet là không chắc chắn do sự phát triển của các công nghệ web hiện đại như HTML5, CSS3 và JavaScript, cung cấp chức năng tương tự mà không yêu cầu người dùng cài đặt JVM hoặc xử lý các vấn đề bảo mật của Java.
Tuy nhiên, vẫn có những lĩnh vực mà applet chiếm ưu thế, chẳng hạn như các ứng dụng phức tạp đòi hỏi toàn bộ sức mạnh của Java. Hơn nữa, công nghệ Java Web Start cho phép khởi chạy các ứng dụng Java đầy đủ tính năng trực tiếp từ trình duyệt web, điều này có thể mang lại sự hồi sinh cho chức năng giống như applet.
Applet và máy chủ proxy
Mặc dù applet và máy chủ proxy là những công nghệ riêng biệt nhưng chúng có thể tương tác trong một số trường hợp nhất định. Máy chủ proxy có thể làm trung gian kết nối giữa một applet và máy chủ mà nó liên lạc, cung cấp các lợi ích như bộ nhớ đệm, lọc và bảo mật nâng cao. Tuy nhiên, điều quan trọng cần lưu ý là applet phải được thiết kế để hỗ trợ máy chủ proxy và trình duyệt của người dùng phải được cấu hình để sử dụng máy chủ proxy.
Liên kết liên quan
Để biết thêm thông tin về Applet, hãy xem xét các tài nguyên sau: