Giải pháp phân phối ứng dụng HTML5 dưới dạng ứng dụng máy tính để bàn? [đóng cửa]


141

Một số giải pháp để phân phối ứng dụng máy tính để bàn dựa trên HTML5 là gì?

Tôi muốn có thể phân phối ứng dụng HTML5 của mình dưới dạng một ứng dụng máy tính để bàn độc lập trên Windows, OSX và Linux. Tôi muốn mọi người có thể nhấp đúp vào phím tắt biểu tượng ứng dụng của tôi để chạy chương trình của tôi.

Tôi không muốn cửa sổ trình duyệt hiển thị, chỉ là ứng dụng của tôi. Điều này có thể không?


4
Chrome + Toàn màn hình hoạt động tốt
PostMan

2
Chrome trên windows có tùy chọn "tạo ứng dụng tắt" từ menu cờ lê. Nó sẽ tạo một liên kết trên màn hình mở ra cửa sổ tiêu chuẩn không có thanh địa chỉ.
6502

3
Bạn có bất kỳ yêu cầu nào khác, như truy cập các tệp cục bộ hoặc những thứ khác thường không thể có trong trình duyệt không?
Tiemen

76
Ai đó có thể giải thích cho tôi tại sao câu hỏi này được đánh dấu là không mang tính xây dựng ? Ông đang hỏi nếu có một nền tảng, câu trả lời là khách quan: . Và có thể được "thực hiện" với một số khả năng, vậy tại sao thực sự được đánh dấu theo cách này.
Francesco Belladonna

10
Câu hỏi này có liên quan và chủ đề - như được hiển thị trong bài viết gần đây này: clintberry.com/2013/html5-apps-desktop-2013 .
Per Quested Aronsson

Câu trả lời:


75

Ứng dụng HTML5 năm 2014

Khung bằng chrome / webkit

  • Electron (nguyên tử cũ)

    Electron là một thư viện mã nguồn mở được phát triển bởi GitHub để xây dựng các ứng dụng máy tính để bàn đa nền tảng với HTML, CSS và JavaScript. Electron thực hiện điều này bằng cách kết hợp Chromium và Node.js vào một thời gian chạy duy nhất và các ứng dụng có thể được đóng gói cho Mac, Windows và Linux. ( nguồn )

    Mọi người tại github sử dụng điều này để cung cấp trình soạn thảo mã Atom của họ dưới dạng một ứng dụng. Nó có một api tài liệu và một kênh trợ giúp trên các diễn đàn nguyên tử chính thức.

  • Node-Webkit , cách tiếp cận tối thiểu nhất

    node-webkit là thời gian chạy ứng dụng dựa trên Chromium và node.js. Bạn có thể viết các ứng dụng gốc bằng HTML và JavaScript bằng nút-webkit. Nó cũng cho phép bạn gọi các mô-đun Node.js trực tiếp từ DOM và cho phép một cách mới để viết các ứng dụng gốc với tất cả các công nghệ Web.

    Intel đứng sau điều này (?). Tôi đã nói rằng nó rất thô xung quanh các cạnh.

  • Brackets Shell , hộp cát của trình soạn thảo mã Adobes (và cơ sở của Adobe Edge)

    Lưu ý: Shell-shell chỉ được duy trì để sử dụng cho dự án Brackets. Mặc dù một số người chắc chắn đã thành công khi sử dụng nó làm vỏ ứng dụng cho các dự án khác, chúng tôi không cung cấp bất kỳ hỗ trợ chính thức nào cho việc đó và chúng tôi đã không làm rất nhiều việc để làm cho vỏ ứng dụng dễ dàng sử dụng lại. Nhiều người có thể sẽ thấy dễ dàng hơn khi sử dụng một dự án như node-webkit, vốn chung chung hơn theo thiết kế.

    Readme nói, nhưng có khá nhiều người ngoài kia đã làm điều đó.

Khung + Công cụ

  • Adobe AIR , như một câu trả lời khác được đề xuất.

    Thời gian chạy Adobe® AIR® cho phép các nhà phát triển đóng gói cùng mã vào các ứng dụng gốc cho máy tính để bàn Windows và Mac OS cũng như iPhone, iPad, Kindle Fire, Nook Tablet và các thiết bị Android ™ khác, tiếp cận các cửa hàng ứng dụng di động với giá hơn 500 triệu thiết bị.

  • Sencha là một công ty bán các công cụ cho các nhà phát triển ứng dụng, bao gồm phân phối và phát triển ứng dụng html5.

Phương pháp không hoạt động


7
Hiện tại Mozilla Prism không hoạt động
Harshith JV

8
Chỉ cần một đầu lên với Adobe Air. Nếu bạn đang dự định sử dụng bất kỳ loại giải pháp mẫu javascript nào (ví dụ như Tay cầm, Bộ ria) thì hầu hết chúng đều không hoạt động do lỗi bảo mật liên quan đến chức năng mới () các cuộc gọi javascript.
James Parker

