2010-12-13 39 views
8

Tôi bắt đầu làm việc trên một dự án GUI mới trong. Net và ai đó đã đề xuất Qt cho tôi. Tôi bắt đầu đọc về nó và tôi không hiểu những lợi thế của nó trên thiết kế của Visual Studio.Những lợi thế khi sử dụng Qt là gì?

Tôi thấy lý do tại sao C++ VS6 sẽ sử dụng nó, nhưng không phải lý do tại sao.

Nếu lợi thế chính là tính di động thì lợi thế của nó trên JAVA là gì?

Cảm ơn!

+5

Qt cụ thể là thư viện C++. Tôi sẽ không mong đợi NET hoặc các nhà phát triển Java được quan tâm. –

+2

Cũng có một cổng python của Qt. Nhưng nếu bạn đang sử dụng. Net, bạn không cần hỗ trợ nền tảng chéo anyway để sử dụng bất cứ điều gì microsoft cung cấp cho bạn để sử dụng. – Falmarri

+0

Lưu ý rằng bạn có thể làm việc với QT và .Net http://en.wikipedia.org/wiki/Qt_%28framework%29 – AYBABTU

Trả lời

11
  • Đó là nền tảng và nó sử dụng các nguồn tài nguyên hệ thống để vẽ cửa sổ, điều khiển, vv vì vậy ứng dụng của bạn sẽ nhận được một cái nhìn tự nhiên (ví dụ trên cửa sổ ứng dụng của bạn Mac sẽ được thiếu đơn thanh và thanh trình đơn sẽ xuất hiện trên thanh menu của hệ thống vì nó là hành vi tiêu chuẩn trên nền tảng máy Mac ).

  • Viết bằng C++ cho phép bạn kiểm soát tuyệt vời, khả năng làm việc với các thư viện tuyệt vời như STL, Boost, v.v. và mã của bạn được biên dịch thành các tệp nhị phân gốc sẽ chạy ở tốc độ cao mà không cần một máy ảo.

  • Qt là nguồn mở và được phát triển bởi Tập đoàn Qt (trước đây là Trolltech) tại Nokia, do đó bạn có một doanh nghiệp rất lớn duy trì nó với sự hỗ trợ của cộng đồng và đảm bảo sự tiến hóa của nó.

  • Nó có thiết kế giao diện tốt nhất mà tôi từng thấy (Tôi đã làm việc với .NET trước khi sử dụng cả Windows Forms và WPF)
+0

Một câu hỏi khác - nó dịch lệnh C++ cho nền tảng chính xác? Tôi có thể phát triển một lần trên PC và nó sẽ tự động sử dụng "fork" khi tôi biên dịch nó trên Linux? – AYBABTU

+1

Nó tóm tắt rất nhiều nền tảng cơ bản vì vậy nếu bạn không viết mã hệ điều hành cụ thể (không cần thiết trong hầu hết các ứng dụng), bạn có thể biên dịch cùng một mã trong tất cả các nền tảng chính. Cho đến nay hầu hết các ứng dụng tôi đã phát triển với Qt được biên dịch trên Linux, Windows và Mac mà không cần thay đổi thậm chí không có một dòng mã. – Raphael

3

Ưu điểm lớn nhất của Qt IMO là khả năng di chuyển đa nền tảng.

Ngoài ra, vì nó được biên dịch nên (theo lý thuyết ít nhất) chạy nhanh hơn cả ứng dụng .NET và Java.

9

Hãy nhìn vào bài đăng này: Do you use Qt and why do you use it?

Cá nhân tôi thích Qt vì nền tảng của nó, rất phổ biến, và bạn có thể có một nguyên mẫu sẵn sàng rất nhanh!

+10

Lưu ý việc cấp phép trên Qt đã thay đổi kể từ khi câu hỏi đó được trả lời. Bây giờ có thể sử dụng Qt miễn phí trong một ứng dụng thương mại nhờ vào phiên bản LGPL. – karunski

+6

Rất tốt để chỉ ra điều này Karunski! LGPL đóng một vai trò lớn trong sự chấp nhận rộng rãi của QT. – athspk

3

Đó là khả năng đa nền tảng và sự nổi tiếng rất hấp dẫn.

Tôi nghĩ rằng hai trong số những lợi thế lớn nhất là:

  • thiết kế API là tuyệt vời
  • những công cụ mà làm việc rất seemlessly cùng với nó: QtCreator, PySide, Jambi
5
  • Nó không chỉ là nền tảng chéo giữa các nền tảng máy tính để bàn - Windows, Mac OS và Linux mà còn cùng một mã sẽ hoạt động trên các thiết bị dựa trên Embedded Linux, Windows CE/Mobile, Symbian và Meego mới. Đối với Linux nhúng nó có hệ thống cửa sổ trọng lượng nhẹ của riêng nó dựa trên framebuffer loại bỏ sự cần thiết cho X11.
  • Nó bây giờ cũng có một IDE rất có khả năng trong Qt Creator mà một lần nữa hoạt động trên tất cả các nền tảng và do đó mang đến cho bạn môi trường phát triển tương tự mà bao giờ bạn đi.
  • Phiên bản 4.7 mới nhất sắp ra mắt với một cách phát triển ứng dụng mới cho các thiết bị sử dụng QML + Javascript cho giao diện cảm ứng cử chỉ đa chạm liên tục trực tiếp đến logic nghiệp vụ được thực hiện trong các lớp C++ Qt.
  • Điều này cũng đúng đối với Qt Webkit dựa trên bộ công cụ Webkit, nơi bạn có thể kết nối mã javascript của mình với các lớp C++ cốt lõi được thực hiện trong Qt.
1

Nói cách ít hơn,

  • Qt là tốt hơn cho thiết kế giao diện, vì là nhanh hơn so với các ngôn ngữ khác
  • được quản lý trực tiếp bởi CPU
  • Sử dụng Quản lý bộ nhớ thông minh
  • Đó là GUI Nhà thiết kế rất hữu ích và dễ dàng để xử lý
  • Tôi đã thực hiện cùng một ứng dụng trên Java và QT và chạy nhanh hơn 5 lần trên QT

Đối với một mô tả chi tiết hơn, bạn có thể có một cái nhìn vào bài viết này:

http://turing.iimas.unam.mx/~elena/PDI-Lic/qt-vs-java-whitepaper.pdf

là một so sánh ngắn gọn về Java và Qt, là rất thú vị.

+0

Trong khi điều này về mặt lý thuyết có thể trả lời câu hỏi, [nó sẽ là thích hợp hơn] (// meta.stackoverflow.com/q/8259) để bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo. –

+0

Chỉnh sửa được thực hiện, trả lời cập nhật. – GTRONICK

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