{"id":32629236,"url":"https://github.com/climentea/fiberwebgui","last_synced_at":"2025-10-30T22:03:05.633Z","repository":{"id":153917456,"uuid":"630799483","full_name":"ClimenteA/fiberwebgui","owner":"ClimenteA","description":"Create cross-platform desktop apps using Fiber and GO! ","archived":false,"fork":false,"pushed_at":"2024-06-02T18:40:26.000Z","size":16,"stargazers_count":13,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T03:34:56.395Z","etag":null,"topics":["go-desktop-apps","wails"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ClimenteA.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-21T07:20:32.000Z","updated_at":"2024-12-14T15:37:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"c073a2ae-1c22-4407-828f-065a928c3e1b","html_url":"https://github.com/ClimenteA/fiberwebgui","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/ClimenteA/fiberwebgui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimenteA%2Ffiberwebgui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimenteA%2Ffiberwebgui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimenteA%2Ffiberwebgui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimenteA%2Ffiberwebgui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClimenteA","download_url":"https://codeload.github.com/ClimenteA/fiberwebgui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClimenteA%2Ffiberwebgui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281889519,"owners_count":26578953,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-30T02:00:06.501Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go-desktop-apps","wails"],"created_at":"2025-10-30T22:01:52.936Z","updated_at":"2025-10-30T22:03:05.606Z","avatar_url":"https://github.com/ClimenteA.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fiberwebgui\n\nCreate cross-platform desktop apps using Fiber and GO! \n\nThis small package just starts the Fiber server and the Chrome* browser in app mode. Doing this allows you to use [Fiber](https://github.com/gofiber/fiber) go webframework to create a desktop application using html/css/js, go html templates anything you would use to create a website.\n\nFiberwebgui is an adaptation of [flaskwebgui](https://github.com/ClimenteA/flaskwebgui) python package which serves the same purpuse.\n\n\n## Install\n\n```bash\ngo get -u github.com/ClimenteA/fiberwebgui\n```\n\n## Usage\n\n```go\npackage main\n\nimport (\n\t\"github.com/ClimenteA/fiberwebgui\"\n\t\"github.com/gofiber/fiber/v2\"\n)\n\nfunc main() {\n\n\tapp := fiber.New()\n\n\tapp.Get(\"/\", func(c *fiber.Ctx) error {\n\t\treturn c.SendString(\"Hello, World 👋!\")\n\t})\n\n\tfiberwebgui.Run(app)\n\t// Alternatives:\n\t// fiberwebgui.RunOnPort(app, 5656)\n\t// fiberwebgui.RunWithSize(app, 800, 600)\n\t// fiberwebgui.RunWithSizeOnPort(app, 800, 600, 5656)\n\t// fiberwebgui.RunBrowser(app)\n\t// fiberwebgui.RunBrowserOnPort(app, 5656)\n}\n\n```\n\n## Distribution\n\nHere are some CLI go commands for cross-platform executables.\n\nWindows 64bit:\n```bash\nGOOS=windows GOARCH=amd64 go build -ldflags -H=windowsgui -o dist/myapp.exe main.go\n```\n\nLinux 64bit:\n```bash\nGOOS=linux GOARCH=amd64 go build -o dist/myapp main.go\n```\n\nMac 64bit:\n```bash\nGOOS=darwin GOARCH=amd64 go build -o dist/myapp main.go\n```\n\nOf course, modify these commands as needed for your specific hardware architecture.\n\n## Observations\n\n- Parameters `width`, `height` and maybe `fullscreen` may not work on Mac;\n- Window control is limited to width, height, fullscreen;\n- Remember the GUI is still a browser - pressing F5 will refresh the page + other browser specific things (you can hack it with js though);\n- You don't need production level setup - you just have one user to serve;\n- If you want to debug/reload features - just run it as you would normally do fiberwebgui does not provide auto-reload;\n\n\n## Why Fiber and not net/http or Gin or X framework? \nComming from a Python/JS background I found Fiber the most well documented and easy to use webframework for GO. If you need this to work with other go frameworks you can take a look at the source code and adapt it as needed (nothing to fancy there).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimentea%2Ffiberwebgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclimentea%2Ffiberwebgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclimentea%2Ffiberwebgui/lists"}