<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: gluestackio</title>
    <description>The latest articles on Forem by gluestackio (@gluestackio).</description>
    <link>https://forem.com/gluestackio</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F993931%2Fabf60159-7cf8-428a-ba74-610a7a95612f.png</url>
      <title>Forem: gluestackio</title>
      <link>https://forem.com/gluestackio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/gluestackio"/>
    <language>en</language>
    <item>
      <title>Troubleshooting Common Issues with NativeWind (and Why You Should Try gluestack-ui)</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Wed, 08 Jan 2025 09:59:58 +0000</pubDate>
      <link>https://forem.com/gluestackio/troubleshooting-common-issues-with-nativewind-and-why-you-should-try-gluestack-ui-3c1b</link>
      <guid>https://forem.com/gluestackio/troubleshooting-common-issues-with-nativewind-and-why-you-should-try-gluestack-ui-3c1b</guid>
      <description>&lt;p&gt;NativeWind has revolutionized how developers style React Native apps by bringing the power of Tailwind CSS to the ecosystem. However, as powerful as it is, setting up and troubleshooting NativeWind can sometimes be challenging.&lt;/p&gt;

&lt;p&gt;What if there was a way to skip the hassle and dive straight into building your app? That’s where &lt;strong&gt;gluestack-ui&lt;/strong&gt; comes in!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;gluestack-ui&lt;/strong&gt; is a ready-to-use component library built on top of NativeWind. It’s not just a library—it’s a productivity booster. With an integrated CLI tool, &lt;strong&gt;gluestack-ui&lt;/strong&gt; handles all the tedious setup for you, so you can focus on what truly matters: building your app.&lt;/p&gt;

&lt;p&gt;But if you're currently using NativeWind, here are solutions to common issues you might encounter—and why gluestack-ui could save you time and effort.&lt;/p&gt;

&lt;h2&gt;
  
  
  NativeWind Styling is Not Working?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Check Versions
&lt;/h3&gt;

&lt;p&gt;NativeWind depends on &lt;code&gt;react-native-css-interop&lt;/code&gt;. Version mismatches between these packages often cause styling issues. Run the following command to check the installed version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;bash&lt;/span&gt; &lt;span class="nx"&gt;npm&lt;/span&gt; &lt;span class="nx"&gt;list&lt;/span&gt; &lt;span class="nx"&gt;react&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;native&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;css&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;interop&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When you use &lt;strong&gt;gluestack-ui&lt;/strong&gt;, version conflicts are automatically resolved by its CLI during setup.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc30ntwlbet54n0l42ukq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc30ntwlbet54n0l42ukq.png" alt="Image description" width="800" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Check &lt;code&gt;tailwind.config.&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;content&lt;/code&gt; property in your &lt;code&gt;tailwind.config.js&lt;/code&gt; must correctly include all paths for components and screens to ensure Tailwind classes are applied. Misconfigurations here often lead to styling issues.&lt;/p&gt;

&lt;p&gt;Refer to the &lt;a href="https://tailwindcss.com/docs/installation" rel="noopener noreferrer"&gt;Tailwind CSS Content Configuration&lt;/a&gt; for more details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvio361adegllsx32nz82.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvio361adegllsx32nz82.png" alt="Image description" width="800" height="489"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. React Native Web Styles Overriding Tailwind Classes?
&lt;/h3&gt;

&lt;p&gt;If you’re using React Native Web and find its styles overriding your Tailwind classes, add the &lt;code&gt;important: 'html'&lt;/code&gt; setting to your &lt;code&gt;tailwind.config.js&lt;/code&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;important&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;html&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="c1"&gt;// other configurations&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;gluestack-ui CLI&lt;/strong&gt; ensures that this configuration is pre-applied, eliminating this step for you.&lt;/p&gt;

&lt;h2&gt;
  
  
  Issues with Expo
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Add Babel Preset
&lt;/h3&gt;

