2010-10-27 30 views
19

Tôi đã thử nghiệm với Appcelerator Titanum hôm qua và tôi nghĩ nó thật tuyệt khi nói đến Javascript.Làm cách nào để sử dụng HTML + Javascript để xây dựng GUI python?

Tính năng Python trên Appcelerator Titanum quá hạn chế (không thể sử dụng một số mô-đun chẳng hạn).

Câu hỏi của tôi là Làm cách nào để sử dụng html & javascript làm công cụ GUI cho ứng dụng python thực?

Tôi đang chạy windows 7 và tôi đã nghĩ đến việc sử dụng webkit cho mục đích đó nhưng không thể biết cách làm việc với nó trong python.

Tôi đang lên kế hoạch tạo một tệp thực thi độc lập bằng cách sử dụng py2exe vì tôi không biết liệu người dùng luôn có python và các mô-đun thích hợp được cài đặt hay chưa.

+1

Vì vậy, bạn muốn viết một ứng dụng web được lưu trữ cục bộ? – xj9

+7

Vì vậy, về cơ bản, bạn muốn logic ứng dụng của mình được viết bằng Python và GUI trong HTML/JavaScript? –

+1

@musicfreak: Đúng vậy, đó là điều tôi muốn. – Lettuce

Trả lời

2

Vậy làm cách nào tôi có thể sử dụng html & javascript làm công cụ gui cho ứng dụng python thực?

Bạn chạy máy chủ web trên máy tính để bàn của mình. Ví dụ, điều này: http://docs.python.org/library/simplehttpserver.html Trong một vài dòng mã, bạn có thể cung cấp một máy chủ HTTP hoàn chỉnh sẽ phục vụ HTML và Javascript của bạn đến một trình duyệt.

Tôi đang chạy windows 7 và tôi đã nghĩ đến việc sử dụng webkit cho mục đích đó nhưng không thể biết cách làm việc với nó trong python thực sự hơn nữa. Tôi muốn sử dụng py2exe để làm cách nào tôi có thể sử dụng python + webkit để xử lý phần gui?

Khó phân tích cú pháp đó. Nó chỉ ra quá nhiều cà phê hoặc không quen thuộc với dấu chấm câu.

Ngẫu nhiên, tôi sẽ chọn các từ sau đây có thể có ý nghĩa.

làm cách nào tôi có thể sử dụng python + webkit để xử lý phần gui?

Bạn chạy máy chủ web trên máy tính để bàn của mình. Máy chủ web cung cấp các trang html và javascript cho trình duyệt - cũng chạy trên máy tính để bàn của bạn.

+2

Xin lỗi nhưng đó là một câu trả lời không thể chối cãi trong câu hỏi của tôi! Nếu bạn không biết nên đừng bình luận. Tôi đã đề cập ở phần đầu của câu hỏi rằng tôi đã bị ấn tượng bởi Appcelerator Titanum vì vậy tôi chỉ cần tự do hơn khi sử dụng python trong khi làm điều tương tự như Appcelerator Titanum. – Lettuce

+8

@Làm ơn: Vui lòng ** Làm rõ ** câu hỏi của bạn. Tôi tìm thấy tất cả "?" Tôi có thể tìm thấy. Tôi đã cố phân tích các câu hỏi. Nếu bạn không thích câu trả lời, hãy nghĩ về điều này một lúc. Có thể câu hỏi của bạn chưa đủ để ai đó hiểu nó. Hãy nghĩ rằng - có lẽ - chúng tôi không biết nhiều như bạn và bạn cần giải thích một chút về những gì bạn đang cố gắng làm và những gì bạn cần biết. –

+0

Ok tôi đã định dạng lại câu hỏi. – Lettuce

0

Tôi cho rằng bạn đang huy động ứng dụng web để truy cập nền tảng chéo.

Nếu có, bạn đã xem xét tóm tắt quyền truy cập nền tảng chéo ở lớp trình bày ứng dụng web?

Appcelerator/Webkit không cung cấp giao diện gốc thực sự trên thiết bị di động nhưng đây là nơi công nghệ mới có thể trợ giúp.

8

