avatarJennifer Fu

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

6705

Abstract

=<span class="hljs-string">"text-wrapper"</span>></span>Flag Outfits<span class="hljs-tag"></<span class="hljs-name">h1</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"group"</span>></span> <span class="hljs-tag"><<span class="hljs-name">div</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"overlap-group"</span>></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"IMG"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Img"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"IMG-8059-1.png"</span> /></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"img"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Img"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"IMG-8059-4.png"</span> /></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"IMG-2"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Img"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"IMG-8059-3.png"</span> /></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"IMG-3"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Img"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"IMG-8059-2.png"</span> /></span> <span class="hljs-tag"><<span class="hljs-name">img</span> <span class="hljs-attr">className</span>=<span class="hljs-string">"IMG-4"</span> <span class="hljs-attr">alt</span>=<span class="hljs-string">"Img"</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"IMG-8059-5.png"</span> /></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span> <span class="hljs-tag"></<span class="hljs-name">div</span>></span></span> ); };</pre></div><p id="a7a7">The following is <code>style.css</code>:</p><div id="90be"><pre><span class="hljs-selector-class">.wireframe</span> { <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#ffffff</span>; <span class="hljs-attribute">display</span>: flex; <span class="hljs-attribute">flex-direction</span>: row; <span class="hljs-attribute">justify-content</span>: center; <span class="hljs-attribute">width</span>: <span class="hljs-number">100%</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.div</span> { <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#ffffff</span>; <span class="hljs-attribute">border</span>: <span class="hljs-number">1px</span> none; <span class="hljs-attribute">height</span>: <span class="hljs-number">1024px</span>; <span class="hljs-attribute">position</span>: relative; <span class="hljs-attribute">width</span>: <span class="hljs-number">1440px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.star</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">134px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">110px</span>; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">90px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">141px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.text-wrapper</span> { <span class="hljs-attribute">color</span>: <span class="hljs-number">#000000</span>; <span class="hljs-attribute">font-family</span>: <span class="hljs-string">"Inter-Bold"</span>, Helvetica; <span class="hljs-attribute">font-size</span>: <span class="hljs-number">40px</span>; <span class="hljs-attribute">font-weight</span>: <span class="hljs-number">700</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">316px</span>; <span class="hljs-attribute">letter-spacing</span>: <span class="hljs-number">0</span>; <span class="hljs-attribute">line-height</span>: normal; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">135px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">294px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.group</span> { <span class="hljs-attribute">background-color</span>: <span class="hljs-number">#d9d9d9</span>; <span class="hljs-attribute">height</span>: <span class="hljs-number">615px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">124px</span>; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">291px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">1191px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.overlap-group</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">73px</span>; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">107px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">322px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.IMG</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">22px</span>; <span class="hljs-attribute">object-fit</span>: cover; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">0</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">300px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.img</span> { <span class="hljs-attribute

Options

">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">22px</span>; <span class="hljs-attribute">object-fit</span>: cover; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">0</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">300px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.IMG-2</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">0</span>; <span class="hljs-attribute">object-fit</span>: cover; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">0</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">300px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.IMG-3</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">453px</span>; <span class="hljs-attribute">object-fit</span>: cover; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">107px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">300px</span>; }