&lt;p&gt;NativeWind requires specific Babel presets to work seamlessly. Add the following to your Babel configuration (&lt;code&gt;babel.config.js&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;function &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;api&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;cache&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="na"&gt;presets&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
      &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;babel-preset-expo&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;jsxImportSource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;}],&lt;/span&gt;
      &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind/babel&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;],&lt;/span&gt;
  &lt;span class="p"&gt;};&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No need to worry about these configurations if you’re using &lt;strong&gt;gluestack-ui&lt;/strong&gt; —it’s all handled for you by the CLI tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Update &lt;code&gt;metro.config.js&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Your &lt;code&gt;metro.config.js&lt;/code&gt; should be wrapped with the &lt;code&gt;withNativeWind&lt;/code&gt; function, and it must point to the correct CSS file for Tailwind directives (&lt;code&gt;global.css&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;getDefaultConfig&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;expo/metro-config&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;withNativeWind&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind/metro&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;config&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;getDefaultConfig&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;__dirname&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="nx"&gt;module&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exports&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;withNativeWind&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;config&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;./global.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With &lt;strong&gt;gluestack-ui&lt;/strong&gt;, this configuration is automatically generated.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Import Correct CSS File
&lt;/h3&gt;

&lt;p&gt;Make sure the file containing Tailwind directives (e.g., &lt;code&gt;global.css&lt;/code&gt;) is imported in your &lt;code&gt;_layout&lt;/code&gt; or root file (&lt;code&gt;App.*&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// app/_layout.tsx or App.tsx&lt;/span&gt;

&lt;span class="k"&gt;import&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;../global.css&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  NativeWind + Next.js
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Ensure &lt;code&gt;jsxImportSource&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;NativeWind requires the &lt;code&gt;jsxImportSource&lt;/code&gt; to be set to &lt;code&gt;nativewind&lt;/code&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For Babel, update &lt;code&gt;babel.config.js&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;plugins&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
  &lt;span class="p"&gt;[&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;@babel/plugin-transform-react-jsx&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="na"&gt;runtime&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;automatic&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;importSource&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
    &lt;span class="p"&gt;},&lt;/span&gt;
  &lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;For SWC, update &lt;code&gt;tsconfig.json&lt;/code&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;compilerOptions&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;jsxImportSource&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;When using &lt;strong&gt;gluestack-ui&lt;/strong&gt;, this configuration is automatically added for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Add Transpiled Packages
&lt;/h3&gt;

&lt;p&gt;To work with &lt;code&gt;react-native-web&lt;/code&gt;, add &lt;code&gt;nativewind&lt;/code&gt; and &lt;code&gt;react-native-css-interop&lt;/code&gt; to the &lt;code&gt;transpilePackages&lt;/code&gt; array in &lt;code&gt;next.config.js&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;nextConfig&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="na"&gt;reactStrictMode&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;transpilePackages&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;nativewind&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;react-native-css-interop&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;
&lt;span class="p"&gt;};&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The &lt;strong&gt;gluestack-ui CLI&lt;/strong&gt; ensures these settings are correctly applied.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Next.js 15 Compatibility
&lt;/h3&gt;

&lt;p&gt;Next.js 15 uses React 19, which &lt;code&gt;react-native-web&lt;/code&gt; currently doesn’t support. To resolve this, follow the steps outlined in the &lt;a href="https://gluestack.io/ui/docs/home/getting-started/installation" rel="noopener noreferrer"&gt;gluestack-ui installation guide&lt;/a&gt;. The guide provides a patch to make &lt;code&gt;react-native-web&lt;/code&gt; compatible with React 19.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why gluestack-ui?
&lt;/h2&gt;

&lt;p&gt;While NativeWind is excellent, setting it up can take time—especially if you’re new to Tailwind or React Native. &lt;strong&gt;gluestack-ui&lt;/strong&gt; simplifies this process by:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Preconfigured Setup&lt;/strong&gt;: Its CLI tool configures NativeWind and related settings automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prebuilt Components&lt;/strong&gt;: Get access to a library of pre-styled, customizable components.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-Platform Support&lt;/strong&gt;: Build universal apps faster without worrying about setup complexities.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Save time, reduce friction, and get started on your next project with &lt;strong&gt;gluestack-ui&lt;/strong&gt;. &lt;a href="https://gluestack.io/ui/docs/home/overview/introduction" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>gluestack-ui v2: Stable Release with NativeWind v4.1 Support 🚀</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Tue, 07 Jan 2025 12:10:03 +0000</pubDate>
      <link>https://forem.com/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a</link>
      <guid>https://forem.com/gluestackio/gluestack-ui-v2-stable-release-with-nativewind-v41-support-435a</guid>
      <description>&lt;p&gt;After months of hard work, countless iterations, and testing across platforms, we are thrilled to announce the &lt;strong&gt;stable release of gluestack-ui v2&lt;/strong&gt;! This marks a significant milestone in our journey to empower developers with a seamless and efficient UI development experience.With gluestack-ui v2, we’ve made some groundbreaking changes, eliminated unnecessary complexity, and aligned closely with the latest in React Native and Tailwind ecosystems.Here’s what you can look forward to in this release:&lt;/p&gt;

&lt;h2&gt;
  
  
  ✨ What’s New in gluestack-ui v2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  90% Reduction in CSS File Size
&lt;/h3&gt;

&lt;p&gt;We’ve optimized the library to dramatically reduce the CSS footprint, ensuring faster load times and smoother performance, especially for large-scale projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  600+ Lines of Code and Wrappers Removed
&lt;/h3&gt;

&lt;p&gt;We’ve significantly reduced boilerplate code, making gluestack-ui leaner and cleaner. This also means easier debugging and better maintainability for your projects.&lt;/p&gt;

&lt;h3&gt;
  
  
  Support for Data Attributes Without HOCs
&lt;/h3&gt;

&lt;p&gt;Previously, using data attributes required wrapping components with higher-order components (HOCs). Now, data attributes are supported natively, simplifying how you work with state-driven styles and interactions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Compatible with NativeWind v4.1
&lt;/h3&gt;

&lt;p&gt;gluestack-ui is now fully aligned with the latest NativeWind v4.1 release, bringing the best of Tailwind CSS to React Native. Expect enhanced features, better performance, and seamless integration.&lt;/p&gt;

&lt;h3&gt;
  
  
  Expo RSC (React Server Components) Compatibility
&lt;/h3&gt;

&lt;p&gt;gluestack-ui components are now compatible with Expo React Server Components (RSC). This ensures optimal server-side rendering performance and smoother hydration on the client side, making your applications even more responsive.&lt;/p&gt;

&lt;h3&gt;
  
  
  Improved TypeScript Support
&lt;/h3&gt;

&lt;p&gt;We’ve significantly improved TypeScript support, ensuring better type definitions, autocomplete, and developer experience. Type errors are easier to spot, making your workflows smoother and more efficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  🎉 Why This Matters
&lt;/h2&gt;

&lt;p&gt;gluestack-ui v2 is built to make your life easier as a developer. Whether you’re building universal apps or optimizing for performance, this release addresses critical pain points and sets a new standard for React Native UI libraries.&lt;/p&gt;

&lt;p&gt;By aligning with the latest standards and reducing complexity, we aim to provide a fast, flexible, and future-proof foundation.&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Getting Started with gluestack-ui v2
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Simple Setup with Our Powerful CLI
&lt;/h3&gt;

&lt;p&gt;Getting started has never been easier. Set up your project in seconds with our intuitive CLI:&lt;/p&gt;

&lt;p&gt;To initialize the project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;bash&lt;/span&gt; &lt;span class="nx"&gt;npx&lt;/span&gt; &lt;span class="nx"&gt;gluestack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;ui&lt;/span&gt; &lt;span class="nx"&gt;init&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To add all the components:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;bash&lt;/span&gt; &lt;span class="nx"&gt;npx&lt;/span&gt; &lt;span class="nx"&gt;gluestack&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;ui&lt;/span&gt; &lt;span class="nx"&gt;add&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you’re using an alpha version, follow this detailed guide 👉🏻 &lt;a href="https://geekyants.notion.site/Change-log-of-components-13c1684eb34980ec9a3cd651a83452a7" rel="noopener noreferrer"&gt;Change Log of Components&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 The Journey Ahead
&lt;/h2&gt;

&lt;p&gt;"This is just the beginning of gluestack-ui v2. As always, we will keep evolving with the ever-changing landscape of JavaScript! Expect frequent updates, enhancements, and exciting features shortly!" - &lt;strong&gt;Sanket Sahu, Creator of gluestack-ui&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  We’d Love to Hear from You!
&lt;/h3&gt;

&lt;p&gt;Have questions, or feedback, or want to showcase what you’re building with gluestack-ui v2? Join the conversation on &lt;a href="https://github.com/gluestack/gluestack-ui" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;, &lt;a href="https://x.com/gluestack" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;, or our &lt;a href="https://discord.com/invite/V5SU7HZSAQ" rel="noopener noreferrer"&gt;Discord community&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Let’s continue building amazing things together!&lt;/p&gt;

&lt;p&gt;Happy coding,&lt;br&gt;
The gluestack-ui Team&lt;/p&gt;

&lt;h3&gt;
  
  
  Known Issue
&lt;/h3&gt;

&lt;p&gt;Grid is not working with react native 0.76 (Expo SDK 52). This issue is from the react-native side, we have raised an issue on the &lt;code&gt;react-native&lt;/code&gt; repo.&lt;/p&gt;

&lt;p&gt;Issues with the latest version of &lt;code&gt;react-native-svg&lt;/code&gt;. Currently working with specific version &lt;code&gt;15.2.0&lt;/code&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Mastering gluestack-ui v2 Animations with NativeWind: A Step-by-Step Guide</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Fri, 20 Dec 2024 06:50:50 +0000</pubDate>
      <link>https://forem.com/gluestackio/mastering-gluestack-ui-v2-animations-with-nativewind-a-step-by-step-guide-294g</link>
      <guid>https://forem.com/gluestackio/mastering-gluestack-ui-v2-animations-with-nativewind-a-step-by-step-guide-294g</guid>
      <description>&lt;p&gt;Animations play a crucial role in enhancing the user experience, and with gluestack-ui you have several flexible options to bring your UI to life. We’ll walk through the basic structure of animations, look into the four available methods for animating with gluestack-ui, and guide you step-by-step to create dynamic and smooth animations using one of the four available options for animating with gluestack ui ie.., &lt;strong&gt;gluestack-ui v2 animation with NativeWind/ TailwindCSS only&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Animation Structure
&lt;/h3&gt;

&lt;p&gt;Every animation we make behind the scenes performs the entire animation process in three consecutive key states.&lt;br&gt;
The animation process is divided into three key states:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Initial State:&lt;/strong&gt; The starting point of the element before animation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Transition State:&lt;/strong&gt; The actual animation, where the element changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Final State:&lt;/strong&gt; The ending state, where the animation completes.&lt;br&gt;
Let’s consider an example of how we see all three states as a process ;&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Animated&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;View&lt;/span&gt;
  &lt;span class="nx"&gt;initial&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.5&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
  &lt;span class="nx"&gt;animate&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;scale&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
  &lt;span class="nx"&gt;transition&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;timing&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="na"&gt;duration&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;500&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This example shows how an element's size increases from 50% to 100% over 500 milliseconds.&lt;br&gt;
Using gluestack-ui we have multiple animating options based on the use case and the level of complexity, customization, and control. We need different animating aspects while making our animation. We pick the right animation option for us.&lt;/p&gt;
&lt;h2&gt;
  
  
  Animation options in gluestack ui v2:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Legend Motion&lt;/strong&gt; (Default with gluestack-ui)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Moti&lt;/strong&gt; (Can be added to the gluestack-ui animation plugin)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;React Native Reanimated&lt;/strong&gt; (Can be integrated for smoother animations)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;TailwindCSS/NativeWind&lt;/strong&gt; (Use basic animations without extra plugins)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s say,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;You want to make a very basic animation and you don’t want to write separate animation code syntax and maintain it (ie., You want your codebase to be similar for animation as well using the classNames syntax like gluestack-ui v2). Then you should go with the 4th option (animating with NativeWind).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You need to add moderately basic animation for my website and you don’t want to install any new package that will decrease your website performance then you would animate using the default gluestack-ui plugin only. (ie., choosing options 1 &amp;amp; 2). But the animation syntax will vary with your whole codebase (ie., syntax that supports Moti or Legend Motion).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;You need to make an animation that is much complex and you need to have control over every aspect of the animation &amp;amp; more functional tweaking, then you should go with the 3rd option (ie., using react native reanimated).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let’s get our hands dirty by building this animation,&lt;/p&gt;

&lt;p&gt;For making this guide more clear, We can divide entire animation into three segments. We write animation code for each segment separately and run all these segments at a time to make the animation look more natural and desired.&lt;/p&gt;
&lt;h3&gt;
  
  
  Animation steps in gluestack ui v2:
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Left Bar Animation&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Step 2: Icon Rotation&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Step 3: Right Icon &amp;amp; Bottom Animation&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Animation Setup
&lt;/h2&gt;

&lt;p&gt;We'll use the isAnimated state to toggle animations. Define the properties you want to animate in the tailwind.config.ts file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;transitionProperty&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;width&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;height&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;radius&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;borderRadius&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can add a custom animation property here, that will add this fade effect as the opacity of the item goes fro 0% to 100% in only 1 second with a ease in behaviour.&lt;/p&gt;

&lt;p&gt;For custom animations, add keyframes (In tailwind):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;keyframes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;appear&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0%&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;0%&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;100%&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="na"&gt;opacity&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;100%&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;},&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;},&lt;/span&gt;
&lt;span class="nx"&gt;animation&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nl"&gt;appear&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;appear 1s ease-in-out&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 1: Animating Width (Left Bar Animation)
&lt;/h3&gt;

