2011-12-26 33 views
5

Gần đây tôi đã lần đầu tiên đi sâu vào việc phát triển các ứng dụng Android trong Java. Đó là tất cả những điều rất mới đối với tôi khi kinh nghiệm của tôi là phát triển web với PHP. Nhưng tôi cần phải thích ứng khá nhanh với môi trường máy tính để bàn (ví dụ: Windows).Khung phát triển máy tính để bàn Java tương tự như Android?

Để giảm bớt đường cong học tập một chút, có bất kỳ khung phát triển máy tính để bàn Java nào tương tự với khung làm việc của Android không? Khi nói đến các ứng dụng Máy tính để bàn, các khung công tác Java GUI và/hoặc MVC, các bộ công cụ và/hoặc thư viện nào bạn sẽ giới thiệu cho một người có trải nghiệm Java/GUI thực sự chỉ với Android?

Ghi chú

  1. Trong khi một khuôn khổ duy nhất, thống nhất cung cấp quản lý GUI, widget, và vân vân sẽ được tốt đẹp, nó không phải là quan trọng; Tôi chỉ đang tìm một số khuyến nghị về một khung ứng dụng cơ bản để giúp tôi bắt đầu, cũng như một thư viện GUI có thể hoạt động tốt với khung công tác đã nói.

  2. Có lẽ nó sẽ giúp ích một chút nếu tôi xây dựng một chút về những gì tôi đang cố gắng làm. Mục tiêu của tôi là xây dựng một ứng dụng Android khá cơ bản để tạo và quản lý các bản ghi nhất định, được lưu trữ cục bộ nhưng có thể được đồng bộ hóa với máy chủ từ xa. Sau đó, tôi cần một ứng dụng máy tính để bàn sống trong khay hệ thống Windows và bạn nhấp vào ứng dụng đó để bật cửa sổ trình quản lý cung cấp chức năng tương tự cho ứng dụng Android. Bạn sẽ đề xuất thư viện nào ở phía máy tính để bàn để đạt được các mục tiêu này?

  3. Một vài trong những điều tôi đánh giá cao về khuôn khổ của Android mà tôi rất muốn tìm trong một khuôn khổ để bàn theo định hướng:

    • Android hiện một tấn công việc soạn sẵn cho bạn, và bạn chỉ cần điền vào các quy tắc làm cho ứng dụng của bạn trở nên độc đáo.

    • Android cho phép bạn sử dụng tệp XML để mô tả bố cục vật lý của bản trình bày, thật tuyệt vời để giữ mã xử lý tương tác của người dùng tách biệt với mã mô tả bố cục.

    • Android cung cấp SDK rất thân thiện với người dùng và toàn bộ ngăn xếp công cụ giúp dễ dàng nhảy vào, thử nghiệm và tìm hiểu.

Trả lời

3

Vâng, bạn có thể dùng thử Apache Pivot. Nó sử dụng các tệp XML để xác định nội dung của giao diện người dùng. Các lớp giao diện người dùng bao gồm cửa sổ, hộp thoại, nút, danh sách, nhập văn bản, bố cục, kéo và thả và các loại khác.

Như Apache Pivot site trạng thái:

Pivot cho phép các nhà phát triển dễ dàng xây dựng trực quan-hấp dẫn, đa nền tảng, ứng dụng kết nối trong Java hoặc bất kỳ ngôn ngữ JVM khác, chẳng hạn như JavaScript, Groovy, hoặc Scala.

Pivot cho phép nhà phát triển xây dựng các giải pháp bằng cách sử dụng các công cụ mà họ đã biết, giảm thời gian phân phối và giảm mở rộng công nghệ.

Dưới đây là ví dụ về XML được sử dụng để tạo ra các giao diện người dùng của ứng dụng "Hello Word":

<Window title="Hello BXML!" maximized="true" 
      xmlns:bxml="http://pivot.apache.org/bxml" 
      xmlns="org.apache.pivot.wtk"> 
      <Label text="Hello BXML!" 
       styles="{font:'Arial bold 24', color:'#ff0000', 
        horizontalAlignment:'center', verticalAlignment:'center'}"/> 