<span class="hljs-selector-class">.wireframe</span> <span class="hljs-selector-class">.IMG-4</span> { <span class="hljs-attribute">height</span>: <span class="hljs-number">400px</span>; <span class="hljs-attribute">left</span>: <span class="hljs-number">811px</span>; <span class="hljs-attribute">object-fit</span>: cover; <span class="hljs-attribute">position</span>: absolute; <span class="hljs-attribute">top</span>: <span class="hljs-number">107px</span>; <span class="hljs-attribute">width</span>: <span class="hljs-number">300px</span>; }</pre></div><p id="87aa">These files can be downloaded or opened and executed in CodeSandBox. They can be the starting point of coding.</p><figure id="639a"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*pQi4XCIsOxMXqe52s5guvA.png"><figcaption>Image by author</figcaption></figure><h1 id="e259">Figma for VS Code</h1><p id="5394"><code>Figma for VS Code</code> is a <a href="https://readmedium.com/10-useful-plugins-for-visual-studio-code-6ab62c0b14ee">VS Code extension</a>. It is now in beta and free for all users for the rest of 2023. Starting in 2024, it will be available on the education and paid plans.</p><figure id="1891"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*3flcZZquoIC36C8mUL8H5g.png"><figcaption>Image by author</figcaption></figure><p id="30c5">The extension allows developers to navigate and inspect design files, collaborate with designers, track changes, and speed up implementation — all inside VS Code.</p><p id="e4d9"><code>Figma for VS Code</code> can be invoked in a few steps:</p><ul><li>Right-click any file and select <code>Command Palette…</code>.</li><li>Filter by the word <code>Figma</code> and execute the command <code>Figma: Open Design File</code>.</li></ul><figure id="a697"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*d0N7reIvS_2IwY_oop2paw.png"><figcaption>Image by author</figcaption></figure><p id="fa6f">It asks for the Figma design file’s URL:</p><figure id="d4bf"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*kG48uew70Z-d0sz6rKfWCg.png"><figcaption>Image by author</figcaption></figure><p id="6edc">After providing the URL,<code> https://www.figma.com/file/...</code>, the Figma design shows up inside VS Code.</p><figure id="7182"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*dNMesYSS_m1J3NZXpwWAtA.png"><figcaption>Image by author</figcaption></figure><p id="4665">With <code>Figma for VS Code</code>, developers can perform Figma tasks inside VSCode without switching context.</p><h1 id="6a16">Variables</h1><p id="8e6d">In computer programming, variables store information to be referenced and manipulated. <code>Variables</code> are introduced to Figma to store reusable values that can be applied to all design properties and prototyping actions.</p><p id="d112">Although <code>Variables</code> are not for developers, this feature allows designers to work like developers. <code>Variables</code> are not free. The feature is available on the education plan and any paid plans.</p><p id="c5d3">Click the <code>Local variables</code> button, it pops up a modal to create reusable numbers, text, and colors that can be applied across files and prototypes.</p><figure id="a582"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*RavIqzhYhNQ8pruaADT6Vw.png"><figcaption></figcaption></figure><p id="308c">We create a few variables:</p><ul><li>Two background colors, one for the light mode and one for the <a href="https://readmedium.com/ant-design-system-dark-mode-and-other-theme-customization-fa4ff14359a4">dark mode</a>.</li><li>Two sizes, one for the area width and one for the area height.</li></ul><figure id="0ea5"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*dX_aE_4liqp2OVdyj5j9Wg.png"><figcaption>Image by author</figcaption></figure><p id="5f98">During the design, these variables can be applied. In the following UI, clicking the <code>Style</code> button or the color square, the color variables become available choices.</p><figure id="5c45"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*7hq91CcZlGCnAgfdAo7dtQ.png"><figcaption>Image by author</figcaption></figure><p id="8355">In the following UI, after you click the <code>Size</code> button, the number variables become available choices.</p><figure id="7ea0"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*RzmOrURVomDELL6D-LgF7A.png"><figcaption>Image by author</figcaption></figure><p id="62a9">With variables, designers are empowered to work like developers.</p><h1 id="e464">Conclusion</h1><p id="b6f1">We have shown new features in Config 2023. Figma focuses on brainstorming, designing, and building. The beta features of <code>Dev Mode</code> and <code>Figma for VS Code</code> are powerful for developers. In addition, The open beta <code>Variables</code> empowers designers to work like developers.</p><p id="950f">Thanks for reading.</p><div id="ad8b"><pre>Want to Connect?

If you are interested,<span class="hljs-built_in"> check </span>out my directory of web development articles.</pre></div></article></body>

Figma’s Magic Power for Developers

Our take from Config 2023, Figma’s annual design conference

Image by author

As Figma CEO Dylan Field said, design is changing, and so are the roles we all play. Config 2023, Figma’s annual design conference, was held from June 21 to June 22, 2023. The theme is rethinking product building from the ground up — from shifting mindsets to bringing design and engineering closer together to make great work. It is at the dawn of AI and the future of design, another session that walks through the history of generating UI with AI, challenges and opportunities in building with AI for design, and breaking down barriers between design and code roles.

The two-day meeting is Figma’s biggest product launch of the year. It focuses on brainstorming, designing, and building. As 30% of the attendees are developers, Figma is no longer exclusively for designers. The beta features of Dev Mode and Figma for VS Code are powerful for developers. In addition, The open beta Variables empowers designers to work like developers. Let’s take a look at these features.

Figma Design Tool

Figma is a collaborative web application for interface design, with additional offline features enabled by desktop applications for macOS and Windows. It focuses on user interface and user experience design, emphasizing real-time collaboration and utilizing a variety of vector graphics editors and prototyping tools.

We create an account and sign in to use the web version of the application:

Image by author

Dev Mode

Dev Mode is a brand new space in Figma design. It gives developers everything from navigating design files to transforming designs into code.

Dev Mode is now in beta and free for all users for the rest of 2023. Starting in 2024, it is available on education and paid plans. It needs to be installed.

Image by author

The first step is Choose your platform, which supports Web, iOS, Android, and More. It also has a choice of unit, px or rem.

Image by author

The second step is Set your color theme, which supports Light mode, Dark mode, or whatever System theme is.

Image by author

The third step is Find plugins, which adds the preferred plugins, including Figma to Code (HTML, Tailwind, Flutter, SwiftUI), Anima — Figma to React and HTML, Storybook Connect, GitHub, Jira, etc.