&lt;p&gt;Change the width dynamically based on isAnimated:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Box&lt;/span&gt;
  &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;flex flex-row&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;isAnimated&lt;/span&gt;
      &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;w-[200px]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
      &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;w-[450px]&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;transition-width duration-300 ease-in-out&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isAnimated&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Create&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Text&amp;gt; : &amp;lt;Text&amp;gt;Guilds&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Box&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;By toggling the width property, you control the animation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Step 2: Animating Rotation (Icon Rotation)
&lt;/h3&gt;

&lt;p&gt;Handle the rotation of an icon with a simple press:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Pressable&lt;/span&gt; &lt;span class="nx"&gt;onPress&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setIsAnimated&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;isAnimated&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Box&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;isAnimated&lt;/span&gt; &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;rotate-45&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;rotate-0&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Icon&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;PlusIcon&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="sr"&gt;/&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Box&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Pressable&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Step 3: Animating Opacity and Width (Right Icon &amp;amp; Bottom Animation)
&lt;/h3&gt;

&lt;p&gt;Control both width and opacity during the animation:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Box&lt;/span&gt;
  &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;isAnimated&lt;/span&gt;
      &lt;span class="p"&gt;?&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;w-[180px] opacity-100&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
      &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;w-[0px] opacity-0&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;transition-opacity duration-300&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;Text&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Guilds&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Text&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/Box&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This gives a smooth fade and size change effect when triggered.&lt;br&gt;
With these steps, you can create smooth, dynamic animations using gluestack-ui v2.&lt;/p&gt;

&lt;p&gt;We will have more guides for you in the future to help you create beautiful applications using the component library that gluestack-ui v2 has to offer.&lt;/p&gt;

&lt;p&gt;Do tell us about your experiments on our Discord channel.&lt;/p&gt;

