go - Golang中的Web应用程序供离线/浏览器使用

标签 go

我想创建一个简单的Web应用程序来管理一些数据。该应用程序将使用PostgreSQL,但我不知道如何打包所有内容以使其在Windows,Linux和Mac上运行。我可以交叉编译一个go二进制文件,其中将包含所有内容(Web服务器等),但是postgresql数据库将被忽略,因为它在本地作为单独的服务器运行。我听说过docker,但不知道这是正确的解决方案。

我是否应该创建一个Docker容器并在其中包含PostgreSQL,以便可以在任何平台上启动该Web应用程序?

最佳答案

您不需要Docker来执行此操作。

因为您的用户必须首先安装Docker引擎,所以事情变得复杂了。 Go非常适合跨平台应用,包括电池。

确定是要让您的应用程序在浏览器选项卡中运行还是应该有自己的窗口?

对于浏览器选项卡,针对目标架构编译您的应用,并考虑一种对您的用户有意义的URL方案。

  • localhost:8080/app =>用户界面。这是Web应用程序,它提供HTML,JS和CSS。告诉您的用户运行可执行文件(或将其安装为服务,请参阅this或使用平台特定的工具,例如this one)。然后在浏览器中打开链接
  • localhost:8080/api =>后端路由。将数据提供给用户界面发出的请求。用于与在本地运行
  • 的Postgres服务器通信

    如果您希望您的应用在自己的窗口中运行,请查看Electron。参见gotron:Api用于电子

    关于go - Golang中的Web应用程序供离线/浏览器使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58193688/

    相关文章:

    unit-testing - Google App Engine 数据存储 - 测试查询失败

    svn - 为 Subversion 绑定(bind)

    html - 代码提前结束

    go - Golang rest如何输出json格式错误,具体引用坏字段

    json - 在 Go 中将组合对象转换为 json

    arrays - 返回空 slice

    mysql - GAE CloudSQL 的最佳迁移策略是什么

    go - 你能在 Go 中一次声明多个变量吗?

    json - json解析后如何列出未知字段

    dictionary - 在范围循环内从 map 中删除选定的键是否安全?