{"id":13496731,"url":"https://github.com/AparokshaUI/adwaita-swift","last_synced_at":"2025-03-28T19:30:58.339Z","repository":{"id":194253079,"uuid":"690369568","full_name":"AparokshaUI/adwaita-swift","owner":"AparokshaUI","description":"This project has moved to https://git.aparoksha.dev/aparoksha/adwaita-swift - A framework for creating user interfaces for GNOME with an API similar to SwiftUI","archived":true,"fork":false,"pushed_at":"2024-10-17T18:56:49.000Z","size":4152,"stargazers_count":824,"open_issues_count":0,"forks_count":16,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-04T17:42:54.082Z","etag":null,"topics":["adwaita","gnome","gtk","libadwaita","linux","swift","swiftui"],"latest_commit_sha":null,"homepage":"https://aparokshaui.github.io/adwaita-swift/","language":"Swift","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/AparokshaUI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","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-09-12T04:14:12.000Z","updated_at":"2025-03-02T23:04:17.000Z","dependencies_parsed_at":"2024-03-25T15:24:12.420Z","dependency_job_id":"82e7d535-6c57-4ee4-8663-835589b4ad46","html_url":"https://github.com/AparokshaUI/adwaita-swift","commit_stats":null,"previous_names":["david-swift/adwaita","aparokshaui/adwaita"],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AparokshaUI%2Fadwaita-swift","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AparokshaUI%2Fadwaita-swift/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AparokshaUI%2Fadwaita-swift/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AparokshaUI%2Fadwaita-swift/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AparokshaUI","download_url":"https://codeload.github.com/AparokshaUI/adwaita-swift/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246088397,"owners_count":20721679,"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","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":["adwaita","gnome","gtk","libadwaita","linux","swift","swiftui"],"created_at":"2024-07-31T19:01:58.200Z","updated_at":"2025-03-28T19:30:57.522Z","avatar_url":"https://github.com/AparokshaUI.png","language":"Swift","funding_links":[],"categories":["Swift"],"sub_categories":[],"readme":"\u003e [!IMPORTANT]  \n\u003e\n\u003e **This project has moved. You can find it [here](https://git.aparoksha.dev/aparoksha/adwaita-swift).**\n\u003e\n\u003e The decision is based on [this article](https://sfconservancy.org/GiveUpGitHub/).\n\u003e\n\u003e Thanks to [No GitHub](https://codeberg.org/NoGitHub) for the badge used below.\n\u003e\n\u003e [![No GitHub](https://nogithub.codeberg.page/badge.svg)](https://sfconservancy.org/GiveUpGitHub/)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg width=\"256\" alt=\"Adwaita Icon\" src=\"Icons/AdwaitaIcon.png\"\u003e\n  \u003ch1 align=\"center\"\u003eAdwaita for Swift\u003c/h1\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://aparokshaui.github.io/adwaita-swift/\"\u003e\n  Documentation\n  \u003c/a\u003e\n  ·\n  \u003ca href=\"https://github.com/AparokshaUI/Adwaita\"\u003e\n  GitHub\n  \u003c/a\u003e\n\u003c/p\u003e\n\n_Adwaita_ is a framework for creating user interfaces for GNOME with an API similar to SwiftUI.\n\nThe following code:\n\n```swift\nstruct Counter: View {\n\n    @State private var count = 0\n\n    var view: Body {\n        HStack {\n            Button(icon: .default(icon: .goPrevious)) {\n                count -= 1\n            }\n            Text(\"\\(count)\")\n                .title1()\n                .frame(minWidth: 100)\n            Button(icon: .default(icon: .goNext)) {\n                count += 1\n            }\n        }\n    }\n\n}\n```\n\nDescribes a simple counter view:\n\n![Counter Example][image-1]\n\nMore examples are available in the [demo app][1].\n\n## Table of Contents\n\n- [Goals][2]\n- [Installation][4]\n- [Usage][5]\n- [Thanks][6]\n\n## Goals\n\n_Adwaita_’s main goal is to provide an easy-to-use interface for creating GNOME apps. The backend should stay as simple as possible, while not limiting the possibilities there are with [Libadwaita][7] and [GTK][8].\n\nIf you want to use _Adwaita_ in a project, but there are widgets missing, open an [issue on GitHub][9].\n\nFind more information about the project's motivation in [this blog post](https://www.swift.org/blog/adwaita-swift/).\n\n## Installation\n### Dependencies\n#### Flatpak\n\nIt is recommended to develop apps inside of a Flatpak.\nThat way, you don't have to install Swift or any of the dependencies on your system, and you always have access to the latest versions.\nTake a look at the [template repository](https://github.com/AparokshaUI/AdwaitaTemplate).\nThis works on Linux only.\n\n#### Directly on System\n\nYou can also run your apps directly on the system.\n\nIf you are using a Linux distribution, install `libadwaita-devel` or `libadwaita` (or something similar, based on the package manager) as well as `gtk4-devel`, `gtk4` or similar.\n\nOn macOS, follow these steps:\n1. Install [Homebrew][11].\n2. Install Libadwaita (and thereby GTK 4):\n```\nbrew install libadwaita\n```\n\n### Swift Package\n1. Open your Swift package in GNOME Builder, Xcode, or any other IDE.\n2. Open the `Package.swift` file.\n3. Into the `Package` initializer, under `dependencies`, paste:\n```swift\n.package(url: \"https://github.com/AparokshaUI/Adwaita\", from: \"0.1.0\")   \n```\n\n## Usage\n\nI recommend using the [template repository](https://github.com/AparokshaUI/AdwaitaTemplate) as a starting point.\n\nFollow the [interactive tutorial](https://aparokshaui.github.io/adwaita-swift/tutorials/table-of-contents) or [read the docs](https://aparokshaui.github.io/adwaita-swift/documentation/adwaita) in order to get to know _Adwaita for Swift_.\n\n## Thanks\n\n### Dependencies\n- [XMLCoder][18] licensed under the [MIT license][19]\n- [Levenshtein Transformations](https://github.com/david-swift/LevenshteinTransformations) licensed under the [MIT license](https://github.com/david-swift/LevenshteinTransformations/blob/main/LICENSE.md)\n\n### Other Thanks\n- The [contributors][20]\n- The auto-generation of widgets is based on [Swift Cross UI](https://github.com/stackotter/swift-cross-ui)\n- [SwiftLint][21] for checking whether code style conventions are violated\n- The programming language [Swift][22]\n\n[1]:    Tests/\n[2]:\t#goals\n[4]:\t#installation\n[5]:\t#usage\n[6]:\t#thanks\n[7]:\thttps://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/index.html\n[8]:\thttps://docs.gtk.org/gtk4/\n[9]:\thttps://github.com/AparokshaUI/Adwaita/issues\n[10]:\thttps://github.com/AparokshaUI/Libadwaita\n[11]:\thttps://brew.sh\n[12]:\tuser-manual/GettingStarted.md\n[13]:\tuser-manual/Basics/HelloWorld.md\n[14]:   user-manual/Basics/CreatingViews.md\n[15]:   user-manual/Basics/Windows.md\n[16]:   user-manual/Basics/KeyboardShortcuts.md\n[17]:   user-manual/Advanced/CreatingWidgets.md\n[18]:\thttps://github.com/CoreOffice/XMLCoder\n[19]:\thttps://github.com/CoreOffice/XMLCoder/blob/main/LICENSE\n[20]:\tContributors.md\n[21]:\thttps://github.com/realm/SwiftLint\n[22]:\thttps://github.com/apple/swift\n[23]:\thttps://github.com/SourceDocs/SourceDocs\n\n[image-1]: Icons/Counter.png\n[image-2]: Icons/Demo.png\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAparokshaUI%2Fadwaita-swift","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAparokshaUI%2Fadwaita-swift","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAparokshaUI%2Fadwaita-swift/lists"}