&lt;p&gt;Happy Building!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Designing with gluestack-ui: Essential Practices for Consistent Results</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Thu, 12 Dec 2024 07:52:47 +0000</pubDate>
      <link>https://forem.com/gluestackio/designing-with-gluestack-ui-essential-practices-for-consistent-results-1mk7</link>
      <guid>https://forem.com/gluestackio/designing-with-gluestack-ui-essential-practices-for-consistent-results-1mk7</guid>
      <description>&lt;p&gt;In our experience as design professionals, we've found that a well-structured design system can significantly elevate the quality and efficiency of projects. The gluestack-ui Design Kit is more than just a collection of components—it's a tool that ensures cohesion, scalability, and smooth collaboration across teams. In this blog, we'll share some best practices for users of the gluestack-ui Design Kit to follow, helping you get the most out of this powerful resource.&lt;/p&gt;

&lt;h3&gt;
  
  
  Getting Started with gluestack-ui Design Kit
&lt;/h3&gt;

&lt;p&gt;Getting started with gluestack-ui Design Kit involves a few essential steps to ensure that your design workflow is set up correctly and efficiently. Here’s how to begin:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Accessing the gluestack-ui Design Kit:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Start by accessing the &lt;a href="https://www.figma.com/community/file/1358053104938234615" rel="noopener noreferrer"&gt;gluestack-ui Design Kit&lt;/a&gt; from the Figma Community. Once you’ve located the file, make a copy and move it into your project workspace. This ensures you have your own version that can be customized according to your project needs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7xalzqfgsxbckukalzd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo7xalzqfgsxbckukalzd.png" alt="Image description" width="800" height="366"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Setting Up Your Project:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create a Master File:&lt;/strong&gt; After copying the design kit, establish a master file that will serve as your design system’s foundation. This file should include all the core components, styles, and tokens that you plan to use across your projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Publish Internally:&lt;/strong&gt; Once you’ve set up and customized your master file, publish it internally within your organization. This makes the library accessible to your entire team, ensuring everyone is working with the same components and design tokens.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Maintaining File Architecture:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Master File (Design System):&lt;/strong&gt; The master file acts as the central hub for your design system. It contains all the essential components and styles that your team will use. Any updates or changes to the design system should be made here and then re-published to ensure consistency across all projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Project Design Files:&lt;/strong&gt; Each of your project design files should link to the master file. This architecture ensures that all design files are always using the latest components and styles from the master design system, promoting consistency and reducing the risk of errors.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Collaborating with Your Team:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sharing and Permissions:&lt;/strong&gt; Ensure the master file is shared with the appropriate team members, and set the necessary permissions to control who can edit the design system. This helps maintain the integrity of your design system while allowing for collaborative input where needed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Regular Syncs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Periodically sync with your development team to ensure that the components and tokens defined in the master file align with the codebase. This alignment is crucial for maintaining consistency between design and development.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvu3ns7ky7e3s0l3uh2b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffvu3ns7ky7e3s0l3uh2b.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Understanding the Component Library
&lt;/h3&gt;

&lt;p&gt;At the core of gluestack-ui is its robust component library, designed with reusability and flexibility in mind. Each component is crafted to meet both aesthetic and functional needs. Here’s how to make the most out of it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embrace a Component-First Approach:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Consistency is Key&lt;/strong&gt;: Begin by identifying the core components you’ll need for your project. Adopting a component-first approach ensures that your designs remain consistent across all platforms and touchpoints.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use Pre-Built Components&lt;/strong&gt;: Whenever possible, stick to the pre-built components provided in the gluestack-ui library. These components have been rigorously tested for both functionality and aesthetics, which minimizes the risk of errors and inconsistencies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Navigating and Utilizing the Library Effectively:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Leverage Figma’s Search and Filters:&lt;/strong&gt; Use Figma’s powerful search and filtering options to quickly locate the components you need. Familiarize yourself with the naming conventions and variant structures to make navigation smoother.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Understand Component Variants:&lt;/strong&gt; gluestack-ui components come with multiple variants, such as different states, sizes, and themes. Make sure to understand how these variants work so you can apply them effectively in your designs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Customize with Caution:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stick to Token-Based Customization:&lt;/strong&gt; When you need to customize a component, use the design tokens provided in the kit rather than making direct style changes. This ensures that any updates to the tokens will automatically propagate throughout your designs, maintaining consistency.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Document Customizations:&lt;/strong&gt; If you must create custom components or make significant alterations, document these changes thoroughly. This documentation will be invaluable for future updates and for ensuring that your custom components align with the overall design system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Regularly Update Your Library:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sync with Updates:&lt;/strong&gt; gluestack-ui is continuously evolving, with new components and updates being released regularly. Make it a practice to sync your master file with the latest version of the gluestack-ui library to take advantage of these improvements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Version Control:&lt;/strong&gt; Use Figma’s version history feature to track changes to your component library. This allows you to revert to previous versions if needed and ensures that you can monitor the evolution of your design system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ensure Accessibility Compliance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Design with Inclusivity in Mind:&lt;/strong&gt; gluestack-ui components are designed to be accessible, but it’s important to test your designs for accessibility standards like color contrast, keyboard navigation, and screen reader compatibility. This ensures your designs are inclusive and usable by a wider audience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Pre-Defined Accessible Variants:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;gluestack-ui offers accessible variants for components. Prioritize using these variants in your designs to ensure compliance with accessibility guidelines from the outset.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fptqh5rds1nxahyndzti1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fptqh5rds1nxahyndzti1.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Leveraging Theme Tokens for Customization
&lt;/h3&gt;