cảm ơn vì gợi ý rất hữu ích Thật không may, tôi đã không có được sự sáng suốt để kiểm tra bất kỳ ví dụ nào được liệt kê ở trên. Tôi chỉ thu thập chúng thông qua nghiên cứu.
Samuel Herzog

Bạn có thể làm cho ứng dụng của bạn chạy bên ngoài hộp cát bảo mật. Tôi cũng gặp vấn đề với hệ thống tạo khuôn mẫu KendoUI và đã có thể khắc phục nó. Dù sao tôi cũng đã chuyển từ Air sang Titanium Desktop, nhưng hiện đang tìm kiếm các lựa chọn thay thế vì việc triển khai TD của Windows webkit có vấn đề nghiêm trọng với các yếu tố hình thức (đầu vào / thả xuống ).
Vasco Costa

Bạn có thể xem xét Sentenza Desktop để đóng gói ứng dụng web HTML5 / CSS3 / JS vào ứng dụng Mac OS X (.app). Một thư viện API cũng có sẵn. Nó không yêu cầu bất kỳ khuôn khổ nào (như Adobe Air hoặc TideSDK). Hỗ trợ triển khai Mac App Store.
Beny

15

Bạn có thể sử dụng AppJS sử dụng Nodejs và Chromium để xây dựng các ứng dụng html5 cho máy tính để bàn. xem thử: http://appjs.com Liên kết Github: https://github.com/appjs/appjs


1
Tương tự như vậy là nút-webkit, nó có một số tính năng hay như biên dịch javascript của bạn bằng cách sử dụng ảnh chụp nhanh v8. liên kết
trụ cột15

Thông báo khấu hao Dự án AppJS đã không được tích cực phát triển trong một vài năm. Vui lòng kiểm tra NW.js hoặc Electron thay thế.
Aaron Franke

10

Bạn có thể muốn xem XULRunner từ Mozilla. Ở cấp độ 10000 feet, trình duyệt FireFox là một ứng dụng XULRunner (rõ ràng là một ứng dụng rất tinh vi, nhưng ...). Nhưng XULRunner cho phép bạn sử dụng Javascript và XML để tạo các ứng dụng và cửa sổ trình duyệt là một trong những thành phần đó, vì vậy khi bạn mở cửa sổ cơ bản, bạn có thể làm bất cứ điều gì bạn muốn.

Ngoài ra, tùy thuộc vào độ tinh vi của ứng dụng của bạn, có một số khung "widget" (như Bảng điều khiển trên Mac, Yahoo Widgets, Windows Gadgets) về cơ bản là các thời gian chạy HTML.


2
Tôi rất khuyên bạn nên nhìn vào XULRunner. Đối với những gì bạn mô tả, đó là lý tưởng, và tài liệu tốt. Chrome cũng hoạt động tốt như vậy, tôi cho rằng, nhưng tôi đã không nhìn vào nó.
Jared Farrish

Người chạy XUL là một khung tuyệt vời và rất linh hoạt, nhưng không được ghi chép tốt như bạn nói. Một người mới sẽ phải chịu đựng rất nhiều để bắt đầu mọi thứ.
esafwan

10

Chắc chắn kiểm tra Titanium . Mới hôm nay tôi đã lấy một ứng dụng HTML5 chức năng và với một vài sửa đổi nhỏ đã có thể thả nó vào Titanium và đóng gói nó cho Mac, Windows và Linux.

Và nó cũng hỗ trợ PHP, Python và Ruby nếu ứng dụng của bạn yêu cầu xử lý "phía máy chủ".


Nếu bạn muốn một giải pháp đóng gói sẵn, tôi nghĩ đây là câu trả lời.
dylanized

15
Những trải nghiệm của tôi với Titanium thật tồi tệ - bề ngoài trông rất tuyệt nhưng được nhồi đầy bọ và trở thành địa ngục để sử dụng rất nhanh. Tôi không thể giới thiệu nó.
Damian

3
Tôi cũng nghĩ rằng đây sẽ là một lựa chọn tốt nhưng: 1) Tôi không thể làm cho nó chạy một "Tạo-dự án mới / chạy" đơn giản trong Linux (Ubuntu 11.10) 2) Máy tính để bàn Titanium đang được chuyển đổi thành dự án COmmunity-Driven ( điều đó có nghĩa là, trừ khi ai đó lấy mã của họ, nó sẽ chết)
Luis Lobo Borobia

4
Tôi biết điều này đã cũ, nhưng tôi chỉ đọc câu trả lời này và dành một chút thời gian cho đến khi tôi nhận ra rằng Titanium Desktop đã chết. Vì vậy, không phải là một lựa chọn nữa. BTW, tôi đang suy nghĩ về việc tạo ra thứ gì đó có nhúng c # và crom, như github đã làm trong công cụ của mình cho các cửa sổ
NicoGranelli

