2009-05-27 28 views
9

Sau khi dành rất nhiều thời gian và mã về lập trình trong Swing, tôi nghĩ rằng đây không thể là nhà xây dựng Java GUI tiên tiến nhất. Sau khi không tìm thấy một bilder trực quan thân thiện với người dùng cho nhật thực, tôi tình cờ gặp khi xây dựng giao diện khai báo với bộ công cụ giao diện người dùng XML ... và tôi nghĩ: Đây phải là nó! Tôi nghĩ đó là cách đi đúng, dễ dàng và cũng gần với lập trình web.XML hoặc XUL có phải là tương lai của Java GUI không?

Nhưng sau khi nhìn xung quanh trên web và trên SO, tôi có ấn tượng rằng nó không phải là rất phổ biến! Mặc dù có nhiều triển khai và API, có vẻ như hầu hết chúng đều đã chết và không có cập nhật nào trong 5 năm qua ..

Vì vậy, tôi cảm thấy đúng, XML không phải là rất phổ biến cho java GUIs? Và nếu có - lý do là gì? Có lẽ nó không thể trở thành chấp nhận hoặc nó có một số hạn chế lớn hoặc mọi người đang làm tất cả mọi thứ trong web thay vì fatclients hoặc có lựa chọn thay thế tốt hơn, có lẽ javafx?

Tôi chỉ cần biết liệu nó có đáng để dành thời gian ở khu vực đó hay tìm kiếm các cách thay thế tốt hơn. Vì tôi không đọc tạp chí dành cho nhà phát triển, tôi không biết xu hướng xây dựng gui là gì và công nghệ nào được cho là có tương lai. Nhưng tôi không thể tưởng tượng rằng mọi người vẫn dành quá nhiều thời gian để viết các ứng dụng swing (swt) khó chịu.

+0

Bạn nên cân nhắc sử dụng NetBeans cho tòa nhà GUI của mình. Nó luôn luôn làm việc thực sự tốt cho tôi, thậm chí chuyển đổi giữa các IDE không phải là xấu. – willcodejavaforfood

Trả lời

3

Câu trả lời của Sun cho rằng dường như là JavaFX.

Nó có ngôn ngữ khai báo để chỉ định GUI và cũng sẽ có các ứng dụng trình xây dựng.

+1

JavaFX là một ngôn ngữ bắt buộc chuẩn bog, không thực sự là một ngôn ngữ khai báo. Những gì nó có là hỗ trợ cú pháp để thiết lập một tải các thuộc tính lúc khởi tạo (cộng với các ràng buộc). –

+0

Tôi chỉ xem xét kỹ hơn về JavaFX và nó mang lại ấn tượng tốt. các điều khiển cơ bản được triển khai với mã ít hơn nhiều. bindings là thuận tiện và cùng với css-phong cách và biểu đồ và các công cụ authoring sắp tới của nó một cái gì đó tôi chắc chắn sẽ dành nhiều thời gian trên! –

+0

Tôi đã điều tra JavaFX 2.0 và khá hài lòng với sản phẩm cho đến khi tôi thấy rằng họ chỉ hỗ trợ Windows. http://javafx.com/faq/#5 –

0

Câu trả lời chắc chắn sẽ không phải là XML. Bạn đang cố giải quyết vấn đề gì? Bạn muốn có các khối xây dựng tái sử dụng và một cách mô tả nhỏ gọn chúng. Tôi không thấy XML giúp bạn ở đó.

[sửa] Tạo mã java tương đương với XUL sẽ là một cải tiến to lớn về XUL. XML làm cho nó thực sự, thực sự khó khăn để làm tốt tách mối quan tâm và một lần và chỉ một lần. Tuy nhiên nó là hoàn hảo cho phương pháp tiếp cận đám Mông Cổ. Bạn cần một lớp trên đầu swing, nó chỉ cung cấp các khối xây dựng.

+0

nó chỉ là tôi nghĩ rằng swing mã hóa là khó chịu. tôi thích thiết kế có cấu trúc, phân cấp của tài liệu xml và sự tách biệt rõ ràng về chức năng, cấu trúc và thiết kế. cá nhân tôi nghĩ rằng nó tốt hơn để đọc. và đánh giá từ những gì tôi thấy về xul, nó cần ít mã hơn swing. –

0

Tôi muốn đề xuất Thilos thứ hai với javaFX. Ngoài ra, xu hướng này chỉ đến các ứng dụng web, vì vậy tôi nghĩ rằng trong dài hạn, javaFX và các giao diện người dùng dựa trên web sẽ bắt kịp với các GUI swt + swt.

1

Năm đến mười năm trước XML rất phổ biến. Mặc dù tốt để cung cấp một số loại tiêu chuẩn hóa để chuyển dữ liệu giữa các hệ thống không đồng nhất, nó không thích hợp cho lập trình. Nó luôn luôn bắt đầu với những thứ dễ dàng, và cho phép khai báo mọi thứ. Nhưng bất kỳ hệ thống thực nào đều yêu cầu mã. XML sau đó rơi xuống. Cũng có vấn đề là XML là một cú pháp tồi đối với con người, và ngay cả các ngôn ngữ như Java cũng dễ đọc hơn.

Mặt khác, rõ ràng là cần thiết cho các đường ray của GUI. Naked Objects là nỗ lực hợp lý nhất mà tôi đã thấy.

+3

Bạn nên tìm hiểu thêm về XUL. Nó không bao giờ được sử dụng một mình, rõ ràng; nó được viết với JavaScript (hoặc, trong trường hợp của Miro, Python). Thử nó. Nó thực sự tuyệt vời. – niXar

3

Có một số nguyên mẫu hoạt động đang diễn ra cho e4 (Eclipse 4), điều này sẽ cho phép xây dựng GUI bằng cách chỉnh sửa mô hình Ecore và tùy chỉnh nó qua CSS.
Xem this blog post để biết một số chi tiết và hướng dẫn để tự mình thử.

1

Tôi đã đưa ra kết luận tương tự như bạn về khung khai báo ngoài kia. Nó không phải là giá trị học một cú pháp GUI mới trừ khi nó được hỗ trợ rộng rãi. XUL như một ngôn ngữ giao diện được phổ biến rộng rãi, nhưng không có khuôn khổ dựng hình java cho nó.Tôi muốn nói HTML + CSS + Javascript và một container Servlet là nền tảng Java tốt nhất cho GUI ngày nay, nhưng thật đáng buồn là tôi đã không tìm thấy một nền tảng độc lập để hiển thị các trang web như một ứng dụng máy tính để bàn.

0

Tôi làm tất cả các công cụ xoay của mình bằng tay và không ứng dụng nào của tôi khó chịu. Nếu bạn không biết cách tạo giao diện người dùng có thể sử dụng và đẹp thì không có công nghệ nào giúp bạn.

+1

tuyệt vời! có lẽ tôi đã không thể hiện bản thân mình rất tốt. ứng dụng của tôi không khó chịu chút nào (chúng là đẹp nhất ...) nhưng quá trình xây dựng một gui phức tạp với swing rõ ràng là khó chịu, ít nhất là đối với tôi :) –

1

Nếu bạn sử dụng Eclipse, bây giờ bạn có thể sử dụng WindowBuilder để giúp bạn tạo ứng dụng Swing trong trình tạo GUI trực quan thân thiện với người dùng. Nó hiện có sẵn dưới dạng bản tải xuống miễn phí và Google đã đóng góp khung công cụ xây dựng GUI Swing cho Quỹ Eclipse.

Các vấn đề liên quan