{"id":24972245,"url":"https://github.com/fariosofernando/combine","last_synced_at":"2026-05-03T04:36:26.896Z","repository":{"id":210397396,"uuid":"726003756","full_name":"fariosofernando/Combine","owner":"fariosofernando","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-14T22:42:54.000Z","size":47,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T17:08:15.792Z","etag":null,"topics":["codepush","flutter","flutterpackage"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fariosofernando.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-12-01T10:27:50.000Z","updated_at":"2024-02-05T13:26:15.000Z","dependencies_parsed_at":"2023-12-15T02:51:42.101Z","dependency_job_id":"f816694f-0fac-4b9f-81d4-a0ca2d2eb251","html_url":"https://github.com/fariosofernando/Combine","commit_stats":null,"previous_names":["fariosofernando/flutter_dynamic_ui","hi-im-aurelio/combine","fariosofernando/combine"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fariosofernando%2FCombine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fariosofernando%2FCombine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fariosofernando%2FCombine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fariosofernando%2FCombine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fariosofernando","download_url":"https://codeload.github.com/fariosofernando/Combine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246144977,"owners_count":20730493,"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":["codepush","flutter","flutterpackage"],"created_at":"2025-02-03T17:08:25.869Z","updated_at":"2026-05-03T04:36:26.856Z","avatar_url":"https://github.com/fariosofernando.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The name will change to Combine.\n# Attention. This is not an official package yet. Still in the development and testing phase.\n# Floating dynamic UI\n\n**Flutter Dynamic UI** aims to make it easier to update the user interface in Flutter applications in a simple and efficient way, inspired by the concept of \"code push\".\n\nThe project allows the definition of the user interface through a formatted string called “coc string”, providing flexibility and ease in maintaining and updating the UI.\n\n## Language structure\n\nThe language uses an approach based on formatted strings, called \"coc strings\", to represent the hierarchy of components and their properties. Each component is defined with its properties in a readable format, followed by the “break” keyword to indicate the end of that specific block.\n\nExample of \"string coc\":\n\n```dart\nString application = \"\"\"\n       Center\n         break\n         Container\n           color: deepPurpleAccent\n           height: 100\n           width: 100\n           break\n           Text\n             text: Lorem ipsum dolor sit amet consectetur adipisicing elit and definition.\n             textAlign: center\n             break\n\"\"\";\n```\n\n## Parser and Builder\n\nThe project includes a set of parsing functions and a constructor that interprets the \"coc string\" to create the corresponding widget hierarchy. Analysis is performed through a set of logic that recognizes components and properties, while the builder translates this information into Flutter widgets.\n\n## Supported Components\n\nCurrently, the project supports the following components:\n\n- `MaterialApp`\n- `Scaffolding`\n- `AppBar`\n- `Column`\n- `Container`\n- `SizedBox`\n- `Center`\n- `Text`\n\nEach component has a set of specific properties that can be configured in the \"coc string\".\n\n## Example of use\n\nYou can integrate **Flutter Dynamic UI** into your project as follows:\n\n1. Add the `string coc` to a file, for example `app.flutter`:\n\n```dart\nMaterialApp\n  debugShowCheckedModeBanner: false\n  useMaterial3: false\n  break\n  Scaffold\n    enableAppBar: true\n    title: AppDemo\n    centerTitle: false\n    break\n    Column\n      length: 2\n      break\n      Text\n        text: First text\n        textAlign: center\n        break\n      Text\n        text: Second text\n        textAlign: center\n        break\n```\n\n2. Import the \"coc string\" into `main.dart` and use the constructor to create the interface:\n\n```dart\nvoid main() =\u003e runApp(builder(string));\n```\n\nThis approach allows for a clear separation between interface definition and Dart logic, providing flexibility for remote updates.\n\n## Contribution\n\nContributions are welcome! Feel free to open issues and submit pull requests to make **Flutter Dynamic UI** even more robust and versatile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffariosofernando%2Fcombine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffariosofernando%2Fcombine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffariosofernando%2Fcombine/lists"}