{"id":51103,"date":"2024-03-20T10:05:00","date_gmt":"2024-03-20T17:05:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/dotnet\/?p=51103"},"modified":"2024-03-26T16:51:07","modified_gmt":"2024-03-26T23:51:07","slug":"introducing-dotnet-smart-components","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/dotnet\/introducing-dotnet-smart-components\/","title":{"rendered":"Introducing .NET Smart Components &#8211; AI-powered UI controls"},"content":{"rendered":"<p>New advances in AI promise to revolutionize how we interact with and use software. But adding AI features into existing software can be challenging. That&#8217;s why we built the new .NET Smart Components, a set of genuinely useful AI-powered UI components that you can quickly and easily add to .NET apps. You don&#8217;t have to spend weeks of dev time redesigning your UX or researching machine learning and prompt engineering. .NET Smart Components are prebuilt end-to-end AI features that you can drop into your existing app UIs to make your users more productive.<\/p>\n<p>The .NET Smart Components are an <strong>experiment<\/strong> and are initially available for Blazor, MVC, and Razor Pages with .NET 6 and later. We expect to provide components for other .NET UI frameworks as well, like .NET MAUI, WPF, and Windows Forms, but first we&#8217;re interested in your feedback on how useful these components are and what additional capabilities you&#8217;d like to see added.<\/p>\n<p>Watch Steve Sanderson demonstrate what the .NET Smart Components can do:<\/p>\n<p><iframe width=\"800\" height=\"450\" src=\"https:\/\/www.youtube.com\/embed\/ZWH4yJGJaeg?si=fTQiNMMLZrX0Xt4P\" allowfullscreen><\/iframe><\/p>\n<h2>What&#8217;s included<\/h2>\n<p>The .NET Smart Components currently include the following smart features:<\/p>\n<h3>Smart Paste<\/h3>\n<p>Smart Paste fills out forms automatically using data from the user&#8217;s clipboard with the click of a button. You can use this with any existing form in your web app. This helps users add data from external sources without re-typing.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2024\/03\/smart-paste-address.gif\" alt=\"Screen capture of Smart Paste feature\" \/><\/p>\n<p>Learn more: <a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/blob\/main\/docs\/smart-paste.md\">Smart Paste docs<\/a><\/p>\n<h3>Smart TextArea<\/h3>\n<p>An intelligent upgrade to the traditional textarea. You can configure how it should autocomplete whole sentences using your own preferred tone, policies, URLs, and so on. This helps users type faster and not have to remember URLs etc.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2024\/03\/smart-textarea-hr.gif\" alt=\"Screen capture of Smart TextArea feature\" \/><\/p>\n<p>Learn more: <a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/blob\/main\/docs\/smart-textarea.md\">Smart TextArea docs<\/a><\/p>\n<h3>Smart ComboBox<\/h3>\n<p>Upgrades the traditional combobox by making suggestions based on semantic matching. This helps users find what they&#8217;re looking for.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/devblogs.microsoft.com\/dotnet\/wp-content\/uploads\/sites\/10\/2024\/03\/smart-combobox-expenses.gif\" alt=\"Screen capture of Smart ComboBox feature\" \/><\/p>\n<p>Learn more: <a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/blob\/main\/docs\/smart-combobox.md\">Smart ComboBox docs<\/a><\/p>\n<h2>Running the samples<\/h2>\n<p>You can try out the .NET Smart Components with Blazor or MVC\/RazorPages using the <a href=\"https:\/\/aka.ms\/smartcomponents\">.NET Smart Components sample apps<\/a> on GitHub.<\/p>\n<p>To get started with the .NET Smart Components sample apps:<\/p>\n<ol>\n<li>\n<p>Download and install the <a href=\"https:\/\/dotnet.microsoft.com\/download\">.NET SDK<\/a> if you don&#8217;t already have it installed.<\/p>\n<\/li>\n<li>\n<p>Clone or download the .NET Smart Components sample repo from GitHub: https:\/\/aka.ms\/smartcomponents.<\/p>\n<\/li>\n<li>\n<p>Deploy an <a href=\"https:\/\/learn.microsoft.com\/azure\/ai-services\/openai\/how-to\/create-resource\">Azure OpenAI backend<\/a> if you don&#8217;t already have one, and then edit the <code>RepoSharedConfig.json<\/code> file at the root of the solution to add your API key, deployment name, and endpoint URL.<\/p>\n<p><em>RepoSharedConfig.json<\/em><\/p>\n<pre><code class=\"language-json\">\"SmartComponents\": {\n  \"ApiKey\": \"&lt;API key&gt;\",\n  \"DeploymentName\": \"&lt;deployment name&gt;\",\n  \"Endpoint\": \"https:\/\/YOUR_ACCOUNT.openai.azure.com\/\"\n}<\/code><\/pre>\n<\/li>\n<li>\n<p>Run either <em>ExampleBlazorApp<\/em> or <em>ExampleMvcRazorPagesApp<\/em> to see the .NET Smart Components in action.<\/p>\n<\/li>\n<\/ol>\n<h2>Add to an existing app<\/h2>\n<p>Once you&#8217;re ready, you can add .NET Smart Components to your existing Blazor, MVC, or Razor Pages apps by following these guides:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/blob\/main\/docs\/getting-started-blazor.md\">Get started with .NET Smart Components and Blazor<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/blob\/main\/docs\/getting-started-mvc-razor-pages.md\">Get started with .NET Smart Components and MVC or Razor Pages<\/a><\/li>\n<\/ul>\n<h2>Feedback and support<\/h2>\n<p>The .NET Smart Components are currently experimental and not officially supported. We want to hear from you whether these components are useful and how we can improve them to best meet your app development needs. Please take a moment to share your thoughts and feedback with us by filling out our short <a href=\"https:\/\/aka.ms\/smartcomponents\/survey\">.NET Smart Components survey<\/a>. You can also report issues and suggest improvements by <a href=\"https:\/\/github.com\/dotnet-smartcomponents\/smartcomponents\/issues\">creating an issue<\/a> on GitHub.<\/p>\n<p>Thank you for trying out the .NET Smart Components!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducing .NET Smart Components, a set of genuinely useful AI-powered UI components that you can quickly and easily add to .NET apps.<\/p>\n","protected":false},"author":417,"featured_media":51180,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[685,7781,197,7509,7251],"tags":[7726,7205,7286,7724,7817,7816],"class_list":["post-51103","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-ai","category-aspnet","category-aspnetcore","category-blazor","tag-azure-openai","tag-blazor","tag-mvc","tag-openai","tag-razor-pages","tag-smart-components"],"acf":[],"blog_post_summary":"<p>Introducing .NET Smart Components, a set of genuinely useful AI-powered UI components that you can quickly and easily add to .NET apps.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/51103","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/users\/417"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/comments?post=51103"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/posts\/51103\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media\/51180"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/media?parent=51103"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/categories?post=51103"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/dotnet\/wp-json\/wp\/v2\/tags?post=51103"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}