将 Web 应用程序加载为 Windows 桌面应用程序的简单/最佳方式?

问题描述 投票:0回答:4

你好,基本上我有一个使用 html5/php 等构建的网络应用程序。它是一个音乐播放器,类似于 Spotify 和 pandora。我想将 Web 应用程序作为桌面应用程序进行分发,以便人们可以直接从桌面运行它,而无需打开浏览器。我不喜欢类似浏览器的系统,只需加载 Web 视图(类似于在 iOS 中加载 Web 视图)(没有选项卡、没有 URL 栏等)

我听说过 Prism,但它已停产,而且我在任何地方都找不到下载链接。 有什么建议吗?

对于 Mac Os X,我找到了 FluidApp,它似乎工作得很好,因为它构建了一个独立的应用程序。

对于 iOS,我可以简单地通过 Web 视图加载 Web 应用程序,它工作得很好,正是我所需要的。 对于 android,我基本上也加载一个 webview。

Windows 让我不得不通过独立的桌面应用程序加载 Web 应用程序。 因此,如果有人能帮助我,我将不胜感激!

windows html web-applications desktop-application
4个回答
7
投票

我自己也一直在寻找全面的解决方案。我尝试了一切,从 TideSDK、AppJS、Appcelerator Titanium、VB.NET 中的本机代码、XCode、Python、C++、Electron、node-webkit 等:基本上你能想到的我都试过了。

注意 Electron 很好,但它只能在 64 位处理器上运行。因此,如果您想在 32 位处理器上运行应用程序,node-webkit 是不错的选择。

所以我决定构建自己的开源解决方案,称为 WebDGap

目前 WebDGap 作为 Web 应用程序运行在 Windows、Linux、Mac OS X、Google Chrome 上!

观看操作视频以了解如何使用该应用程序。

这是一个屏幕截图。 The WebDGap Application

Mac 用户可以将导出的应用程序合并到 1 个 .app mac 文件中。这可以使用 Automator(和一些 shell 脚本)来完成。

我还为移动用户制作了一个内置此功能的编码游乐场,称为 kodeWeave

这是一个我要导出为 Mac 应用程序的 Tic-Tac-Toe 游戏:

现在 Web 应用程序作为本机 Mac 应用程序运行!


3
投票

一个简单的 VB.NET 应用程序就可以解决这个问题。只需创建一个新的 Windows Froms 项目,双击表单,将所有内容标记为粘贴:

Public Class Form1

    '############## Settings ##############'

    'Change to your URL
    Dim url As String = "http://google.de"

    'Change to the text the window title should have
    Dim title As String = "Your Title here"

    'Change to the windows size you wish to use
    Dim window_size As Size = New Size(800, 600)
    '                                  ^X^, ^Y^
    '########### End of Settings ##########'

    Dim WithEvents WebBrowser1 As New WebBrowser

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Me.Text = title
        Me.Size = window_size

        Me.Controls.Add(WebBrowser1)

        WebBrowser1.Dock = DockStyle.Fill
        WebBrowser1.Navigate(url)

    End Sub

    Private Sub WebBrowser1_Navigated(sender As Object, e As WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated

        Dim elements As HtmlElementCollection
        elements = WebBrowser1.Document.GetElementsByTagName("img")

        For Each element As HtmlElement In elements
            element.SetAttribute("border", "0")
        Next
    End Sub
End Class

编辑设置并按F5运行。瞧,您应该在桌面应用程序中看到 Web 应用程序。


2
投票

Google Chrome 的选项菜单中有一个“保存快捷方式”。菜单>工具>创建快捷方式...我想。 (手机发帖)

当您打开快捷方式时,它将在自己的窗口中打开它。就像一个独立的应用程序。希望这有帮助。

编辑:Prism 来自 Mozilla。我确信 firefox 中也有类似的功能。


0
投票

在 Windows 上,您可以查看 Microsoft Edge WebView2。它类似于 iOS 上的 WKWebView,但它可以在 Windows 上运行。您所需要做的就是创建一个 .NET 桌面应用程序,该应用程序显示一个带有嵌入的 WebView2 控件的窗口,该控件可加载您的网站。然后,您可以构建应用程序并将其打包为可在目标 Windows 平台上运行的本机可执行文件。

© www.soinside.com 2019 - 2024. All rights reserved.