Nếu bạn đang theo các ràng buộc webkit cho Python, hãy xem PyQt, bao gồm Webkit, cũng như wxWebkit (http://wxwebkit.wxcommunity.com/) nếu bạn đang sử dụng wxWidgets. Điều này cho phép bạn nhúng webkit trong ứng dụng Qt hoặc Wxwidgets để bạn không phải duyệt qua trình duyệt.

Nếu bạn sử dụng điều này, bạn có thể sử dụng máy chủ web bằng Python, như những người khác đã đề cập hoặc bạn có thể kiểm soát trực tiếp điều khiển Webkit (mặc dù tôi không chắc chắn cách thực tế này).

Ngoài ra, còn có Máy tính để bàn Pyjamas (http://pyjs.org/), cho phép bạn sử dụng Pyjamas để xây dựng ứng dụng, sau đó chạy nó.

3

Here là một cuộc trò chuyện PyCon thú vị về chủ đề này.

0

Nếu bạn đang nghĩ về các ứng dụng máy tính để bàn thực sự đa luồng và/hoặc sử dụng nhiều thành phần hệ thống - hãy quên JavaScript. Điều đó đòi hỏi một SDK rất tốt (như PyQt4), và không phải là một trình bao bọc cơ bản như Appcelerator Titanium. Lưu ý rằng việc phát triển các ứng dụng như vậy mất rất nhiều thời gian.

Tùy chọn thứ hai là xóa ràng buộc trên màn hình và tạo một ứng dụng web với giao diện người dùng giao diện người dùng nâng cao được thực hiện bằng một trong các khung JavaScript & bạn bè (Ember, Góc ... lên đến những thứ như dhtmlx và các tiện ích giống nhau). Những người không thể sử dụng các thành phần hệ thống (như truy cập một số phần cứng), nhưng họ có thể cung cấp các dịch vụ tốt đẹp.

1

PHP Desktop là một dự án mã nguồn mở được thành lập bởi Czarek Tomczak trong 2012 đến cung cấp một cách để phát triển bản địa GUI máy tính để bàn ứng dụng sử dụng công nghệ web như PHP, HTML5, JavaScript & SQLite. Quy trình phát triển mà bạn đang sử dụng để tạo ứng dụng web vẫn giữ nguyên. Bước chuyển một trang web hiện có thành ứng dụng máy tính để bàn về cơ bản là việc sao chép nó vào thư mục "www /" .

Máy tính để bàn PHP cũng phát hành Máy tính để bàn Python và Ruby Desktop. Nó cho phép bạn tạo một ứng dụng Windows, sử dụng trình duyệt IE đã cài đặt cho giao diện người dùng hoặc sử dụng một phiên bản Chrome (hỗ trợ HTML5 chắc chắn) được đóng gói cùng với ứng dụng. Nó bắt đầu một máy chủ web cục bộ, hỗ trợ nhiều cơ sở dữ liệu với trình điều khiển PDO và bạn có thể bố trí các khung nhìn trong HTML và Javascript. Bạn có thể tải xuống các tài nguyên bên ngoài như bất kỳ trang web/webapp nào khác, do đó, nó cũng hỗ trợ các công cụ liên quan đến mạng. Ứng dụng này có phiên bản Python bằng xương trần, bạn có thể thêm thư viện như mong muốn.

Tôi đã xem xét tất cả các câu trả lời trước đây, vì tôi đã có cùng một câu hỏi giống như bạn, nhưng PHP Desktop dễ dàng giải quyết nó cho tôi.

https://code.google.com/p/phpdesktop/wiki/EmbeddingOtherScriptingLanguages

0

Bạn có thể sử dụng TideSDK có thể giúp bạn tạo các ứng dụng dành cho máy tính để bàn đẹp và độc đáo sử dụng kỹ năng phát triển web của bạn (HTML5/CSS3/JavaScript/Python hoặc PHP hoặc Ruby).

Website: http://www.tidesdk.org

Sử dụng Python trong TideSDK: http://tidesdk.multipart.net/docs/user-dev/generated/#!/guide/using_python

Hy vọng rằng sẽ giúp! :)

+0

Dường như TideSDK và TideKit đều không còn tồn tại: http://stackoverflow.com/questions/24440371/is-tidesdk-defunct – Rob

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