{"id":13610968,"url":"https://github.com/nacular/doodle","last_synced_at":"2025-05-15T00:06:57.104Z","repository":{"id":42012452,"uuid":"108631782","full_name":"nacular/doodle","owner":"nacular","description":"A pure Kotlin UI framework for the Web and Desktop.","archived":false,"fork":false,"pushed_at":"2025-03-30T04:23:24.000Z","size":41802,"stargazers_count":741,"open_issues_count":2,"forks_count":28,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-04-15T05:16:59.537Z","etag":null,"topics":["framework","gui","javascript","kotlin","kotlin-js","kotlin-jvm","kotlin-multiplatform","kotlin-wasm","object-oriented","ui","ui-kit","web","webapp"],"latest_commit_sha":null,"homepage":"https://nacular.github.io/doodle","language":"Kotlin","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/nacular.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":"2017-10-28T08:15:23.000Z","updated_at":"2025-04-14T15:22:34.000Z","dependencies_parsed_at":"2024-02-18T07:32:07.586Z","dependency_job_id":"7f2c80f7-af65-402c-9e77-a21771fa8b17","html_url":"https://github.com/nacular/doodle","commit_stats":{"total_commits":1247,"total_committers":6,"mean_commits":"207.83333333333334","dds":0.008821170809943824,"last_synced_commit":"8939fcffe79aa36b646250fcb026275acd3ae931"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacular%2Fdoodle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacular%2Fdoodle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacular%2Fdoodle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nacular%2Fdoodle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nacular","download_url":"https://codeload.github.com/nacular/doodle/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254249198,"owners_count":22039029,"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":["framework","gui","javascript","kotlin","kotlin-js","kotlin-jvm","kotlin-multiplatform","kotlin-wasm","object-oriented","ui","ui-kit","web","webapp"],"created_at":"2024-08-01T19:01:50.087Z","updated_at":"2025-05-15T00:06:57.071Z","avatar_url":"https://github.com/nacular.png","language":"Kotlin","funding_links":[],"categories":["Kotlin","framework"],"sub_categories":[],"readme":"\u003cdiv style=\"text-align:center\"\u003e\u003cimg src=\"docs/img/doodle.svg\" alt=\"doodle\" style=\"height:100px;margin-bottom:50px\"\u003e\u003c/div\u003e\n\u003cdiv style=\"text-align:center\"\u003e\u003ch1\u003eA pure Kotlin, UI framework\u003c/h1\u003e\u003c/div\u003e\n\n[![Kotlin 2.1.10](https://img.shields.io/badge/Kotlin_2.1.10-blue.svg?style=for-the-badge\u0026logo=kotlin\u0026logoColor=white)](http://kotlinlang.org)\n[![JS Wasm, JVM](https://img.shields.io/badge/JS%2C_Wasm%2C_JVM-purple?style=for-the-badge\u0026logo=kotlin\u0026logoColor=white)](https://kotlinlang.org/docs/js-overview.html)\n[![Chat: on slack](https://img.shields.io/badge/doodle-gray.svg?style=for-the-badge\u0026logo=slack)](https://kotlinlang.slack.com/messages/doodle)\n[![API](https://img.shields.io/badge/API-orange?style=for-the-badge)](https://nacular.github.io/doodle/)\n[![License: MIT](https://img.shields.io/badge/MIT_License-green.svg?style=for-the-badge)](https://github.com/pusolito/doodle/blob/master/LICENSE)\n\nDoodle helps you create beautiful, modern apps entirely in [Kotlin](http://kotlinlang.org). Its render model is intuitive yet powerful, making it easy to achieve [complex UIs](https://nacular.github.io/doodle-tutorials/docs/introduction) with pixel level precision and layouts. This simplicity and power applies to everything from user input to drag and drop. Doodle lets you build and animate anything.\n\nStart creating your app for Web and Desktop; just define your View hierarchy and business logic, and go.\n\nhttps://github.com/nacular/doodle/assets/9815928/7340bb3c-b1c4-4a79-96ce-002d6f255e0b\n\n## Hello World\n```kotlin\nimport io.nacular.doodle.application.Application\nimport io.nacular.doodle.application.application\nimport io.nacular.doodle.core.Display\nimport io.nacular.doodle.core.plusAssign\nimport io.nacular.doodle.core.view\nimport io.nacular.doodle.drawing.Color.Companion.Black\nimport io.nacular.doodle.drawing.text\nimport org.kodein.di.instance\n\nclass HelloWorld(display: Display): Application {\n    init {\n        display += view {\n            size   = display.size\n            render = {\n                text(\"Hello, world!\", color = Black)\n            }\n        }\n    }\n\n    override fun shutdown() {}\n}\n\nfun main() {\n    application {\n        HelloWorld(display = instance())\n    }\n}\n```\n## Examples and Documentation\n\nCheck out the [documentation](https://nacular.github.io/doodle/) site for more details and examples. You can also find helpful tutorials at [doodle-tutorials](https://nacular.github.io/doodle-tutorials).\n\nDoodle is still under active development, so there are going to be gaps and bugs. Please report [issues](https://github.com/pusolito/doodle/issues), and submit feature requests.\n\nYou can also join the discussion on the [#doodle](https://kotlinlang.slack.com/messages/doodle) Kotlin Slack channel. Go to http://slack.kotl.in for instructions on getting an invitation.\n\n## Leave a star\n\nLet us know what you think by leaving a comment or a star ⭐️.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnacular%2Fdoodle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnacular%2Fdoodle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnacular%2Fdoodle/lists"}