AWS Summit Amsterdam 2024-Unleashing Inn. . .
April 11, 2024
On April 9, 2024, the AWS Summit Amsterdam brought together tech enthusiasts, developers, and cloud aficionados at the RAI Amsterdam. This…
Alireza Keshavarz Shirazi
December 06, 2022
In the development arena, effective collaboration is essential, and understanding each other's roles is key. While front-end developers often focus solely on code, appreciating the design process is crucial for success and growth. In the past dominated by Photoshop and Sketch, cumbersome workflows were common due to tool constraints. However, Figma emerged as a game-changer, offering real-time collaboration and seamless integration between designers and developers. Today, Figma has become an essential tool, empowering design teams to create exceptional digital experiences efficiently and collaboratively. That's why I want to shed light on the world of design and all the little secrets of Figma that you might not be familiar with.
Figma supports the creation and usage of components, much like many other frontend libraries and frameworks. In Figma, you can create components by selecting the elements you want to include in the component and then right-clicking to choose "Create Component" or by using the shortcut Cmd/Ctrl + Alt + K. Once created, you can reuse these components across different frames, pages, or even files. The beauty of using components in Figma lies in their versatility and consistency. Any changes made to a component will automatically reflect wherever that component is used throughout your designs. This makes it easy to maintain a consistent design system and quickly iterate on your designs. Furthermore, Figma allows you to nest components within other components, enabling you to create complex design systems with reusable building blocks. This approach streamlines the design process and enhances collaboration, as team members can easily access and utilize the same components across different projects. Moreover, allow us to implement atomic design patterns effectively. We also have Variants called a component set that contains different variants of a component. We can easily switch between these variants throughout our design using the Properties panel. This way, we have all the different states of a component in one place for documentation.
TIP: A Quick Way to Change the Whole Component! If you need something in Figma to change the entire appearance of a component, for example, light/dark mode, you can use a true/false or yes/no property. By doing this, you create an instant toggle for the entire component! I saw this trick in the fantastic iOS 16 UI kit for Figma designed by Joey Banks. It was the best file settings I've seen so far! Currently, we have attractive features like text, swapping, and on/off. And well, you can combine all these to do more work.
Just as we can store reusable parts locally in code or create external libraries, Figma also provides this possibility for components and styles. With this, we can use components in several Figma files while maintaining a reliable central reference and organized structure.
With the advent of components, variants, and properties in the design world, it's possible to achieve more precise synchronization between user interface (UI) components and code components. But to achieve this synchronization, we need information exchange. So, let's get together, have a coffee, and tell us about the structure, naming, functionality, and any details we need. Fortunately, there are many resources like videos and tutorials for getting inspired by various synchronization methods of other teams. I'm giving you a preliminary guide; discover the rest of the path yourself.
Synchronizing components with code can be fantastic, but one thing should not be forgotten: it requires effort and, more importantly, constant updating. So it's better to use it only in suitable conditions, such as in a comprehensive design system. If you're designing a single-page website, you can still use components. This ensures clean and scalable design and provides a clear structure for coding. But it's not necessarily essential for these components to be fully synchronized with the code. For example, nobody thinks about starting a cake factory production line just to bake a birthday cake for their friend! But they still use the same basic ingredients. In other words, you can take advantage of components for better organization and a clean structure without always needing to go through a complete synchronization process with the code. The key is to understand when and where the use of this feature is logical and useful.
In Figma, we can create styles for color, text, grids, shadows, blur, and similar things and apply them throughout the design. However, unfortunately, it doesn't have many other capabilities. Figma doesn't provide automatic documentation for styles, but that doesn't mean design teams neglect documentation. Typically, teams adopt several approaches to maintain coherence and coordination:
Internal Documentation: They directly write explanations related to each style and how to use it within the same Figma file alongside the style itself. Separate File: They allocate a separate file to record and explain all styles and project design rules. Link to External Styles: Similar to what we do with components, they can link to styles defined in another file. Opportunities for Connection between Design and Code: Figma Tokens Plugin
Problem: Figma styles are somewhat limited and cannot interact with each other. For example, you cannot set a font size that scales and automatically change the scaling rate. You can only set a fixed size. Also, currently, we don't have spacing styles.
Solution: The Figma Tokens plugin allows you to create various tokens in Figma and work with them. You can even connect these tokens to code tokens and synchronize them.
Responsive design means ensuring the proper and efficient display of a website or application on any type of screen and device. Figma has powerful tools that can accompany us on this journey. Let's get acquainted with them step by step:
With Auto Layout, you can:
An important note: You cannot use Auto Layout and Constraints simultaneously within a frame. You have to choose one. (There is a small exception for elements with relative positions inside Auto Layout). There is no better or worse between these two methods; it all depends on the type of design and your needs. 3. Grid System: The grid helps you align and organize elements on the screen. With the grid, you can create consistent spacing between elements and maintain uniform columns and rows. Using the grid system, you can add order and structure to your designs in Figma. The grid helps you neatly align elements next to each other and precisely control the spacing between them.
One cool feature of using the grid in a frame is that when you use constraints, the grid columns are considered as the parent frame. By combining the grid and constraints, we can easily implement incredibly responsive designs (compatible with different screen sizes).
Alright, alright.
This concludes this beloved notebook.
This is the end of Part One 😉
April 11, 2024
On April 9, 2024, the AWS Summit Amsterdam brought together tech enthusiasts, developers, and cloud aficionados at the RAI Amsterdam. This…
May 11, 2023
Picture this: You're building a sleek web application with a user-friendly interface. Now, imagine your users have the option to choose…
September 13, 2022
In the ever-evolving landscape of frontend development, React continues to reign supreme as the go-to library for building dynamic user…
July 23, 2021
Those who know me, know that I am very fanatical about context api. The reason is having a series of standards and a series of good…
June 15, 2021
Are you still relying on Redux for state management in your React applications? It might be time to reconsider. While Redux has been a…