2010-06-23 21 views
6

Tôi đã phát triển trong Java Swing một thời gian, và tôi bắt đầu cảm thấy rằng các ứng dụng máy tính để bàn dựa trên Swing cảm thấy hơi cũ và tẻ nhạt để phát triển.Giữ các kỹ năng phát triển GUI sắc nét

Tôi thấy các ứng dụng mới trông rất đẹp và hiện đại, như TweetDeckSynthesia (trò chơi piano). Mặc dù có sự khôn ngoan trong Haase & "Những khách hàng giàu có của Filthy" của Guy, tôi tưởng tượng rằng việc viết các ứng dụng như thế này trong Swing sẽ là một việc vặt.

Giả sử các ứng dụng dành cho máy tính để bàn sẽ không biến mất hoàn toàn trong vòng 5 năm tới (hoặc việc phân chia giữa web và desktop trở nên liền mạch), những ngôn ngữ và công nghệ giao diện người dùng nào cần khám phá ? Điều lớn tiếp theo là gì?

+3

Giao diện thực sự thú vị thường chỉ là kết quả của một coder tài năng. Ví dụ Synthesia chỉ được mã hóa trong OpenGL và C. Tôi tìm Swing rất RAD so với nhiều framework GUI khác. –

+0

@disown +1 Có thể tạo ra một thiết kế đẹp với Swing và thậm chí đẹp hơn bằng cách sử dụng tùy chỉnh Synth như là một laf mặc định (nếu chỉ tất cả các lớp Synth được công khai thay vì thân thiện thì sẽ dễ dàng hơn ... ahem) . Làm việc, chắc chắn, nhưng sau đó những gì không? – Taisin

Trả lời

0

Sẽ luôn có nhu cầu cho các nhà phát triển OpenGL/Direct3D, nhưng điều đó có thể còn tiếp tục giảm so với khi bạn nói đến.

Ở phía Windows WPFWindows Forms khả dụng.

Trên Mac/iOS Cocoa là con đường để đi.

Trên Linux, có một số tùy chọn như GTK hoặc QT.

Bạn có thể chỉ muốn cắn viên đạn và tìm hiểu một số HTML5/JavaScript. Tôi nghi ngờ sẽ sớm biến mất.

+0

"Luôn luôn" là một * thực sự * thời gian dài! Tôi nhớ mọi người nói rằng trong những ngày punchcard, về những điều chúng ta cười lúc này. Là một lập trình viên đã thực hiện phần chia sẻ OpenGL của mình, tôi thực sự hy vọng rằng gần như không có lập trình viên OpenGL nào tồn tại trong vòng 10 năm. Với khả năng tăng tốc 3ngày có sẵn trong trình duyệt, thậm chí nhanh hơn các công cụ Javascript JIT và các đơn đặt hàng phần cứng mới có cường độ nhanh hơn ngày hôm nay, lý do nào khiến mọi người có thể viết OpenGL? Nó sẽ giống như ngôn ngữ lắp ráp vào những năm 2020. – Ken

+1

@Ken: Sẽ luôn có nhu cầu cho các nhà phát triển lắp ráp. Tương tự không hiệu quả :-). –

+0

Mark: Chắc chắn, nhưng một phần nhỏ trong số đó, và chỉ dành cho các nhiệm vụ rất cụ thể. Tôi không thấy nó làm cho sự tương tự không hiệu quả như thế nào. – Ken

2

Microsoft's WPF có lẽ là một trong những công nghệ mới nhất, thú vị nhất hiện có.

Nó cho phép bạn tạo các giao diện đồ họa đẹp hơn nhiều.

Bạn cũng nên xem xét một số sản phẩm Microsoft's Expression. Chúng cho phép bạn đặt thêm flare vào GUI của bạn.

+1

Tôi đồng ý với WPF. Xây dựng các ứng dụng dành cho máy tính để bàn được sử dụng để làm việc vặt trong bất kỳ ngôn ngữ nào, nhưng tôi chỉ bị sốc vì nó dễ dàng hiện nay, đặc biệt với Visual Studio 2010. – buckbova

1

Tôi không chắc chắn có "điều lớn tiếp theo" trong phát triển giao diện người dùng trên máy tính để bàn. Nếu bất cứ điều gì, "điều lớn tiếp theo" là một giao diện đa cảm ứng dựa trên máy tính bảng và điện thoại thông minh phổ biến. Cho rằng, tôi nghĩ rằng nó có thể là thông minh để tìm hiểu làm thế nào để tạo ra giao diện người dùng cảm ứng đa điểm bằng cách tải về một sdk cho một điện thoại di động hoặc máy tính bảng có hỗ trợ cảm ứng đa điểm.

1

Nếu bạn thích Swing, hãy xem Google GWT.
Nó giống như Swing cho Web, gần như vậy.

0

Tôi khuyên bạn nên xem xét Flex. Thú vị hơn nhiều so với Swing và b/c là Flash nó có thể chạy trong trình duyệt hoặc trên máy tính để bàn.