&lt;p&gt;Theme tokens are a powerful feature of the gluestack-ui Design Kit, providing a standardized way to manage and apply styles across your projects. Here’s how to effectively leverage theme tokens for customization:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Define Your Theme Early:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Establish a Comprehensive Theme:&lt;/strong&gt; Start by defining your color palettes, typography, spacing, and other foundational tokens at the beginning of your project. A well-defined theme ensures consistency and helps in creating a cohesive look and feel throughout your design.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Align with Branding Guidelines:&lt;/strong&gt; Make sure your theme tokens align with your brand’s visual identity. This includes using the correct brand colors, typography, and spacing to maintain brand consistency across all platforms.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Use Tokens for Consistent Customization:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Apply Tokens for Styles:&lt;/strong&gt; Use theme tokens to apply consistent styling across all components. This includes colors, fonts, and spacing. By relying on tokens, you ensure that any updates to the design system are reflected throughout your project without manual adjustments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Avoid Hard-Coding Values:&lt;/strong&gt; Refrain from hard-coding style values directly into components. Instead, use theme tokens to manage styles. This practice makes it easier to update and maintain your design system as changes to tokens will propagate across all instances where they are used.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Utilize Tokens for Responsive Design:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Adapt Tokens for Different Breakpoints:&lt;/strong&gt; Define different sets of tokens for various screen sizes and device types. This approach helps ensure that your design remains consistent and functional across different devices and orientations.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implement Fluid Design:&lt;/strong&gt; Use tokens to create fluid layouts that adapt to different screen sizes. Tokens for spacing, font sizes, and container widths should be adjusted to ensure your design looks great on both large and small screens.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Document and Organize Tokens:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Create a Token Inventory:&lt;/strong&gt; Maintain a well-documented inventory of all theme tokens used in your project. This includes details about each token’s purpose and how it should be used. Documentation helps in maintaining consistency and simplifies the onboarding process for new team members.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Organize Tokens by Category:&lt;/strong&gt; Group tokens into categories such as colors, typography, spacing, and effects. This organization makes it easier to find and manage tokens, especially when making global changes or updates.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqki2cllq8a43w6oye9v3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fqki2cllq8a43w6oye9v3.png" alt="Image description" width="720" height="405"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collaborate on Token Usage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Standardize Token Usage Across Teams:&lt;/strong&gt; Ensure that both design and development teams use the same set of tokens. This alignment minimizes discrepancies between design and implementation, resulting in a more cohesive final product.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Regular Reviews and Feedback:&lt;/strong&gt; Periodically review token usage and gather feedback from both designers and developers. This feedback loop helps identify any issues or areas for improvement, leading to a more refined and effective design system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Update Tokens Efficiently:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implement a Token Update Process:&lt;/strong&gt; Establish a clear process for updating theme tokens. This process should include steps for reviewing, testing, and deploying token updates to ensure they are applied consistently across the project.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Automate Token Syncing:&lt;/strong&gt; Use tools and plugins that automate the syncing of tokens between design files and codebases. This automation reduces manual work and ensures that any changes to tokens are automatically reflected in both design and development environments.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Test for Visual Consistency:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conduct Regular Design Reviews:&lt;/strong&gt; Regularly review designs to ensure that the application of theme tokens is consistent and aligns with the overall design system. Look for any discrepancies or inconsistencies that may arise from token usage.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Perform Cross-Device Testing:&lt;/strong&gt; Test your designs across different devices and screen sizes to verify that tokens are applied correctly and that the design remains visually consistent and functional.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Educate and Train Your Team:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Provide Training on Tokens:&lt;/strong&gt; Ensure that your team members understand how to use theme tokens effectively. Provide training or resources on how tokens work and their role in maintaining design consistency.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Create Reference Materials:&lt;/strong&gt;&lt;br&gt;
Develop reference materials or guides that outline how to use and apply theme tokens. These resources can serve as a quick reference for team members and help reinforce best practices.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5eyjo3llhq5pwzj0ht88.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5eyjo3llhq5pwzj0ht88.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Common Pitfalls to Avoid
&lt;/h3&gt;

&lt;p&gt;When working with the gluestack-ui Design Kit, it's essential to be aware of potential pitfalls that can undermine the effectiveness of your design system. Here are some common pitfalls to avoid, along with best practices to ensure smooth and successful project outcomes:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Over-Customization of Components:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stick to Core Components:&lt;/strong&gt; Avoid the temptation to over-customize pre-built components. Over-customization can lead to inconsistencies and make it difficult to align with updates to the design system. Use core components as a base and make only necessary adjustments.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Maintain Compatibility:&lt;/strong&gt; Ensure that any customizations you make are compatible with the overall design system. Custom components should integrate seamlessly with existing components to preserve design consistency.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ignoring Design Tokens:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use Tokens for Styling:&lt;/strong&gt; Failing to use design tokens for styling can lead to inconsistencies across your designs. Always rely on tokens for defining colors, typography, and spacing to ensure uniformity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Update Tokens Regularly:&lt;/strong&gt; Ensure that token updates are applied consistently across all components and design files. Ignoring token updates can result in outdated styles and visual discrepancies.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Neglecting Accessibility Considerations:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design for All Users:&lt;/strong&gt; Overlooking accessibility can make your designs unusable for individuals with disabilities. Ensure that components and styles adhere to accessibility standards, including color contrast, keyboard navigation, and screen reader support.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test for Compliance:&lt;/strong&gt; Regularly test your designs for accessibility compliance and address any issues that arise. Use tools and guidelines to verify that your designs meet accessibility requirements.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Lack of Documentation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Document Design Choices:&lt;/strong&gt; Failing to document design decisions, customizations, and component usage can lead to confusion and misalignment within the team. Keep thorough documentation to ensure everyone understands the design system and its components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Update Documentation Regularly:&lt;/strong&gt; Ensure that documentation is kept up-to-date with any changes or updates to the design system. Regularly review and revise documentation to reflect the current state of the design system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inconsistent Component Usage:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Adhere to Design System Guidelines:&lt;/strong&gt; Inconsistent use of components can lead to a fragmented user experience. Follow the design system’s guidelines for component usage and ensure that components are applied consistently across all screens and interactions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Review Component Variants:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure to use the correct component variants for different use cases. Avoid mixing variants or using incorrect versions, as this can create a disjointed experience.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1u4z32vsd21zf1nuulp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1u4z32vsd21zf1nuulp.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Poor Collaboration and Communication:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Establish Clear Communication Channels:&lt;/strong&gt; Miscommunication between designers and developers can lead to discrepancies and errors. Establish clear communication channels and regular syncs to ensure that both teams are aligned on design and development goals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Share Updates Promptly:&lt;/strong&gt; Share any updates to the design system or component library with your team in a timely manner. This helps keep everyone informed and ensures that changes are implemented consistently.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Ignoring Version Control:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use Version Control Tools:&lt;/strong&gt; Failing to use version control can lead to difficulties in tracking changes and reverting to previous versions if needed. Implement version control for your design files and component library to manage updates effectively.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Track Changes and Revisions:&lt;/strong&gt; Regularly track changes and revisions to your design system. This practice helps you monitor the evolution of the design system and ensures that any issues can be traced back to their source.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Inadequate Testing and Validation:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Test Designs Across Platforms:&lt;/strong&gt; Inadequate testing can result in design inconsistencies and functionality issues. Test your designs across different platforms and devices to ensure that they perform as expected and provide a consistent user experience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Conduct User Testing:&lt;/strong&gt; Engage in user testing to gather feedback on the usability and effectiveness of your designs. Address any issues identified during testing to improve the overall quality of your design system.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Failure to Update and Maintain the Design System:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regularly Update Components:&lt;/strong&gt; Neglecting to update components and tokens can result in outdated designs and features. Regularly review and update the design system to incorporate new features, improvements, and bug fixes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Maintain System Integrity:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ensure that the design system remains coherent and functional as it evolves. Address any issues promptly and make necessary adjustments to maintain the integrity of the system.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Additional Resources
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.figma.com/community/file/1358053104938234615" rel="noopener noreferrer"&gt;gluestack-ui Design Kit&lt;/a&gt;:&lt;/strong&gt; Access the latest versions and updates of the Gluestack-UI Design Kit in the Figma Community.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://gluestack.io/ui/docs/home/getting-started/figma-ui-kit" rel="noopener noreferrer"&gt;gluestack-ui Documentation&lt;/a&gt;:&lt;/strong&gt; Comprehensive guide on the features and usage of the Gluestack-UI Design Kit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://www.w3.org/WAI/WCAG22/quickref/?versions=2.1" rel="noopener noreferrer"&gt;Accessibility Guidelines&lt;/a&gt;:&lt;/strong&gt; Essential guidelines for ensuring your designs meet accessibility standards.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://help.figma.com/hc/en-us/articles/360025508373-Publish-a-library" rel="noopener noreferrer"&gt;Publish internal library&lt;/a&gt;:&lt;/strong&gt; How to effectively publish an internal figma library for your team.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href="https://help.figma.com/hc/en-us/articles/360038662654-Guide-to-components-in-Figma" rel="noopener noreferrer"&gt;Guide to components in Figma&lt;/a&gt;:&lt;/strong&gt; Understand every minute detail about creating, using and maintaining components in Figma.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These resources provide additional information and tools to support your design process, enhance your use of the gluestack-ui Design Kit, and ensure that your projects are successful and well-executed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;Utilizing the gluestack-ui Design Kit effectively can significantly enhance your design workflow, ensuring consistency, efficiency, and collaboration across your projects. By understanding the component library, leveraging theme tokens, and avoiding common pitfalls, you can create cohesive and scalable designs that meet both aesthetic and functional needs. Remember to maintain clear documentation, collaborate closely with your team, and keep your design system updated to achieve the best results.&lt;/p&gt;