</Window> 

Hoặc another one example của GUI ứng dụng đơn giản:

<Window title="Hello" maximized="true" 
    xmlns:wtkx="http://pivot.apache.org/wtkx" 
    xmlns="org.apache.pivot.wtk"> 
    <content> 
     <BoxPane styles="{padding:4, horizontalAlignment:'center', verticalAlignment:'center'}"> 
      <Label wtkx:id="label1" text="Please enter your name" 
       styles="{font:'Arial 20', color:'#ff0000', 
        horizontalAlignment:'center', verticalAlignment:'center'}"/> 
       <TextInput wtkx:id="text1" /> 
       <PushButton wtkx:id="button1" buttonData="Enter"/> 
     </BoxPane> 
    </content> 
</Window> 

Nó ở một số giống với kiến ​​trúc GUI của Android.

+1

Điều này thật tuyệt vời, tôi chưa bao giờ nghe nói về Pivot trước đây nhưng có vẻ như chính xác những gì tôi đang tìm kiếm vào thời điểm đó. Tôi không còn tham gia nhiều vào việc phát triển Java nữa, nhưng tôi nghĩ câu trả lời này đủ tốt để lấy cắp Chấp nhận hai năm sau đó. –

2

Nếu động cơ của bạn là phát triển ứng dụng thực sự Android, tôi sẽ đề nghị đừng lo lắng về Java GUI, bởi vì cả hai đều là những thế giới khác nhau. Android không sử dụng Java/Object Orientation như ngôn ngữ phát triển (sytax và ngữ nghĩa), nhưng nó không quan tâm đến apis Java GUI và các apis khác. Nếu bạn thực sự muốn học Java GUI GUI, có vài gói được gọi là Swing. Bạn có thể nhìn vào chúng.

+2

Tôi đã xây dựng BOTH một ứng dụng dành cho Android và máy tính để bàn tích hợp với máy chủ để chia sẻ và thao tác dữ liệu giống nhau theo nhiều cách khác nhau. Nếu tôi không cần phải lo lắng về việc phát triển GUI trên Desktop, tôi sẽ không hỏi. :) –

5

Không có gì giống với giao diện/kiến ​​trúc Android cho máy tính để bàn, thực sự.

Hai trình phát java trên máy tính để bàn là Swing (GUI chéo nền tảng-ish gốc) và SWT (Eclipse và các thành phần gốc). Griffon là một khung công tác Groovy MVC trên máy tính để bàn tóm tắt rất nhiều công việc.

Tùy thuộc vào nhu cầu của bạn, việc xây dựng một ứng dụng khách phong phú bên trong Eclipse hoặc NetBeans là một tùy chọn.

Xây dựng một nền tảng dựa trên web phong phú thậm chí có thể có ý nghĩa; bạn có thể phân phối với một máy chủ nhúng bằng cách sử dụng bất kỳ số công nghệ web Java nào - điều này thường là thuận tiện nhất, đặc biệt nếu bạn muốn có thể lưu trữ cùng chức năng trên nền tảng hoặc tiếp thị dưới dạng dịch vụ trong khi vẫn cho phép triển khai cục bộ.

+0

Tôi biết Swing và SWT, xa đến mức chúng là các thư viện GUI phổ biến nhất cho phát triển Java. Tôi hy vọng sẽ tìm thấy một thứ gì đó * * gần gũi hơn với khung công tác Android, ngay cả khi nó không thực sự là một giải pháp tích hợp ... bạn nghĩ gì về SwiXML? Và không có bất kỳ khung công tác MVC nào để xây dựng các ứng dụng với Java (không phải Groovy)? –

+0

@BrianLacy Tôi không biết về bất kỳ khung công tác phiên bản MVC-beyond-Swing chính thức nào của Java, nhưng điều đó không có nghĩa là không có bất kỳ. SwiXML có vẻ tốt, nhưng cá nhân tôi sẽ không bận tâm với nó, nhưng YMMV. Có một loạt các giải pháp xây dựng giống như sẵn có, nhưng tôi không quá quen thuộc với bất kỳ giải pháp nào trong số đó. –

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