{"id":28612789,"url":"https://github.com/unoplatform/uno.quickstart","last_synced_at":"2025-10-30T20:07:48.167Z","repository":{"id":32391780,"uuid":"132454435","full_name":"unoplatform/Uno.QuickStart","owner":"unoplatform","description":"An Uno \"Hello world!\" project using Windows UWP, Linux, iOS, Android and WebAssembly","archived":false,"fork":false,"pushed_at":"2024-09-11T11:11:09.000Z","size":1547,"stargazers_count":175,"open_issues_count":13,"forks_count":26,"subscribers_count":32,"default_branch":"main","last_synced_at":"2025-06-05T22:10:03.242Z","etag":null,"topics":["cross-platform","csharp","uwp","wasm","xamarin"],"latest_commit_sha":null,"homepage":"http://platform.uno/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unoplatform.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"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":"2018-05-07T12:00:53.000Z","updated_at":"2025-05-19T10:17:41.000Z","dependencies_parsed_at":"2023-02-15T07:46:31.621Z","dependency_job_id":"dc26e38e-38f7-4fc4-9d8c-57e845d6fc0b","html_url":"https://github.com/unoplatform/Uno.QuickStart","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/unoplatform/Uno.QuickStart","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.QuickStart","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.QuickStart/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.QuickStart/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.QuickStart/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unoplatform","download_url":"https://codeload.github.com/unoplatform/Uno.QuickStart/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unoplatform%2FUno.QuickStart/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259372669,"owners_count":22847792,"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":["cross-platform","csharp","uwp","wasm","xamarin"],"created_at":"2025-06-12T00:39:48.355Z","updated_at":"2025-10-30T20:07:48.081Z","avatar_url":"https://github.com/unoplatform.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uno Quick Start\nThis repository is a basic sample for an [Uno Platform](http://platform.uno/) application which cross-targets UWP, iOS, Android, Linux and WebAssembly.\n\nYou can clone this repository and open it in:\n-  Visual Studio 2019 or 2022 and use the WinUI tooling on Windows, such as \n[Xaml Hot Reload](https://docs.microsoft.com/en-us/visualstudio/xaml-tools/xaml-hot-reload?view=vs-2022), C# Hot Reload, then run your app on iOS, Android, Windows or [WSL](https://platform.uno/docs/articles/get-started-with-linux.html). \n- [Codespaces](https://github.com/features/codespaces) (WebAssembly) or [Gitpod](https://gitpod.io) (WebAssembly / Linux+Skia) to get a fully configured environment ready to use\n\nYou can [try out the WebAssembly Playground in your browser](https://playground.platform.uno/).\n\nYou can try developing this application right in your browser:\n\n[![Open QuickStart in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/unoplatform/uno.quickstart) \n\nTo create your own application, [follow our getting start guides](https://platform.uno/docs/articles/get-started.html).\n\n## Develop on your machine\n\nSee [the VS Code Getting started](https://platform.uno/docs/articles/get-started.html) documentation for additional details about developing with Visual Studio on Windows.\n\n## Develop using Codespaces\n### WebAssembly\n1. Install the suggested [Uno Platform extension](https://marketplace.visualstudio.com/items?itemName=unoplatform.vscode)\n1. Once the C# environment is setup, with the commmand palette use the command \"Omnisharp: Select project\" (or click on the project name in the status bar)\n1. Select the `MyApp.Wasm` project\n1. Using a terminal, navigate to the `MyApp.Wasm` folder\n1. Type `dotnet run`\n1. Once the compilation is done, a server will open on port 5000\n1. In the **Ports** tab (next to the Terminal tab), right click to make both the port 5000 and the other dotnet opened port (with `uno.ui.remotecontrol` in the running process column) to \"public\". \n   \u003e Failure to make both ports public will prevent the app from starting properly.\n1. Codespaces will suggest to open a new browser window or as a preview window\n\nSee the [section for examples](#making-additional-modifications) below of changes to the application. \n\nSee [the VS Code Getting started](https://platform.uno/docs/articles/get-started-vscode.html) documentation for additional details about developing with VS Code.\n\n## Develop using Gitpod\n### How to develop for WebAssembly\n1. Install the suggested [Uno Platform extension](https://open-vsx.org/extension/unoplatform/vscode)\n1. Once the C# environment is setup, with the commmand palette use the command \"Omnisharp: Select project\" (or click on the project name in the status bar)\n1. Select the `MyApp.Wasm` project\n1. Using a terminal, navigate to the `MyApp.Wasm` folder\n1. Type `dotnet run`\n1. Once the compilation is done, a server will open on port 5000\n1. In the **Ports** activity (on the left), click to padlock on both the port 5000 and the other dotnet opened port (with a number over 30000) to make ports public. \n   \u003e Failure to make both ports public will prevent the app from starting properly.\n1. Gitpod will suggest to open a new browser window or as a preview window\n\nSee the [section for examples](#making-additional-modifications) below of changes to the application. \n\nSee [the VS Code Getting started](https://platform.uno/docs/articles/get-started-vscode.html) documentation for additional details about developing with VS Code.\n\n### How to develop for Linux (Skia.Gtk)\n1. As Gitpod will suggest, open the port 6080 as a browser preview to get access to the X11 environment.\n1. Once the C# environment is setup, with the commmand palette use the command \"Omnisharp: Select project\" (or click on the project name in the status bar)\n1. Select the `MyApp.Skia.Gtk` project\n1. To run your application, either:\n    - Using a terminal, navigate to the `MyApp.Skia.Gtk` folder and type `dotnet run`\n    - In the debug activity section on the left, select `Skia.GTK (Debug)` in drop down, the press `F5` or Ctrl+F5 to start the application without the debugger.\n1. Gitpod will suggest to open a new browser window or as a preview window\n\nSee the [section for examples](#making-additional-modifications) below of changes to the application. \n\nSee [the VS Code Getting started](https://platform.uno/docs/articles/get-started-vscode.html) documentation for additional details about developing with VS Code.\n\n## Making additional modifications\n\n* Change some XAML content:\n\t* Open the `src/MyApp.Shared/MainPage.xaml`\n\t* Make some changes, such as `Hello, world!` to `Hello, Uno!`\n\t* No need to save, see that the application's text has changed !\n* Change some C# code:\n\t* Stop the running application with `Ctrl+C`\n\t* Open the `src/MyApp.Shared/MainPage.xaml`\n\t* Replace the `TextBlock` definition with the following attribute:\n\t\t```xaml\n\t\t\u003cStackPanel\u003e\n\t\t\t\u003cTextBlock x:Name=\"myTextBlock\" Text=\"Hello, world!\" Margin=\"20\" FontSize=\"30\" /\u003e\n\t\t\t\u003cButton Content=\"Click me!\" Click=\"{x:Bind OnClickMe}\" /\u003e\n\t\t\u003c/StackPanel\u003e\n\t\t```\n\t* Save the file\n\t* Open the `src/MyApp.Shared/MainPage.xaml.cs`\n\t* Immediately after the `MainPage` constructor, add the following:\n\t\t```csharp\n\t\tpublic void OnClickMe()\n\t\t{\n\t\t\tmyTextBlock.Text = DateTime.Now.ToString();\n\t\t}\n\t\t```\n\t* Save the file\n\t* Start the application again with `dotnet run`\n\t* Refresh the Live Preview using the small refresh icon (not the full browser tab)\n\t* The time is showing !\n\t* Without stopping the application, in the `src/MyApp.Shared/MainPage.xaml.cs`, change the code to the following:\n\t\t```csharp\n\t\tpublic void OnClickMe()\n\t\t{\n\t\t\tmyTextBlock.Text = \"Hello Uno! \" + DateTime.Now.ToString();\n\t\t}\n\t\t```\n\t* Still without restarting the application, click the button again\n\t* The text is now changed thanks to C# Hot Reload!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funoplatform%2Funo.quickstart","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funoplatform%2Funo.quickstart","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funoplatform%2Funo.quickstart/lists"}