&lt;p&gt;Implementing these best practices will help you maximize the potential of gluestack-ui, streamline your design process, and produce high-quality, consistent results that align with your project goals. Embrace the power of the gluestack-ui Design Kit and transform your design approach for greater efficiency and effectiveness.&lt;/p&gt;

</description>
      <category>design</category>
      <category>figma</category>
      <category>gluestack</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>gluestack-ui v2.0 Design Kit</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Thu, 12 Dec 2024 07:19:27 +0000</pubDate>
      <link>https://forem.com/gluestackio/gluestack-ui-v20-design-kit-3m8k</link>
      <guid>https://forem.com/gluestackio/gluestack-ui-v20-design-kit-3m8k</guid>
      <description>&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Step into design efficiency and collaboration with the &lt;a href="https://www.figma.com/community/file/1358053104938234615" rel="noopener noreferrer"&gt;gluestack-ui v2.0 Design Kit&lt;/a&gt;! We're genuinely thrilled to introduce you to our latest innovation.&lt;/p&gt;

&lt;p&gt;In today's fast-paced digital landscape, design teams face constant challenges in maintaining consistency, responsiveness, and collaboration across diverse projects. We've experienced these challenges firsthand, so we embarked on a journey to create a solution that not only streamlines our workflows but empowers designers everywhere to achieve their full potential.&lt;/p&gt;

&lt;p&gt;The gluestack Figma Kit isn't just another set of design assets—it's a comprehensive toolkit meticulously crafted to enhance every aspect of the design process. From concept to execution, our kit is designed to elevate your projects with efficiency, flexibility, and style.&lt;br&gt;
Join us as we delve into the features, insights, and unique perspectives behind the gluestack Figma Kit.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenges Faced
&lt;/h2&gt;

&lt;p&gt;In our pursuit of creating the gluestack Figma Kit, we encountered significant challenges in building a robust component library that serves as the foundation for different design systems. Here are two key hurdles we faced:&lt;/p&gt;

&lt;h3&gt;
  
  
  Ensuring Compatibility Across Design Systems:
&lt;/h3&gt;

&lt;p&gt;One of our primary challenges was ensuring the seamless integration of our component library with various design systems. Adapting our components to fit diverse branding without compromising functionality or aesthetics proved to be a daunting task for our users. Users had to ensure that it aligned with the platform's existing color palette, typography, and branding guidelines. This required extensive customization and fine-tuning to ensure consistency with the overall design language while still maintaining the core functionality of the button component.&lt;br&gt;
Hence, the gluestack plugin was created. This plugin empowers users to make foundational changes to the gluestack Kit effortlessly. Updating color tokens, linking text styles, or changing font families is now a breeze, thanks to the plugin's intuitive interface and seamless integration with Figma.&lt;/p&gt;

&lt;h3&gt;
  
  
  Maintaining Cohesion Amidst Design Variations and Components:
&lt;/h3&gt;

&lt;p&gt;Another challenge we faced was maintaining cohesion across our component library while accommodating design system-specific variations. Ensuring that these variations remained consistent with the overall design language and didn't diverge too far from the standard posed a significant challenge.&lt;br&gt;
This challenge led to an internal experiment of Dynamic height vs. Fixed height for form control components. Through extensive research and testing, &lt;a href="https://x.com/tanisha__biswas/status/1667127340353171457" rel="noopener noreferrer"&gt;we explored the pros and cons of each approach and documented our findings&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ultimately, we decided to implement the fixed height approach by default in the gluestack Figma Kit to ensure that all form control components maintain consistency in appearance and layout. However, we understand that every design system has unique requirements and preferences. That's why the gluestack Kit is designed to be 100% customizable. If you prefer a dynamic height approach or any other customization, you can tailor the kit to your specific needs effortlessly.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is included?
&lt;/h2&gt;

&lt;p&gt;We recognized that gluestack serves as the foundation for many design systems. We prioritized ease of customization to ensure users can fully leverage the Figma file. Many design decisions in gluestack are intentionally kept generic to accommodate various use cases.&lt;/p&gt;