Image by author

The fourth step is Install extensions, which adds extensions outside of Figma, such as Figma for VS Code.

Image by author

In the end, it shows the summary of our choices:

Image by author

Here is an example design:

Image by author

Switching to the Dev Mode by clicking </> below, we see the Inspect tab.

Image by author

Change to the Plugins tab, and click the Run button below for the plugin Anima — Figma to React and HTML.

Image by author

It generates index.jsx and style.css.

Image by author

Here’s what index.jsx looks like:

import React from "react";
import "./style.css";

export const Wireframe = () => {
  return (
    <div className="wireframe">
      <div className="div">
        <img className="star" alt="Star" src="star-1.png" />
        <h1 className="text-wrapper">Flag Outfits</h1>
        <div className="group">
          <div className="overlap-group">
            <img className="IMG" alt="Img" src="IMG-8059-1.png" />
            <img className="img" alt="Img" src="IMG-8059-4.png" />
            <img className="IMG-2" alt="Img" src="IMG-8059-3.png" />
          </div>
          <img className="IMG-3" alt="Img" src="IMG-8059-2.png" />
          <img className="IMG-4" alt="Img" src="IMG-8059-5.png" />
        </div>
      </div>
    </div>
  );
};

The following is style.css:

.wireframe {
  background-color: #ffffff;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.wireframe .div {
  background-color: #ffffff;
  border: 1px none;
  height: 1024px;
  position: relative;
  width: 1440px;
}

.wireframe .star {
  height: 134px;
  left: 110px;
  position: absolute;
  top: 90px;
  width: 141px;
}

.wireframe .text-wrapper {
  color: #000000;
  font-family: "Inter-Bold", Helvetica;
  font-size: 40px;
  font-weight: 700;
  left: 316px;
  letter-spacing: 0;
  line-height: normal;
  position: absolute;
  top: 135px;
  width: 294px;
}

.wireframe .group {
  background-color: #d9d9d9;
  height: 615px;
  left: 124px;
  position: absolute;
  top: 291px;
  width: 1191px;
}

.wireframe .overlap-group {
  height: 400px;
  left: 73px;
  position: absolute;
  top: 107px;
  width: 322px;
}

.wireframe .IMG {
  height: 400px;
  left: 22px;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 300px;
}

.wireframe .img {
  height: 400px;
  left: 22px;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 300px;
}

.wireframe .IMG-2 {
  height: 400px;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 300px;
}

.wireframe .IMG-3 {
  height: 400px;
  left: 453px;
  object-fit: cover;
  position: absolute;
  top: 107px;
  width: 300px;
}

.wireframe .IMG-4 {
  height: 400px;
  left: 811px;
  object-fit: cover;
  position: absolute;
  top: 107px;
  width: 300px;
}

These files can be downloaded or opened and executed in CodeSandBox. They can be the starting point of coding.

Image by author

Figma for VS Code

Figma for VS Code is a VS Code extension. It is now in beta and free for all users for the rest of 2023. Starting in 2024, it will be available on the education and paid plans.

Image by author

The extension allows developers to navigate and inspect design files, collaborate with designers, track changes, and speed up implementation — all inside VS Code.

Figma for VS Code can be invoked in a few steps:

  • Right-click any file and select Command Palette….
  • Filter by the word Figma and execute the command Figma: Open Design File.
Image by author

It asks for the Figma design file’s URL:

Image by author

After providing the URL, https://www.figma.com/file/..., the Figma design shows up inside VS Code.

Image by author

With Figma for VS Code, developers can perform Figma tasks inside VSCode without switching context.

Variables

In computer programming, variables store information to be referenced and manipulated. Variables are introduced to Figma to store reusable values that can be applied to all design properties and prototyping actions.

Although Variables are not for developers, this feature allows designers to work like developers. Variables are not free. The feature is available on the education plan and any paid plans.

Click the Local variables button, it pops up a modal to create reusable numbers, text, and colors that can be applied across files and prototypes.

We create a few variables:

  • Two background colors, one for the light mode and one for the dark mode.
  • Two sizes, one for the area width and one for the area height.
Image by author

During the design, these variables can be applied. In the following UI, clicking the Style button or the color square, the color variables become available choices.

Image by author

In the following UI, after you click the Size button, the number variables become available choices.

Image by author

With variables, designers are empowered to work like developers.

Conclusion

We have shown new features in Config 2023. Figma focuses on brainstorming, designing, and building. The beta features of Dev Mode and Figma for VS Code are powerful for developers. In addition, The open beta Variables empowers designers to work like developers.

Thanks for reading.

Want to Connect?

If you are interested, check out my directory of web development articles.
Figma
Design
Developer Tools
Web Development
Programming
Recommended from ReadMedium