+1

Với tất cả các tranh cãi liên quan đến nền tảng của Adobe, tôi sẽ tránh nó cho các dự án mới. –

+0

Swing cũng có thể chạy trong applet hoặc trên máy tính để bàn, nếu bạn đã cài đặt plugin/thời gian thích hợp (tức là, điều kiện tương tự đối với Flex làm như vậy). – Ken

0

Java vẫn hoạt động tốt. Bạn chỉ cần thay thế các điều khiển tiêu chuẩn bằng hình ảnh và sử dụng trạng thái hình ảnh để thay đổi giao diện của chuột và nhấp chuột.

0

Tôi cũng đề nghị WPF là một khung công tác giao diện người dùng khác, vì nó đủ khả năng một số giao diện người dùng khá mạnh trong các ứng dụng máy tính để bàn (và hầu hết những gì có thể là một trong WPF có thể dịch sang Silverlight cho webapp).

Trên flipside, thay vì tìm kiếm ngôn ngữ hoặc công nghệ giao diện người dùng mới, tôi nghĩ bạn có thể phục vụ tốt hơn giao diện người dùng từ quan điểm khả năng sử dụng và theo dõi xu hướng hiện đang tạo sóng.Ví dụ, một trong những chuyển đổi mô hình mà tôi thấy trong phát triển UI (chủ yếu là trên web) là việc chuyển sang làm những điều quan trọng lớn hơn và ít quan trọng hơn - bao gồm cả các nút có/không trong hộp thoại. Tôi vẫn còn nóng lên với ý tưởng này bởi vì nó bay khi đối mặt với một nút nhất quán nhìn để hiển thị cho người dùng tùy chọn của họ.

Thay vì cung cấp các tùy chọn trong một thế giới ngày nay, nơi chúng tôi liên tục đưa ra quyết định, mục tiêu của giao diện người dùng mới hơn này là định hướng đường dẫn hạnh phúc. Nếu người dùng quyết định họ muốn làm điều gì đó khác biệt, họ có thể, nhưng giao diện người dùng sẽ làm cho người dùng đặt một chút nỗ lực và đọc bản in đẹp.

Ví dụ khác là làm nổi bật một thay đổi gần đây mà một người đã thực hiện (SO thực hiện điều này, nhưng tôi quên thuật ngữ được sử dụng để mô tả hiệu ứng này) khi truy cập trang web.

Cuối cùng, và đây là một trong những mục yêu thích của tôi, thay đổi từ chế độ xem quản trị/người dùng (cũng chủ yếu trong lĩnh vực webapp), đến trình chỉnh sửa WYSIWYG đặc biệt ... Flickr là một ví dụ điển hình về điều này, bạn có thể thay đổi chú thích trên ảnh bằng cách nhấp vào chú thích hiện tại và chỉnh sửa chú thích nội dòng, mà không cần phải đi đến chế độ xem quản trị riêng để chỉnh sửa các giá trị này.

Có ai khác nhìn thấy các xu hướng như thế này thú vị và mới không?

0

Bạn đã lập trình trong Swing một thời gian và bạn chỉ mới bắt đầu cảm thấy có vẻ đã lỗi thời? :)

Swing trông giống như crap, không có vấn đề gì và cảm thấy thủ đoạn folks làm cho nó. Nó thực sự đưa các nhà cung cấp các ứng dụng máy tính để bàn dựa trên Swing như chính chúng ta vào thế bất lợi vì các công cụ WPF sáng bóng và đẹp mắt trông như thế nào.

Nếu bạn muốn ở lại trong lĩnh vực Java, tôi khuyến khích bạn thử SWT và JFace. Bạn không cần Eclipse cho nó. Nhưng đó là một hệ thống tìm kiếm tốt hơn nhiều với một API đẹp hơn nhiều.

Nếu bạn muốn tham gia chương trình hấp dẫn, WPF là bạn của bạn. Bạn bị giới hạn đối với Windows và không thể sử dụng Java (cả hai showstoppers cho tôi), nhưng bạn không thể bỏ qua những lợi ích thẩm mỹ của SDK đó vì nó bị ràng buộc chặt chẽ đến các phiên bản Windows gần đây.

0

Tôi nghĩ điểm của cuốn sách mà bạn đề cập và hầu hết các câu trả lời ở đây là hầu hết các ngôn ngữ đều cung cấp cho bạn các công cụ, (hoặc đủ dây để treo mình;) để ném các điều khiển xấu xí cơ bản của BẤT CỨ HỆ ĐIỀU HÀNH đang bật và vẽ bất kỳ trải nghiệm người dùng nào bạn muốn. Có nó là tẻ nhạt để da hoặc bằng tay khác đi qua các đại diện trực quan của các điều khiển trong một giao diện người dùng, nhưng nếu đó là whats quan trọng với bạn, sau đó bạn sẽ làm điều đó, và có thể được khen thưởng cho nó. Hoặc bị ràng buộc vì vi phạm "tiêu chuẩn UI nền tảng".

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