&lt;p&gt;This is also why we chose a black-and-white palette—to ensure the default designs do not influence your branding decisions. Customization with the gluestack Figma kit is easy for the following reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Color Tokens:&lt;/strong&gt; Color tokens in Figma provide a systematic way to manage and use colors in your design projects. They ensure consistency and simplify updates by defining a centralized set of color values reusable throughout the project. Our kit includes an extended color palette added as styles, semantic colors as variable collections, and a set of fixed colors that remain unchanged across modes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Text Tokens:&lt;/strong&gt; Text tokens in Figma enable you to define and manage consistent text properties like font, size, line spacing, and color. Our Figma UI Kit features two main foundation components, &lt;strong&gt;Text&lt;/strong&gt; and &lt;strong&gt;Heading&lt;/strong&gt;, with various sizes and font weights. You can easily customize these styles and typography properties to align with your brand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shadow Tokens:&lt;/strong&gt; Shadow tokens, also known as effect styles, allow you to define and manage effects such as drop shadows, strokes, blurs, and images. Our kit includes two primary shadows, &lt;strong&gt;Hard&lt;/strong&gt; and &lt;strong&gt;Soft&lt;/strong&gt;, covering different light source directions and intensities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Components:&lt;/strong&gt; Components in Figma are reusable design elements that ensure consistent and efficient designs. They can represent UI elements, icons, buttons, or any visual elements you want to reuse. Our Figma UI Kit includes around 23 components with instances mapped in compound components, enabling you to design screens effortlessly with common primitive components.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Additional Examples:&lt;/strong&gt; We’ve added more components and their use cases in the latest version. These examples demonstrate how components can be customized to meet user needs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8mx30nf3uga5vmcmpck9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8mx30nf3uga5vmcmpck9.png" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Future Roadmap
&lt;/h3&gt;

&lt;p&gt;With the release of v2, the gluestack design team is actively expanding the collection of components and introducing new features based on community feedback. Expect incremental additions of patterns and screens to the file. We believe this Figma kit will empower you to make quick design decisions, thanks to the solid foundational work already in place.&lt;/p&gt;

&lt;p&gt;Download your &lt;a href="https://www.figma.com/community/file/1358053104938234615" rel="noopener noreferrer"&gt;kit now&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;For any queries, join our &lt;a href="https://discord.com/invite/95qQ84nf6f" rel="noopener noreferrer"&gt;Discord channel&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>design</category>
      <category>figma</category>
      <category>designpatterns</category>
      <category>webcomponents</category>
    </item>
    <item>
      <title>Why we built gluestack-ui v2?</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Thu, 12 Dec 2024 06:53:55 +0000</pubDate>
      <link>https://forem.com/gluestackio/why-we-built-gluestack-ui-v2-4c18</link>
      <guid>https://forem.com/gluestackio/why-we-built-gluestack-ui-v2-4c18</guid>
      <description>&lt;p&gt;We are thrilled to introduce gluestack-ui v2. It is a significant upgrade of our UI component library and will empower developers by streamlineing the creation of beautiful, responsive user interfaces across web and mobile.&lt;/p&gt;

&lt;p&gt;But why did we build gluestack-ui v2?&lt;br&gt;
We were motivated by the pulse of the community and a drive to solve real-developer problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Addressing Developer Needs and Feedback
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Listening to Our Community
&lt;/h3&gt;

&lt;p&gt;We heard your challenges with existing UI libraries – from bloated dependencies to limited customization options.&lt;br&gt;
With gluestack-ui v2, we aimed to address these pain points head-on.&lt;br&gt;
We did this by offering a modular architecture and seamless integration with Tailwind CSS through NativeWind, empowering developers to tailor their UI components precisely to project requirements.&lt;/p&gt;

&lt;h2&gt;
  
  
  Modular Approach with Copy-Pastable Components
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Simplifying Integration
&lt;/h3&gt;

&lt;p&gt;In gluestack-ui v2 we are shifting from a bundled library to a modular architecture.&lt;br&gt;
What does that mean? Unlike v1, where components came as part of a large package, v2 allows developers to copy and paste only the components they need.&lt;br&gt;
This approach minimizes unnecessary dependencies, reduces bundle sizes, and simplifies the integration process. Now, you can include only the required components in your project, ensuring optimal performance and code efficiency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enhancing Performance and Efficiency
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Optimized for Speed and Scalability
&lt;/h3&gt;

&lt;p&gt;In today's fast-paced digital landscape, performance is non-negotiable. gluestack-ui v2 shines in this aspect.&lt;br&gt;
By leveraging React Server Components (RSC) to enable server-side rendering, we have, significantly improved initial load times and SEO while reducing client-side JavaScript execution&lt;br&gt;
This enhancement boosts application performance and enhances the overall user experience, ensuring that applications built with gluestack-ui are responsive and performant across devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  Promoting Accessibility and Inclusivity
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Designing for Everyone
&lt;/h3&gt;

&lt;p&gt;Accessibility is at the core of gluestack-ui v2. We understand the importance of creating applications that are usable by all individuals, regardless of their abilities or assistive technologies.&lt;br&gt;
Each component in gluestack-ui v2 is meticulously designed and tested to ensure full operability, keyboard navigation, screen-reader compatibility, and optimal color contrast.&lt;/p&gt;

&lt;h2&gt;
  
  
  Empowering Customization and Design Consistency
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tailored to Your Creative Vision
&lt;/h3&gt;

&lt;p&gt;We wanted to empower developers and designers alike to create cohesive design systems that reflect their brand identity and creative vision.&lt;br&gt;
gluestack-ui does this by integrating with Tailwind CSS and the availability of a comprehensive Figma UI Kit. The result is unparalleled flexibility and consistency in UI design.&lt;br&gt;
Whether you' are building a sleek web application or a robust mobile interface, gluestack-ui v2 equips you with the tools to achieve stunning visual results while maintaining usability and accessibility standards.&lt;/p&gt;

&lt;h2&gt;
  
  
  Streamlined Development Workflow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Tools for Efficiency
&lt;/h3&gt;

&lt;p&gt;Developers need tools that streamline their workflow and enhance productivity. That's why gluestack-ui v2 includes a CLI tool for quick project setup and configuration, alongside a VSCode extension for seamless integration within your preferred IDE.&lt;br&gt;
These tools not only simplify development tasks but also foster collaboration and consistency across teams, enabling faster iteration and delivery of high-quality applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enhanced Developer Experience with Classnames
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Simplified Styling with NativeWind
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 introduces a user-friendly approach to styling with NativeWind, leveraging classnames that align with Tailwind CSS conventions.&lt;br&gt;
This approach reduces the learning curve for developers familiar with Tailwind, allowing them to apply styles effortlessly and maintain design consistency throughout their applications. By embracing classnames, gluestack-ui v2 enhances developer productivity and empowers teams to focus on building innovative features without the complexity of traditional CSS methodologies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Future-Proofing and Innovation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Continuously Evolving
&lt;/h3&gt;

&lt;p&gt;The journey to gluestack-ui v2 is just the beginning. We're committed to continuous improvement and innovation, driven by our passion for empowering developers with cutting-edge tools and technologies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join Us on this Exciting Journey
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Community-Centric Development
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 is not just a product – it's a collaborative effort with our community of developers, designers, and innovators.&lt;br&gt;
We invite you to explore gluestack-ui v2, provide feedback, and join us in shaping the future of UI development. Together, let's build intuitive, accessible, and visually compelling applications that make a positive impact in the digital world.&lt;br&gt;
Visit &lt;a href="https://gluestack.io/" rel="noopener noreferrer"&gt;gluestack.io&lt;/a&gt; to learn more about gluestack-ui v2, try out the latest version, and join our community.&lt;/p&gt;

