<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">
  <channel xmlns:media="http://search.yahoo.com/mrss/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <title>ABP.IO Stories</title>
    <link>https://abp.io/community/articles</link>
    <description>A hub for ABP Framework, .NET, and software development. Access articles, tutorials, news, and contribute to the ABP community.</description>
    <lastBuildDate>Mon, 05 Oct 2026 07:03:21 Z</lastBuildDate>
    <generator>Community - ABP.IO</generator>
    <image>
      <url>https://abp.io/assets/favicon.ico/favicon-32x32.png</url>
      <title>ABP.IO Stories</title>
      <link>https://abp.io/community/articles</link>
    </image>
    <a10:link rel="self" type="application/rss+xml" title="self" href="https://abp.io/community/rss?member=liangshiwei2" />
    <item>
      <guid isPermaLink="true">https://abp.io/community/posts/abp-x-vue-introducing-lsw.abp.vueui-3c1vwvt8</guid>
      <link>https://abp.io/community/posts/abp-x-vue-introducing-lsw.abp.vueui-3c1vwvt8</link>
      <a10:author>
        <a10:name>liangshiwei2</a10:name>
        <a10:uri>https://abp.io/community/members/liangshiwei2</a10:uri>
      </a10:author>
      <category>theme</category>
      <category>modular</category>
      <category>abp-framework</category>
      <category>vue</category>
      <category>frontend</category>
      <title>ABP x Vue: Introducing Lsw.Abp.VueUI</title>
      <description>Introducing Lsw.Abp.VueUI, a complete Vue 3 frontend for ABP Framework, with built-in modules, extensible pages, multiple themes, and a familiar ABP development experience.</description>
      <pubDate>Sun, 04 Oct 2026 15:34:18 Z</pubDate>
      <a10:updated>2026-10-05T06:53:58Z</a10:updated>
      <content:encoded><![CDATA[<h1>ABP x Vue: Introducing Lsw.Abp.VueUI</h1>
<p><strong>Lsw.Abp.VueUI</strong> is a complete, community-developed Vue 3 frontend for ABP Framework. It follows ABP's modular architecture, bringing framework services, module UIs, extension points, and themes together for building applications with Vue.</p>
<p>Authentication, permissions, multi-tenancy, localization, and module development provide a development experience consistent with ABP's Angular UI. The implementation uses Vue's Composition API, Vue Router, and single-file components, so you can build on familiar ABP conventions with the Vue tools you already use.</p>
<h2>What's included</h2>
<p>Built-in modules cover accounts, users, roles, permissions, tenants, features, and settings. They provide the administration pages you expect in an ABP application, so you can focus on your own business features.</p>
<p><img src="https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.VueUI/main/articles/20261004Intrudoce/features.png" alt="Lsw.Abp.VueUI features" /></p>
<p>Module pages are extensible. You can add table columns, form fields, row actions, and toolbar buttons through your application's configuration. For example, adding a custom action to the user list does not require editing the module package.</p>
<p>The UI is designed to support multiple themes. Basic Theme includes light, dark, and system modes. You can build custom themes or replace individual controls without rewriting the module pages.</p>
<p>Here is the BookStore playground switching between light and dark modes, then changing language:</p>
<p><img src="https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.VueUI/main/articles/20261004Intrudoce/theme-language.gif" alt="Theme and language switching" /></p>
<h2>Getting started</h2>
<p>The <code>abpv</code> CLI can create a new ABP application with a Vue frontend or add Vue to an existing solution. With the ABP CLI installed, this example creates a MongoDB application with the Books sample:</p>
<pre><code class="language-bash">npm install -g @lsw-abpvue/cli
abpv new Acme.BookStore -d mongodb --sample-crud
</code></pre>
<p>The solution contains the ABP backend in <code>aspnet-core/</code> and the Vue frontend in <code>vue/</code>.</p>
<p><img src="https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.VueUI/main/articles/20261004Intrudoce/vscode-project.png" alt="ABP and Vue project in VS Code" /></p>
<h2>Building a CRUD page</h2>
<p>With the backend running, generate typed API proxies and scaffold a Vue page from the frontend directory:</p>
<pre><code class="language-bash">abpv proxy add --module app
abpv generate Book
</code></pre>
<p>The generated page includes a table, create and edit forms, CRUD methods, and route and menu entries. It is an ordinary Vue single-file component in your application: you can change the columns, adjust the forms, and add your business logic.</p>
<p>This recording shows creating a book and editing its price in the BookStore playground:</p>
<p><img src="https://raw.githubusercontent.com/realLiangshiwei/Lsw.Abp.VueUI/main/articles/20261004Intrudoce/books-crud.gif" alt="BookStore create and edit demonstration" /></p>
<h2>Documentation</h2>
<p>Lsw.Abp.VueUI is open source under the MIT license. For setup instructions, module guides, and customization examples:</p>
<p><a href="https://abpvue.liangshiwei.com/">Document</a></p>
]]></content:encoded>
      <media:thumbnail url="https://abp.io/api/posts/cover-picture-source/3a2419ba-10e7-64e8-402f-bb805f42a09c" />
      <media:content url="https://abp.io/api/posts/cover-picture-source/3a2419ba-10e7-64e8-402f-bb805f42a09c" medium="image" />
    </item>
  </channel>
</rss>