6
Titanium Desktop đã trở thành TideSDK tidesdk.org
Peacemoon

5

chrome có thể làm những gì mà lăng kính nhìn thấy - Công cụ-> Tạo ứng dụng Phím tắt


Không biết rằng ... +1
arg20

Thật không may, các phím tắt ứng dụng không có sẵn trên Mac.
Shane Holloway


3

Adobe AIR có nghĩa là cho phép bạn làm việc chủ yếu bằng HTML, CSS và JavaScript trong khi cung cấp một ứng dụng máy tính để bàn. (Hãy cẩn thận: Tôi chưa thực sự sử dụng nó.)


1
trình duyệt tích hợp trong AIR đã cũ và sẽ không bao giờ được cập nhật, vì vậy tôi không khuyên dùng nó (tôi đã sử dụng nó trong nhiều dự án hơn)
simion314 17/03/14

@ simion314: Tôi tò mò, vì AIR là một dự án đang diễn ra, tại sao bạn nói trình duyệt trong đó sẽ "không bao giờ" được cập nhật.
TJ Crowder

xem forum.adobe.com/message/6177332 Adobe hoạt động nhiều hơn cho phần di động của AIR và trên thiết bị di động họ sử dụng StageWebView và họ sẽ không cập nhật công cụ webkit trong AIR, Stagewebview bị giới hạn chỉ hiển thị nội dung, ví dụ nếu bạn hãy thử tải một thư viện hoặc ứng dụng javascript phức tạp như ckeditor 4, nó sẽ thất bại vì một số không tương thích với công cụ webkit (một số có liên quan đến hộp cát nhưng không phải tất cả)
simion314 17/03/14


2

Hmmm ... một máy ảo cho HTML5 / CSS / JS ... nghe giống như một trình duyệt. :)

Có lẽ Adobe AIR sẽ thực hiện thủ thuật này, vì nó dựa trên ý tưởng mang các ứng dụng Internet phong phú lên máy tính để bàn. Tôi chưa bao giờ sử dụng nó, tuy nhiên.

Một điều bạn có thể làm là phát triển một ứng dụng máy tính để bàn rất cơ bản sử dụng một số loại điều khiển trình duyệt web được đóng gói sẵn (ví dụ: nếu bạn đang phát triển cho máy Mac, chỉ cần thả WebView vào cửa sổ và thêm một số mã cơ bản để tải html vào ứng dụng khởi nghiệp).





1

Hiện tại câu trả lời là các giải pháp khác nhau của mỗi nền tảng.

  • Đối với MAC OSX Bạn sẽ tạo Ứng dụng Máy tính để bàn với UIWebView
  • Đối với Windows, bạn sẽ tạo một ứng dụng máy tính để bàn .NET có thành phần trình duyệt.

Tôi nghĩ rằng việc sử dụng một cửa sổ với một thành phần trình duyệt có một số hạn chế (có thể truy cập vào hệ thống tập tin hoặc hiển thị cửa sổ bật lên?), Bạn có biết dự án nào hơn sử dụng phương pháp này không? ...
clagccs 15/212

Câu trả lời tốt nhất và không ai thừa nhận nó. Ở phía sau, hầu hết tất cả các giải pháp lai đều sử dụng một thành phần webview hoạt động giống như một trình duyệt. Đây là tất cả những gì bạn cần, tải lên webview, tải html / css / js và voila!
Dan Ochiana

1

Bạn có thể sử dụng một máy chủ nhúng như Tomcat hoặc có thể là Apache.

Tôi sử dụng tomcat cho một ứng dụng web java hoàn chỉnh. Chạy bên trong trình duyệt, nhưng ứng dụng cần được cài đặt. Phím tắt để khởi động ứng dụng, khởi động dịch vụ và mở trình duyệt.

Hoặc thử sử dụng webkit


1

Hơi muộn một chút, nhưng bạn có thể sử dụng phiên bản di động của google chrome, sau đó tạo một ứng dụng windows nhỏ để cài đặt nó và tạo một phím tắt .ink cho chế độ ứng dụng --kiosk và ứng dụng của nó.
Kiểu như các phím tắt ứng dụng chrome, nhưng nơi bạn cài đặt chrome cho chúng.


1

Nếu bạn chỉ cần nó cho Windows, bạn nên xem xét Ứng dụng HTML (HTA), đó là một phần của Internet Explorer kể từ IE 5 (hơn 10 năm).

Không yêu cầu máy chủ, định dạng HTML đầy đủ, truy cập đầy đủ vào tài nguyên cục bộ (thậm chí cả cổng COM / USB), tuyệt vời. Ngoài ra, dễ dàng gỡ lỗi với Visual Studio, chỉ cần liên kết với MSHTA.exe

Bạn có thể bật HTML 5 trong HTA bằng thẻ meta sau:

<!-- enable html5 features --> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"></meta>

+1 Tìm kiếm hỗ trợ Linux và Mac quá :)
Bhargav Nanekalva
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.