</description>
      <category>nativewind</category>
      <category>reactnative</category>
      <category>react</category>
      <category>gluestack</category>
    </item>
    <item>
      <title>gluestack-ui v2 is here!</title>
      <dc:creator>gluestackio</dc:creator>
      <pubDate>Tue, 10 Dec 2024 12:04:26 +0000</pubDate>
      <link>https://forem.com/gluestackio/gluestack-ui-v2-is-here-2fel</link>
      <guid>https://forem.com/gluestackio/gluestack-ui-v2-is-here-2fel</guid>
      <description>&lt;p&gt;&lt;strong&gt;Copy-paste components &amp;amp; patterns crafted with Tailwind CSS (NativeWind)&lt;/strong&gt;&lt;br&gt;
gluestack-ui v2 is here and it's better than ever!&lt;/p&gt;

&lt;p&gt;We've made gluestack-ui v2 as flexible and customizable as possible. But what truly sets gluestack-ui v2 apart is its universal compatibility. You just write once and run anywhere.&lt;/p&gt;

&lt;p&gt;Plus, it's built with NativeWind, providing a powerful styling solution with Tailwind CSS classes support, and all you have to do is copy-paste. And let's not forget one of the most beloved features—dark mode all the way through!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1xro2vp8kegexxsz0xa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl1xro2vp8kegexxsz0xa.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s Freshly Brewed?
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Modular Architecture: Selective component usage
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 introduces a modular architecture, allowing developers to choose and integrate only the necessary components into their projects. This approach reduces bundle sizes, improves performance, and simplifies maintenance by eliminating unused code.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffnkq1xusewf2easqykvv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffnkq1xusewf2easqykvv.png" alt="Image description" width="800" height="370"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  NativeWind Integration: Tailwind CSS support
&lt;/h3&gt;

&lt;p&gt;Leveraging NativeWind as its styling engine, gluestack-ui v2 provides seamless integration with Tailwind CSS classes. Developers can customize UI components effortlessly, ensuring consistent design across different platforms like Expo and Next.js.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/overview/introduction" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Component Redesign: Enhanced visual design
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 includes redesigned components with improved visual aesthetics and usability. From buttons and forms to navigation elements and data displays, each component has been refined to enhance user experience and align with modern design trends.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/components/all-components" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Enhanced Performance: React Server Components (RSC) compatibility
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 supports React Server Components (RSC), enabling server-side rendering of UI elements. This optimizes initial load times, and improves the overall user experience by reducing client-side JavaScript execution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/performance/benchmarks" rel="noopener noreferrer"&gt;Learn more&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Easy Onboarding: Installs in a flash
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 offers a CLI tool for seamless onboarding. Quickly initialize projects, install dependencies, and configure settings with intuitive commands, streamlining the setup process and enabling developers to get started faster.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/getting-started/cli" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Are you migrating from v1?&lt;br&gt;
&lt;a href="https://gluestack.io/ui/docs/guides/more/upgrade-to-v2" rel="noopener noreferrer"&gt;Check out our Migration guide&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Non-Bundled Library Approach: Reduced dependency footprint
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 is designed as a non-bundled library, allowing developers to directly copy-paste required components into their projects. This approach minimizes unnecessary dependencies and ensures optimal performance and code efficiency.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/overview/introduction" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  No Default Primary Color: Design customization
&lt;/h3&gt;

&lt;p&gt;The default primary color in gluestack-ui v2 has been updated to gray, promoting a neutral design aesthetic by default. Existing users can easily configure and adapt this change to align with their specific design preferences and branding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/getting-started/figma-ui-kit" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  VS Code Extension: IDE integration
&lt;/h3&gt;

&lt;p&gt;Enhance your development workflow with the gluestack-ui v2 VSCode extension. Access component snippets, quick documentation references, and styling suggestions directly within your coding environment for seamless integration.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/getting-started/vscode-extensions" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Figma UI Kit: Design System integration
&lt;/h3&gt;

&lt;p&gt;Simplify UI design and collaboration with the gluestack-ui v2 Figma UI Kit. Explore pre-designed components, layouts, and styles that perfectly align with gluestack-ui v2’s focus on universal design, accessibility, and customization.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/getting-started/figma-ui-kit" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiv6m1mowwng43s1l2tfh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiv6m1mowwng43s1l2tfh.png" alt="Image description" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Starter Kits: Accelerated development
&lt;/h3&gt;

&lt;p&gt;Jumpstart your projects with gluestack-ui v2 Starter Kits. Choose from a variety of pre-configured templates for web and mobile applications, complete with optimized configurations and sample code to accelerate development.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/apps/starter-kit" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Universal to the Core: Universal UI design
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 adheres to universal design principles, ensuring accessibility across different devices and platforms. Develop applications that everyone uses, regardless of their abilities or experience with assistive technologies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/core-concepts/universal" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Accessibility Baked In: Inclusive UI design
&lt;/h3&gt;

&lt;p&gt;gluestack-ui v2 components are designed to be fully operable and navigable, ensuring a smooth and intuitive user experience. Experience better keyboard interaction, gestures, screen readers, and the right color contrast!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gluestack.io/ui/docs/home/core-concepts/accessibility" rel="noopener noreferrer"&gt;Learn More&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Create Design Systems/Component Library: Make it your own
&lt;/h3&gt;

&lt;p&gt;Craft a unique design ecosystem with a collection of components that align perfectly with your creative vision.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuwj57x0d9d9emsjsvpb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwuwj57x0d9d9emsjsvpb.png" alt="Image description" width="800" height="452"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Our Journey: We are getting better every day
&lt;/h2&gt;

&lt;p&gt;The road to v2 has been exciting; we have much more coming up! Stay tuned for a sneak peek into the future of gluestack-ui.&lt;/p&gt;

&lt;h2&gt;
  
  
  Join Our Community: Be a part of this journey
&lt;/h2&gt;

&lt;p&gt;We are constantly pushing new upgrades for gluestack-ui and welcome any query from our community. Join our socials to stay updated and receive support related to gluestack-ui.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Links:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://x.com/gluestack" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gluestack/gluestack-ui" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://discord.com/invite/V5SU7HZSAQ" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/company/gluestackio/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://stackoverflow.com/questions/tagged/gluestack" rel="noopener noreferrer"&gt;Stackoverflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gluestack</category>
      <category>reactnative</category>
      <category>react</category>
      <category>nativewind</category>
    </item>
  </channel>
</rss>
