{"id":30531736,"url":"https://github.com/jcrqr/webview","last_synced_at":"2025-08-27T09:22:53.974Z","repository":{"id":140031963,"uuid":"149284292","full_name":"jcrqr/webview","owner":"jcrqr","description":"Build cross platform desktop apps with Elixir and web technologies.","archived":false,"fork":false,"pushed_at":"2020-10-20T19:02:16.000Z","size":45,"stargazers_count":23,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-17T16:39:52.271Z","etag":null,"topics":["cross-platform-desktop","css","elixir","html","javascript","nif","webview"],"latest_commit_sha":null,"homepage":"","language":"C","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/jcrqr.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},"funding":{"github":["wtfiscrq"]}},"created_at":"2018-09-18T12:25:43.000Z","updated_at":"2025-08-07T03:05:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"1edf2b26-9a19-48e2-83a5-613718c878e5","html_url":"https://github.com/jcrqr/webview","commit_stats":null,"previous_names":["jcrqr/webview"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jcrqr/webview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcrqr%2Fwebview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcrqr%2Fwebview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcrqr%2Fwebview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcrqr%2Fwebview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcrqr","download_url":"https://codeload.github.com/jcrqr/webview/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcrqr%2Fwebview/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272314108,"owners_count":24912325,"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-08-27T02:00:09.397Z","response_time":76,"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":["cross-platform-desktop","css","elixir","html","javascript","nif","webview"],"created_at":"2025-08-27T09:22:52.714Z","updated_at":"2025-08-27T09:22:53.961Z","avatar_url":"https://github.com/jcrqr.png","language":"C","funding_links":["https://github.com/sponsors/wtfiscrq"],"categories":[],"sub_categories":[],"readme":"# WebView\n\n[Installation](#installation) | [Usage](#usage) | [Documentation](#documentation) | [License](#license)\n\n\u003e Build cross platform desktop apps with Elixir and web technologies.\n\nThis library provides Elixir bindings for the [webview](https://github.com/zserge/webview)\nlibrary to allow easy creation of cross platform Elixir desktop apps with GUIs\nbased on web technologies.\n\nThe [webview](https://github.com/zserge/webview) library uses `Cocoa/WebKit` on\nmacOS, `gtk-webkit2` on Linux and `MSHTML (IE10/11)` on Windows, making this a good\nalternative to [Electron](https://electronjs.org/).\n\nCheck the [NIF project](https://github.com/und0ck3d/webview/projects/1) to track\nthe implementation progress.\n\nIt's recommended to also read the [webview readme](https://github.com/Boscop/web-view/blob/master/README.md)\nfor a better understanding of how the library works behind the scenes. You'll also\nfind a list of bindings in other languages there.\n\n**Disclaimer:** this is work in progress (early development) and breaking changes\nwill most probably occur without notice, currently **not** production-ready.\n\n## Installation\n\nWebView can be installed by adding `webview` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:webview, github: \"und0ck3d/webview\"}\n  ]\nend\n```\n\nWill be published on [Hex](https://hex.pm) when `0.1.0` is released.\n\n## Usage\n\n**Starting WebView**\n\n```console\niex\u003e opts = [title: \"Hello, WebView!\", url: \"https://elixir-lang.org\"]\niex\u003e WebView.start(opts)\n```\n\nAlternatively you may add `WebView` to a supervision tree:\n\n```elixir\nwebview_config = [title: \"Hello, WebView!\", url: \"https://elixir-lang.org\"]\n\nchildren = [\n  {WebView, webview_config}\n]\n```\n\n**Manipulating WebView**\n\n(after having started `WebView`)\n\nSet the title:\n\n```elixir\nWebView.set_title(\"Elixir is awesome!\")\n```\n\nSet fullscreen:\n\n```elixir\nWebView.set_fullscreen(true) # Turns fullscreen on\nWebView.set_fullscreen(false) # Turns fullscreen off\n```\n\nEvaluate JavaScript code:\n\n```elixir\nWebView.eval(\"console.log('Hi, from Elixir!')\")\n```\n\nInjectg CSS styles:\n\n```elixir\nWebView.inject_css(\"body { background: #000; color: #fff; }\")\n```\n\nCurrently it isn't possible to update neither the page's URL nor the HTML directly\nusing [zserge/webview](https://github.com/zserge/webview) because the library\ndoesn't have support for it. Those and other additional features will be added\nto WebView in the future to easily allow different use cases (such as update the\nHTML directly, implement navigation on back-end, use a web server such as Phoenix,\nSPAs and more).\n\nFor more examples, please check the [examples](https://github.com/und0ck3d/webview/blob/master/examples) directory.\n\n## Documentation\n\nDocumentation isn't available online. You can generate it locally with:\n\n```console\n$ mix docs\n```\n\n## Contributing\n\nContributions are very welcome, specially improvements to the\n[NIF](https://github.com/und0ck3d/webview/blob/master/lib/webview/native.ex) and\nthe [Makefile](https://github.com/und0ck3d/webview/blob/master/Makefile) to support\ncross platform.\n\nFor now, simply fork this repository and make the changes, open an issue and\ncreate a pull request. Don't forget to run `mix format` before committing, please.\n\n## License\n\nBoth [und0ck3d/webview](https://github.com/und0ck3d/webview) and\n[zserge/webview](https://github.com/zserge/webview) projects are released under\nthe [MIT license](https://github.com/und0ck3d/webview/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcrqr%2Fwebview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcrqr%2Fwebview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcrqr%2Fwebview/lists"}