Code to Design Archives https://www.uxpin.com/studio/blog/category/code-to-design/ Thu, 02 Nov 2023 14:22:52 +0000 en-US hourly 1 https://wordpress.org/?v=6.3.2 Design to React code – How UXPin Merge Speeds it up https://www.uxpin.com/studio/blog/design-to-react-code/ Thu, 19 Oct 2023 11:39:47 +0000 https://www.uxpin.com/studio/?p=50721 Converting designs into functional React code is a pivotal step that often comes with challenges such as misinterpretation, inefficiency, and inconsistency. Emerging technologies like UXPin’s Merge aim to streamline this antiquated process by facilitating a code-to-design workflow, allowing you to design with React components.  Key takeaways: Design with React code using an intuitive design interface

The post Design to React code – How UXPin Merge Speeds it up appeared first on Studio by UXPin.

]]>
design to react code

Converting designs into functional React code is a pivotal step that often comes with challenges such as misinterpretation, inefficiency, and inconsistency. Emerging technologies like UXPin’s Merge aim to streamline this antiquated process by facilitating a code-to-design workflow, allowing you to design with React components. 

Key takeaways:

  • The traditional design-to-code workflow often results in lost design details, extended iteration cycles, and version inconsistencies.
  • UXPin’s Merge technology offers a code-based design approach streamlining the transition from design to functional React code.
  • Merge allows you to import React components directly into UXPin’s design editor for a more dynamic and interactive design experience.
  • With UXPin’s Merge, changes to React components in the repository automatically sync, making maintenance and customization easier.
  • The code-to-design workflow in UXPin provides both time efficiency and higher fidelity between the initial design and the final product.

Design with React code using an intuitive design interface and Merge technology. Discover UXPin Merge.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

How Do You Convert Designs to React Code?

In the traditional product development workflow, designers craft mockups and prototypes, often using tools like Sketch or Figma. They then hand off these designs and documentation to developers who translate them into functional React code.

The handoff usually involves exporting designs into a standard format, perhaps annotated with extra details like dimensions, colors, and assets. 

This process relies on designer/developer cooperation or a solo dev with both skill sets. Since it takes many years to develop competency in design and development, not many people choose to master both. There are other challenges.

What are the Challenges of Getting Design to React Code?

code design developer
  1. Lost in Translation: Despite the best efforts, some design details often get lost or misinterpreted during the handoff.
  2. Iteration Lag: If the developer needs clarification or the designer needs to make changes, the iterative cycle elongates, wasting time and resources.
  3. Component Inconsistency: Without a shared language or toolset, designers and developers can end up creating their own versions of the same reusable components, leading to inconsistency.
  4. Static Designs: Traditional design tools often produce static mockups, not accounting for dynamic data and states, leaving gaps in the representation of the final product.
  5. Version Confusion: As design and code evolve, keeping track of the most current version becomes a nightmare.

Why we need a better alternative

The legacy workflow has its merits, but it’s far from optimal in a world where user experience can make or break a product. Add the component-centric architecture of React, and the room for error widens. 

Here’s why we need a better alternative to the traditional design-to-code workflow:

  1. Time Efficiency: The traditional method extends project timelines. Shorter development cycles are not just a desire; they’re a need.
  2. Design Integrity: The fidelity of the final product to the initial design often gets compromised. A new approach can uphold the designer’s vision to the tee.
  3. Dynamic Reality: Today’s UI is interactive and data-driven. Static design handoffs can’t encapsulate this dynamic and interactive reality.
  4. Consistency: A consistent UI requires a single source of truth for designers and developers, which the traditional model lacks.
  5. Feedback Loop: Real-time collaboration can iron out issues on the fly instead of post facto corrections.

The traditional model also makes it challenging and time-consuming for solo devs to prototype and test. They must either learn a design tool or build, test, and iterate in code, adding significant time to the project.

Luckily, there is an alternative to this legacy design workflow where you can design using React code.

How Do You Design in React?

design and development collaboration process product communication 1

Wouldn’t it be easier to drag and drop UI components to prototype user interfaces instead of writing and editing React code? That’s precisely what UXPin’s Merge technology does.

Unlike Figma, Adobe XD, and other image-based UI design tools, UXPin is code-based, rendering HTML, CSS, and Javascript behind the scenes. This code-based technology means you can use code components on the design canvas in a no-code environment with Merge technology.

Merge lets you import React components from a repository into UXPin’s design editor. The UI elements appear in UXPin’s Design System Libraries for you to drag and drop for prototyping. You can edit styling and interactivity via the Properties Panel defined by the component’s React props.

How UXPin Merge helps you design with React code components

Devs can use the standard Properties Panel interface or switch to JSX mode for a more familiar code environment. Any changes you make to the React components in the repository automatically sync to UXPin, allowing you to update, maintain, and customize your UI elements, patterns, and templates.

This code-to-design workflow gives developers the best of both worlds–complete control over the codebase and repository with the simplified workflow of a design tool interface. Instead of editing code, devs can drag and drop to move components about the UI or make adjustments via the Properties Panel.

How to Connect Merge to Your Repository

uxpin merge react sync library git

UXPin offers two ways to sync a component library:

Git Integration (React only): 

Direct connection to a React component repository (GitHub, GitLab, etc. ). We recommend the Git Integration because it gives you Merge’s features, including:

Storybook Integration

Connect any Storybook to UXPin, including React, Vue, Angular, Ember, and more. While you don’t get all the Merge features, Storybook offers many benefits, including addons and plugins for managing component libraries.

npm Integration and Merge Component Manager

You can also use the npm integration and Merge Component Manager to import individual UI elements from open-source design systems on the npm registry. 

UXPin offers several built-in Merge design systems to start prototyping without any setup process, including Fluent UI (Git), Ant Design (npm integration), MUI (Git), Material UI (Storybook), or UXPin Boilerplate (Git).

How to Add React Components and Sync to UXPin Using Merge’s Git Integration

Once you have created a UXPin account and completed the onboarding processrequest access to Mergeyou can start setting up your repository using the Merge boilerplate repository.

Prerequisites for this step-by-step tutorial from UXPin’s docs:

  • You have completed the Easy Start tutorial (request access to Merge).
  • You’re familiar with HTML, CSS, and Javascript.
  • You have at least a basic understanding of React.js.

Step 1: Run the dev environment

Start by running your Merge Dev environment. Execute npm start at the root, which runs the following script:

uxpin-merge –webpack-config ./webpack.config.js –wrapper ./src/UXPinWrapper/UXPinWrapper.js –uxpin-domain merge.uxpin.cloud

  • –webpack-config: Specifies the webpack config location.
  • –wrapper: Use if your React components need a wrapper, like a theme provider.
  • –uxpin-domain: Points Merge to the correct server.

Step 2: Naming conventions

Maintain identical directory, filename, and component names.

  • Example: ./src/NewComponent/NewComponent.js

Step 3: Export component

Ensure your component has an export default.

  • Example: export default NewComponent;

Step 4: Define props

Use PropTypes or Flow for props definition (Typescript interfaces scheduled for release). They become editable in UXPin’s Properties Panel.

Step 5: JSX preset

Create a JSX preset file within a presets directory inside your component folder.

  • Example: ./src/NewComponent/presets/0-default.jsx

Step 6: Update config

Finally, add the component to uxpin.config.js, located in the root directory.

Step 7: Restarting Merge

After adding new components, restart the Merge process by hitting CMD+C in the terminal. If you get a lifecycle error upon starting a new Merge process, type killall node -9 into the terminal and try again.

How the React Code to Design Works in UXPin

Once you have completed the initial setup, Merge will automatically sync any changes to UXPin’s Design System Libraries. Merge’s Version Control notifies you of the update, and you can choose when to switch to the latest release. Version Control also lets you change to earlier design system versions.

Setting up pages

Unlike traditional design tools using frames and artboards, UXPin uses a pages approach–a more familiar project structure for developers. You can add and manage your project’s pages in the Pages & Layers panel left of the design canvas. You can also view all pages to get an overview of your project file.

UXPin offers many standard page/screen sizes for desktop, TV, mobile (iOS, Windows, Android), tablet, wearables, and more. You can also create a custom viewport.

Designing with React code components

Drag and drop components onto the design canvas to create prototypes. Merge components “snap together” so you can create seamless layouts that look like a coded UI.

You can adjust the UI element’s properties via the Properties Panel and add Interactions for page transitions, animations, and microinteractions. UXPin offers Javascript-like Conditional Interactions with “if-then” and “if-else” conditions to create dynamic prototypes indistinguishable from code.

Any APIs, interactivity, or other properties you program in the repo are available in UXPin, allowing you to generate accurate replicas of the final product.

How to grow your component library with UXPin’s Patterns

With UXPin’s Patterns, you can evolve your design system by combining UI elements without writing code. You can use any Merge libraries imported using the Git or npm integrations–unfortunately, this feature is not available for Storybook.

Once you create a new pattern, you can save it to your Pattern’s library and share it with team members. This feature allows you to prototype and test comprehensively before committing the UI element to code, saving countless hours of fixes and front-end debt.

Patterns also lets you:

  • Save multiple variants of a pattern to optimize prototyping workflows.
  • Design with advanced components–even if they are not in your design library.

Design to code faster

Designing with React components creates a smooth, seamless transition from the design process to development. Simply import the component library to your project and copy the layouts from UXPin. Merge produces production-ready JSX to copy/paste from UXPin’s Spec Mode to your IDE.

Use Case: How Code to Design Simplifies Design for Non-Designers

TeamPassword is a five-person startup with two developers and no designers. The development team switched to React in 2022 and adopted a custom version of MUI. TeamPassword’s engineers use Merge to sync their UI library to UXPin for prototyping and testing.

Merge enables TeamPassword to ship products and features much faster with higher consistency and fewer errors, giving them an edge in the highly competitive security tech market. They have also eliminated drift because they use the same components for design and development.

“Brand is essential in this market. Customers entrust us with sensitive information in their login records. Inconsistencies or an outdated design can cause some customers to question whether we are technologically up-to-date enough to keep that information secure. Front-end development builds trust and confidence in the backend performance.” Tony Caccavo, Director of Operations at TeamPassword

Ditch design to code and switch to UXPin’s code-to-design workflow to prototype and test faster. Visit our Merge page for more details and how to request access.

The post Design to React code – How UXPin Merge Speeds it up appeared first on Studio by UXPin.

]]>
React vs HTML – Can You Spot a Difference? https://www.uxpin.com/studio/blog/react-vs-html/ Thu, 12 Oct 2023 14:58:01 +0000 https://www.uxpin.com/studio/?p=45188 HTML is a markup language while React is a JavaScript library. Both are used in front-end development and you might have heard about them while designing websites or web apps. Without further ado, let’s see what’s the difference between HTML and React. Key takeaways: Create React app design much faster with UXPin. Bring real React

The post React vs HTML – Can You Spot a Difference? appeared first on Studio by UXPin.

]]>
React vs HTML min

HTML is a markup language while React is a JavaScript library. Both are used in front-end development and you might have heard about them while designing websites or web apps. Without further ado, let’s see what’s the difference between HTML and React.

Key takeaways:

  • HTML is a markup language, while React is a JS library.
  • React is component-based, while HTML doesn’t support such a structure by default.
  • HTML can’t manage interactivity or states on its own; React can manage states.
  • HTML websites need full refresh, while React can update only elements that change.
  • React enables one-way data binding, while HTML doesn’t have any data binding by default.
  • HTML typically structures content for static websites. React builds dynamic app UIs.

Create React app design much faster with UXPin. Bring real React components to design and move them around to build an app layout that is 100% interactive. Discover UXPin Merge.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

What is HTML?

HTML (HyperText Markup Language) is the fundamental programming language structure of the web. Every website you visit, whether or not it uses a front-end framework, comprises HTML, CSS, and Javascript.

HTML uses various tags to define elements such as headings, paragraphs, links, and media objects, allowing browsers to interpret and correctly interpret and display the content.

A basic understanding of HTML is vital for anyone involved in web design or development, as it’s the starting point for all websites and many web applications. 

What is React?

React (ReactJS) is an open-source JavaScript library developed by Facebook. Developers initially used React primarily for single-page applications, but it has evolved to support multi-page websites with SEO features.

Unlike HTML, which structures content, React allows developers to create reusable components. Each component in React has its own logic and controls its rendering. This rendering is crucial because it allows a single element to change while the rest of the page remains static and doesn’t have to reload.

For example, when you like a post on social media, only the thumbs-up or heart icons change. If the same page used HTML, CSS, and Javascript, the entire page would have to reload whenever you liked or interacted with content.

React also has many workflow benefits over traditional HTML, CSS, and Javascript code. The ability to break down complex UI into simpler components makes React highly popular among developers for its efficiency and flexibility.

Key Differences Between HTML and React

user bad good review satisfaction opinion

While you can build the same website or web application using either React or HTML, they often work together, with HTML structuring the content and React adding interactivity and a component-based architecture.

Therefore, it’s fair to say that HTML vs. React is a redundant comparison because these are two different front-end technologies with different applications which mostly complement each other.

This comparison examines what would happen if you built a website or web application using HTML or React.

  • Functionality: HTML structures content on the web, while React, a JavaScript library, creates dynamic and interactive user interfaces.
  • Component-based: React employs a component-based architecture. Each component represents a part of the UI and can be reused throughout the application, enhancing development efficiency and consistency. In contrast, HTML doesn’t inherently support a component structure.
  • Interactivity: HTML, on its own, can’t create dynamic content or manage application state. It needs JavaScript or similar languages to add interactivity to a webpage. As a JavaScript library, React creates interactive UIs and effectively manages the application state.
  • Rendering: Traditional HTML-based applications often require a full page refresh to implement view changes. React uses a Virtual DOM (Document Object Model) to update only the components that change, eliminating the need for a full page refresh and offering more efficient, smoother updates.
  • Data Binding: HTML lacks a built-in system for data binding. Changes in the UI, like user input, don’t automatically update the application data. React enables one-way data binding, allowing efficient updates to UI components without affecting underlying data.
  • Use Cases: HTML typically structures content for static websites. React builds dynamic and interactive UIs, making it ideal for complex single-page applications (SPAs) and mobile applications with React Native.

Is it Possible to Spot the Difference Between HTML and React?

It’s difficult to spot the difference between a React vs. an HTML website or web application. No matter what framework (Angular, Vue, etc.) you use, the browser must render HTML, CSS, and Javascript.

testing user behavior prototype interaction

Even websites like BuiltWith cannot be certain about a digital product’s tech stack without the developers explicitly sharing this information or publicizing the project’s repository (i.e., a public GitHub repo).

Deeper Dive into HTML

How HTML works

When a user requests a webpage, the browser fetches the HTML file from a server and interprets it to display the page’s structure and content. HTML uses a set of predefined HTML tags to define content types, such as <p> for paragraphs, <h1> to <h6> for headings, <a> for links, <div>, and <img> for images, to name a few.

HTML structure

HTML uses a tree-like structure, with the <html> tag as the root with the <head> and <body> tags acting as the two main branches.

The <head> tag houses metadata, stylesheets, and scripts for the page’s styling and functionality. The <body> tag contains all the visible content, such as text, images, and links. Within these main branches, other tags, known as child elements, define and structure the content.

Page loading

When a page loads, the browser reads the HTML from top to bottom. It interprets the tags to construct the Document Object Model (DOM), a representation of the page structure.

The browser then displays the content according to the DOM. If the HTML includes links to CSS stylesheets or JavaScript files, the browser fetches and applies these, which can affect how the content looks (CSS) or behaves (JavaScript).

HTML’s structure makes it easy for browsers to interpret and for developers to understand and manipulate. It’s a fundamental building block of the web, providing the foundation upon which styles (CSS) and interactivity (JavaScript or libraries/frameworks like React) are added.

Deeper Dive into React

How React works

React creates a virtual representation of the DOM (the Virtual DOM), which it uses to improve performance.

When a user interacts with the application, instead of updating the entire DOM (which can be slow), React only updates the parts of the Virtual DOM where the state has changed. It then reconciles the Virtual DOM with the actual DOM in the most efficient way possible, updating only the changed parts in the actual DOM. This process is known as “diffing.”

React structure

React organizes code into components, reusable pieces of code that return JSX. These components can be as simple as a button or as complex as an entire page template. 

Components can maintain their own state (data that can change over time), receive data from parent components via props, and pass data to child components. This data flow establishes a clear and predictable coding structure.

Page loading

When a React application loads, it initializes the components and renders the JSX to the actual DOM using the ReactDOM library. During this process, it also sets up event listeners for user interactions.

When a user interacts with the application (e.g., clicks a button), this may trigger state changes in one or more components. React then updates the Virtual DOM to reflect these state changes and efficiently updates the actual DOM to match.

React’s structure and approach to DOM manipulation make it excellent for building complex, interactive web applications that must be fast and responsive. While the learning curve can be steeper than plain HTML, the performance and code organization benefits are substantial.

Why Developers Choose HTML vs. React

testing user behavior pick choose

Why do developers choose HTML?

Even though HTML may seem more straightforward and less powerful than React, it still has a crucial role in web development. Here’s why:

  • Fundamental and universal: HTML is the foundational language of the web. Every browser can interpret HTML, making it universally recognized and supported.
  • Perfect for static content: HTML is a straightforward and efficient choice when building a website with mostly static content.
  • Easy to learn: HTML is one of the easiest languages for beginners. It’s an excellent starting point for anyone interested in web development.
  • SEO friendly: Search engines can easily crawl and understand HTML, making it favorable for SEO.

For example, HTML is perfect for a business that wants a simple website to showcase its products and services. It’s also an excellent option for beginners learning about web development.

Why do developers choose React?

React offers several features that make it a preferred choice for many developers:

  • Component-based architecture: React’s component-based approach promotes reusability and consistency across the application, making development more efficient.
  • Efficient updates: React uses a Virtual DOM to only update parts of the page that need to change, making it highly performant, especially for complex applications.
  • Advanced JavaScript: React utilizes advanced JavaScript features and concepts, giving React developers more power and flexibility.
  • Strong community and ecosystem: React has a large and active community, which means plenty of resources for learning and troubleshooting, as well as a rich ecosystem of libraries and tools.

For example, Facebook, Instagram, and WhatsApp use React for their complex, highly interactive UIs. Startups and tech companies also favor React for its efficiency, scalability, and productivity. Organizations also use React to build design systems due to the component-based nature of the front-end library.

HTML or React: which one should you choose?

Choosing between HTML and React depends on your project’s needs:

  • For static websites: HTML is often the preferred choice for building a simple, mostly static website.
  • For dynamic, complex applications: React is a far better option to HTML for building complex, highly interactive web applications.

HTML vs. React Impact on User Experience

designops picking tools care

Performance

HTML-based websites generally load quickly due to their static nature. However, they might be slower to navigate if each user interaction requires a new page to load.

Conversely, React’s ability to update only the components that change leads to smoother and faster interactions, providing a more fluid experience for users, especially in complex applications.

Interactivity

HTML alone isn’t capable of creating dynamic, interactive user experiences. It requires JavaScript or similar languages to add interactive elements. 

Being a JavaScript library, React excels at building dynamic and interactive UIs that can respond instantaneously to user input. This interactivity can lead to a more engaging, app-like user experience.

Consistency

With React’s component-based architecture, developers can ensure consistent implementation of UI elements across an application. 

This uniformity promotes a consistent look and feel, which is critical to a good user experience. With HTML, this would require careful manual coding to ensure consistency.

Progressive Web Apps (PWAs)

Developers often use React for building Progressive Web Apps (PWAs). PWAs can offer app-like experiences on the web, including offline functionality, which can significantly enhance user experience. While you can develop PWAs using HTML, CSS, and JavaScript, the process is more complex and time-consuming.

SEO and initial load time

HTML is straightforward for search engines to crawl and index, which can lead to better SEO. Also, an HTML page can start rendering immediately after the initial HTML file is loaded. 

In contrast, a React application generally needs to load the entire JavaScript bundle before it can start rendering. This rendering can lead to longer initial load times, impacting the user experience and SEO. However, techniques like Server-Side Rendering (SSR) and Next.js can help address these issues in React applications.

Building Interactive Prototypes in UXPin With Merge

UXPin’s Merge technology enables product teams to import UI components from a repository to build fully functioning interactive prototypes in UXPin’s design canvas. 

Design teams use the same UI elements for prototyping as engineers use to develop the final product, creating a single source of truth between design and development.

With Merge, designers don’t have to learn React to create React applications. They simply drag and drop components to build interactive prototypes. These advanced prototypes enhance testing, giving design teams meaningful, actionable results to iterate and refine.

Ready to join the code-to-design revolution? Visit our Merge page for more details and how to request access.

The post React vs HTML – Can You Spot a Difference? appeared first on Studio by UXPin.

]]>
Code or Design – Which is a Better Source of Truth? https://www.uxpin.com/studio/blog/bringing-design-and-code-together/ Thu, 05 Oct 2023 14:18:03 +0000 https://www.uxpin.com/studio/?p=49142 The global design system’s community, Into Design Systems, hosted a webinar in July 2023 where guest speaker Marcel Bertram talked about “Systematic Design With Code.” Marcel made some interesting comparisons about designing using vector-based vs. code-based design tools and how organizations can use the latter to create a single source of truth. Into Design Systems

The post Code or Design – Which is a Better Source of Truth? appeared first on Studio by UXPin.

]]>
Code or Design

The global design system’s community, Into Design Systems, hosted a webinar in July 2023 where guest speaker Marcel Bertram talked about “Systematic Design With Code.” Marcel made some interesting comparisons about designing using vector-based vs. code-based design tools and how organizations can use the latter to create a single source of truth.

Into Design Systems is a virtual design systems conference for the global Design and DesignOps community, including designers, developers, Design Leads, design managers, DesignOps practitioners, and many others. The community-driven initiative shares knowledge to help evolve the industry and its members.

Marcel Bertram is a Brand Design Specialist leading the Design System team at a global automobile manufacturer. He is also the Co-Founder & UX Coach at MUDX.design, a consultancy for UX Design Operations.

This article is based on Marcel’s Into Design Systems live titled “The Power of Design, Code & Ai in Design Systems.” We have summarized Marcel’s talk into its key points, but you can watch the entire 3-hour webinar here.

Key takaways:

  • Vector-based design tools arose from a need to provide scalability and clarity across different resolutions in the digital landscape.
  • The release of UXPin’s Merge technology in 2019 marked a significant shift in design paradigms, blending code components directly into the design process for a unified UI library.
  • Recognizing code as the “source of truth” ensures consistency, efficiency, and a holistic understanding of application mechanics across design and development teams.
  • German-based software agency dotSource utilized UXPin Merge to bridge the gap between design and development, synchronizing code, design, and documentation.
  • UXPin’s Merge technology advances modern prototyping, enabling designers to test realistic user interactions and gain accurate insights during the design process.

Use coded components as a single source of truth between designers and developers. Bridge the gap in the process and release products faster. Learn more about it. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Why Are There Vector-Based Design Tools?

In the early days of digital design, there was a pressing need to replicate the precision of physical art. Instead of constructing images from tiny dots, as pixel-based methods do, vectors use mathematical equations to shape graphics. As a result, these images stay sharp and scalable, no matter how you adjust their size.

Traditional graphic design laid the groundwork for vector tools. The industry adopted tools like Adobe Illustrator because they consistently delivered crisp visuals across platforms and resolutions. As the need for adaptable designs surged with the rise of websites, applications, and digital ads, designers naturally gravitated toward vector-based tools. Their choice wasn’t just aesthetic–it addressed the practical demands of the digital landscape.

The code-based revolution

While vector-based tools have helped get us to where we are today, they haven’t evolved to bridge the gap between design and development–until the release of UXPin’s Merge technology in 2019

Merge’s code-based approach brings code components into the design process, so designers can use the same UI library for prototyping as engineers to develop the final product.

Vector-Based vs. Coded Design Systems

Digital product design is slowly shifting from traditional vector-based systems to the innovative code-based approach. The integration of code in the design process has changed how developers and designers collaborate, streamlining the entire product development process. 

Let’s explore this evolution and understand its implications on design systems and prototyping.

Understanding vector-based systems

What are they?

  • These are tools that use mathematical equations to represent images in computer graphics. Popular examples include Figma and Adobe Illustrator.

Advantages:

  • Suitable for static prototyping and visual designs.
  • Intuitive for designers to visualize, draft, and make rapid alterations.

Limitations:

  • Lacks the dynamism of real-life applications.
  • Can’t always accurately emulate user interactions, transitions, or advanced component behaviors.
  • Doesn’t represent the intricacies and possibilities of code.

Understanding coded design systems

What are they?:

  • Design tools that use actual coded components on the design canvas, like UXPin.

Advantages:

Limitations:

  • Only the design system team can implement changes–which is good for governance.

Code as the Source of Truth

The final digital product is based in code. Developers work with code. The design team uses a vector-based tool, creating a gap between them and the final product. Therefore, recognizing code as the central reference point or the “source of truth” is pivotal.

This philosophy ensures:

  1. Consistency and cohesion: Ensuring that designers and developers draw components from the same repository ensures uniformity across the board.
  2. Efficiency: With everyone referencing the same library and documentation, there’s less room for miscommunication or discrepancies.
  3. In-depth understanding: Encourages designers to understand the core mechanics of how applications function, fostering a more holistic design approach.

A Single Source of Truth with UXPin Merge – dotSource’s Case Study

uxpin merge component sync 1

Before switching to UXPin Merge, German-based software development agency dotSource had a problem:

Promoting new patterns and components to a design system involves many redundant processes. Most design system releases require updating in at least three places:

  1. The design system’s codebase (component library)
  2. The design team’s UI kit (design tool)
  3. The design system’s documentation

“Instead of a ‘single source of truth’ that gives ‘three single sources of truth’ for every UI component–this seems counterintuitive and increases errors. If the design system’s update process and technologies don’t align, the team ends up with redundant work because a single change requires three updates.”

dotSource found the only solution to this problem was to implement a code-based design process, creating a true single source of truth between design and development.

The company uses Merge technology to import a product’s design system into UXPin so designers can prototype using code components.

“We use UXPin’s Storybook integration, which allows designers to use our design system’s Storybook components in UXPin’s design editor. The result: a perfect synchronization of code, design, and documentation, making it possible for:

  • Designers to participate in QA and help developers identify bugs
  • Close collaboration between designers and engineers
  • Better testing and faster iterations with high-fidelity interactive components (component-driven prototyping)”

Modern Prototyping – Static vs. Interactive

code developer design 3

Static prototyping

Using vector-based tools like Figma works well when the objective is to gauge comprehension or aesthetics. It provides a static visual representation without intricate interactive layers.

Designers typically move from a vector-based tool to a prototyping tool, which adds costs and operational burdens, and they still don’t achieve results comparable to code.

Interactive prototyping

Code-based design tools increase prototyping scope for more comprehensive functionality and user journey tests. Tools like UXPin can emulate real interactions, toggle functionalities, input field behaviors, and more, offering a realistic user experience.

UXPin’s Merge technology goes beyond what you can see into how a prototype feels in a real-world scenario. Design teams can use insights from testing to iterate and improve with greater accuracy. Designers enhance usability and can identify more business opportunities during the design process, increasing their value to the organization.

Transitioning to a Code-Based Design Workflow

prototyping elements components

The world of digital design is vast and ever-evolving. While vector-based tools serve their purpose in initial design phases, embracing the advantages of coded design system systems is the way forward. This integrated approach reduces inefficiencies and miscommunications while ensuring a more authentic user experience during testing.

As designers and developers continue to collaborate, it’s crucial to remember that our ultimate goal is to craft user-centric, efficient, and aesthetically pleasing applications. Understanding and utilizing the right tools is a significant step in that direction.

Increasing design system maturity with UXPin Merge

UXPin’s Merge technology currently leads the code-based design revolution with tools and features that meet the needs of modern product development teams.

It can take years for organizations to reach full design system maturity–a fully integrated system with designers and developers using the same UI library and documentation. Most never get there, maintaining multiple sources of truth like our friends at dotSource.

UXPin Merge is the bridge to that gap. Organizations can create a fully integrated design system from the start, circumventing many years of wasted resources.

With UXPin Merge, you can:

Ready to join the code-based revolution? Visit our Merge page to learn how to create a single source of truth for your design system and develop better product experiences for your users.

The post Code or Design – Which is a Better Source of Truth? appeared first on Studio by UXPin.

]]>
Figma Component Library vs UXPin Component Library – Which is Better? https://www.uxpin.com/studio/blog/figma-component-library-alternative/ Thu, 21 Sep 2023 09:19:28 +0000 https://www.uxpin.com/studio/?p=50196 Figma Component Libraries are a great way to create and share reusable UI elements with team members. Designers can use Figma components to build user interfaces and prototypes, and they help to maintain consistency across projects.  However, Figma Component Libraries have some limitations, such as the inability to create interactive prototypes. UXPin Merge is a

The post Figma Component Library vs UXPin Component Library – Which is Better? appeared first on Studio by UXPin.

]]>
figma component library

Figma Component Libraries are a great way to create and share reusable UI elements with team members. Designers can use Figma components to build user interfaces and prototypes, and they help to maintain consistency across projects. 

However, Figma Component Libraries have some limitations, such as the inability to create interactive prototypes. UXPin Merge is a better alternative to Figma Component Libraries, as it allows you to create fully interactive prototypes that look and feel like the final product.

Key takeaways:

  • Figma Component Libraries are a great way to create and share reusable UI elements.
  • UXPin Merge is a better alternative to Figma Component Libraries, allowing you to create fully interactive prototypes.
  • Figma Component Libraries have limitations, such as the inability to create interactive prototypes.
  • Merge imports UI components into the design process from a repository, creating a single source of truth between design and development.
  • Merge lets you create fully interactive prototypes using code components in the design process to improve testing.

Switch from basic prototyping in Figma to advanced prototyping in UXPin. End the screen spaghetti now. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is a Figma Component Library?

A Figma component library lets you create and share Figma Components and Styles with team members by publishing the file. Team members can access this shared file and use the components and styles as a design system.

Your design team can change these components and styles and push them to the library. You can create permissions, so only authorized team members can modify the component library.

What are Figma Components and Component Instances?

A Figma Component is a single reusable UI element that forms part of a component library. According to Figma’s documentation, you can save many things to the Component Library, including:

You can view these master components in your primary component file or under the assets tab in the left sidebar. 

Component Instances are copies of the library component used to create user interfaces and prototypes. For example, you might have an app bar component in your library that appears on 20 screens. Those 20 app bars are instances of the library component. 

Whenever you update the library component, all its instances will change, too. Figma will notify designers whenever a component is updated, and they can choose when to accept the latest version.

What are Figma Styles?

Styles allow you to maintain consistency across teams and projects so everyone uses the same properties and values.

Figma lets you save reusable style properties, like colors, typography, sizing, spacing, border radius, etc. The equivalent of variables in CSS. Instead of entering a HEX code or font size value, you choose a predefined style–i.e., Primary Blue or Headline 1.

How do I Find the Component Library in Figma?

There are a couple of ways to locate your Figma component library:

  1. If you’re working inside the design library file, right-click on the component and select Go to main component. You can also click the Figma Component icon in the right sidebar next to the component’s name. 
  2. If you don’t have access to the main file, you won’t be able to access the Figma component library, but you can view all the components under the Assets tab in the left sidebar.

How do I use Components From the Figma Component Library?

  1. Click the Assets tab in the left sidebar.
  2. Search for an asset using the search field or select a library from the dropdown below.
  3. Click or drag a component from the Assets tab onto the canvas.
  4. Adjust the component’s properties and variants under the Design tab in the left sidebar.

You can redesign components by detaching any instance. Any edits you make to a detached instance won’t impact its former component or instances. Once you complete the changes, you can save this as a new component, which will appear in your Assets folder.

What are the Limitations and Challenges of Figma’s Component Library?

While Figma’s component library makes it easy to reuse and share UI elements, there are some limitations to what you can do with them:

  1. Figma components create aesthetically pleasing UI designs but lack the functionality to build interactive prototypes, limiting the scope of what designers can achieve.
  2. Design teams require additional tools and plugins to make Figma components more interactive, increasing costs and workflow complexity.
  3. Components help design teams build user interfaces and basic prototypes in Figma, but they’re not developer-friendly and might misalign with code UI components.
  4. Detaching instances is convenient for creating new components but means design teams can edit and manipulate UI elements without authorization.
  5. If you’re using Figma’s Component Library for a design system, the DS team must maintain two versions–one for Figma and the other in code.

Do you want to stay static or get better results with interactive prototyping? Enter Merge–the world’s most advanced UX design technology.

UXPin Merge – The Best Alternative to Figma Libraries

UXPin’s Merge technology imports UI components into the design process from a repository (Github, Bitbucket, GitLab, etc.). Design teams can use these fully interactive code components to build prototypes that look and feel like the final product.

Built-in styling and interactivity

Merge components have properties like styling and interactivity “baked-in,” so design teams never worry about entering the correct values or copying animations from a code component library. 

The design system team uses React props or Storybook Args to define these properties, which appear in UXPin’s Properties Panel. For example, a button’s states, text styles, colors, sizes, icons, and interactions are available for designers to select via dropdowns. 

Merge eliminates design drift and prevents unauthorized modifications to UI elements. Designers cannot detach Merge components and modify them. Only the design system team can change code components in the repository that syncs to UXPin and notify designers of the update.

A single source of truth

Many design tools claim to offer a single source of truth. But the reality is these image-based solutions require updating in multiple areas, including design tools, prototyping tools, documentation, and the code UI library.

As German-based software development agency dotSouce points out: 

“Promoting new patterns and components to a design system is chaotic, with many redundant processes. Most design system releases require updating in at least three places: the design system’s codebase (component library), the design team’s UI kit (design tool), and the design system’s documentation. Instead of a “single source of truth” that gives “three single sources of truth” for every UI component–this seems counterintuitive and increases errors.”

With Merge, the entire product development team–UX designers, product teams, and engineers–pull components from the same repository. Any changes to the repo automatically sync to UXPin, notifying designers of the update–a real single source of truth.

Instead of updating a UI kit, code components, and relevant documentation, the design system team pushes one release to everyone simultaneously.

How to use a Merge Component Library in UXPin

Once the design system team completes the setup, the component library is available in UXPin. Here’s a step-by-step tutorial on how to use a Merge component library:

Step 1. Open Design System Libraries

All your design systems will appear under Design System Libraries in UXPin’s left sidebar. 

There are two categories:

Step 2. Select your design system

Select the design system you want to work with, and UXPin will open the component library in the left sidebar. 

Above the library, you have a Components and Patterns tab (more on Patterns shortly…). Components contain your component library, and a dropdown displays the available categories–i.e., buttons, switches, cards, icons, etc.

Step 3. Using the component library

Click a component to add it to the canvas.

View the component’s properties and make adjustments via the right-hand Properties Panel.

Repeat this process to build user interfaces and prototypes.

Step 4. How to use UXPin’s Patterns

Patterns allow you to create new components and templates by combining multiple UI elements from a design system. You can use components from more than one component library to test new patterns before promoting them to the design system.

Patterns are also helpful in creating multiple states or variants of a component. For example, you may want a light and dark mode version for a user interface, but your design system only has the light variant. You can create this dark mode variant in UXPin, save it to Patterns, and even share it with team members.

Step 5. Prototyping and testing using interactive components

You have two options for testing prototypes in UXPin:

Merge prototypes enable design teams to create complex prototypes using the same components engineers use for development. Stakeholders and users can interact with Merge prototypes like they would the final product, giving design teams meaningful feedback to iterate and improve. 

Using high-quality interactive prototypes means designers can solve more usability issues and identify better business opportunities during the design process.

Step 6. Design handoff

The transition from design to development is seamless with Merge because developers and engineers use the same UI library. UXPin generates production-ready JSX so developers can copy/paste the code to their IDE for development.

Bridge the gap between design and development with the world’s most advanced product design tool. Visit our Merge page for details on how to get started.

The post Figma Component Library vs UXPin Component Library – Which is Better? appeared first on Studio by UXPin.

]]>
Is MUI for Figma the Best Solution for Designers? [+ Alternative Inside] https://www.uxpin.com/studio/blog/figma-mui-and-alternatives/ Wed, 20 Sep 2023 12:45:36 +0000 https://www.uxpin.com/studio/?p=50186 MUI (Material-UI) is a widely-used React UI framework built on Google’s Material Design principles, empowering organizations with customizable components and styles to align with brand standards.  This article delves deep into its MUI for Figma’s capabilities and limitations. We also explore the alternative approach of integrating MUI with UXPin’s Merge technology, including a real-world example

The post Is MUI for Figma the Best Solution for Designers? [+ Alternative Inside] appeared first on Studio by UXPin.

]]>
figma mui

MUI (Material-UI) is a widely-used React UI framework built on Google’s Material Design principles, empowering organizations with customizable components and styles to align with brand standards. 

This article delves deep into its MUI for Figma’s capabilities and limitations. We also explore the alternative approach of integrating MUI with UXPin’s Merge technology, including a real-world example of how a startup redesigned its product using MUI React components in the design process.

Key takeaways:

  • MUI (Material-UI) is a React UI framework based on Google’s Material Design, allowing customization to match brand guidelines.
  • While MUI for Figma provides a design kit, it lacks the interactive features of MUI’s React library, potentially leading to design inconsistencies.
  • It also can lead to performance issues due to its size and dependency on plugins like Token Studio.
  • UXPin’s Merge technology offers an alternative, allowing designers to prototype using actual React components, bridging the gap between design and development.
  • TeamPassword successfully utilized UXPin Merge with MUI to enhance its product development workflow, demonstrating the efficiency of a code-to-design approach.

Prototype and testing using MUI’s React library within the familiarity of a design tool using UXPin’s Merge technology. Visit our Merge page for more details and how to request access.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is MUI?

mui uxpin merge

MUI (Material-UI) is a popular React UI framework that provides a set of components and styles based on Google’s Material Design. Organizations can use MUI’s theming features to customize the UI library to meet product and brand specifications.

Why would you use MUI?

MUI gives organizations a comprehensive design system to build products without designing from scratch. The product team can create a custom design system by making a few tweaks and adjustments, potentially saving years of R&D.

MUI is also useful for developing new products. A product team or startup can use the Material UI library without making any theme changes to build an MVP for testing. Utilizing the design system enables the team to design products quickly, with a comprehensive library optimized for user experience and accessibility.

How Much Does MUI for Figma Cost?

There is a free community MUI for Figma library, but it offers limited components and no support. If you want the entire UI library, you must purchase an MUI for Figma license on MUI’s website. As of August 2023, a license for one editor is $79. If you have a large team, this can add up quickly, and you must update the license annually.

MUI’s official documentation states, “The number of licenses purchased must correspond to the maximum number of editors working concurrently in a 24-hour period. An editor is somebody contributing changes to the designed screens that use the UI kits. No licenses are required for viewing the designs.”

You can avoid these extra fees and prototype using fully functioning MUI React components in UXPin. MUI is one of UXPin’s built-in design libraries, which comes standard with all Merge plans. Read more about designing with MUI in UXPin using Merge technology.

How do You Integrate Material UI in Figma?

You can open the file from the community page to use the free Figma MUI library. Click the Open in Figma button to start using MUI in a new project.

If you are using the full library, you’ll need to follow these instructions.

How to Import MUI for Figma

  • Navigate to your drafts or organization in Figma.
  • Click on the “Import” button to import the MUI file.

How to use MUI in Figma

There are two methods for working with the MUI library in Figma:

Design directly in the MUI file: This method is fine for the free version, but MUI doesn’t recommend this for the full library due to the file’s size.

Use the MUI file as a library: This is the preferred method for using MUI in Figma. To do this:

  • Go to the assets panel in Figma.
  • Click on the library icon.
  • Publish the MUI file as a library.

How to customize the MUI library in Figma

There are two ways to customize the colors in the MUI library:

  1. Token Studio Plugin: This method is faster and allows for composition, meaning you can use one color to generate another.
  2. Figma’s Native Tokens: If you prefer not to use third-party plugins, you can utilize Figma’s native tokens to make color changes.

How to change global settings with Token Studio

The Token Studio plugin lets you quickly change global settings across all components, such as border-radius or font family. For example:

  • To change the global border radius, open the plugin, navigate to the “Border radius” group, and edit the value.
  • To change the font family, navigate to the “Typography” group in the plugin and adjust the font settings.

How do you enable Figma MUI Dark Mode?

To enable dark mode for the entire MUI library using Token Studio:

  • Open the Token Studio plugin.
  • Check the box for the group you want to enable (e.g., “Dark Mode”).
  • Optionally, change Figma’s color mode to dark mode to see the changes.

What are the Challenges and Limitations of Figma MUI?

MUI’s Figma library is excellent for UI design and static prototypes but lacks interactivity for accurate testing. Here are some key challenges designers experience when using Figma’s MUI library.

MUI for Figma is a UI design kit–not an interactive design system

While the Figma MUI library will save you many hours of designing from scratch, it doesn’t provide MUI’s interactions. Designers must still set these up in Figma for every project.

Creating interactivity for Figma components will never align with MUI’s React library devs use. The components will look similar, but designers must follow MUI’s documentation closely to ensure they implement the correct actions, states, and animations.

Editable components

The design system team can manage MUI components from the main library file to prevent unauthorized changes; however, designers can detach instances and adjust UI elements, resulting in design drift and inconsistencies.

Dependency on plugins

MUI for Figma requires plugins like Token Studio to function correctly. Plugins can introduce another layer of complexity and potential compatibility issues, and Token Studio is a premium feature, adding to monthly costs.

In a “Getting Started” tutorial, MUI notes there may be syncing issues between the Token Studio plugin and Figma’s native tokens, potentially leading to inconsistencies if not managed properly.

Performance issues

Due to MUI’s large Figma file size, design teams might experience performance issues, especially when working directly inside the library file.

What is the Alternative to Using MUI in Figma?

A better way of designing with the MUI library is to use UXPin’s Merge technology to build prototypes using React components inside the design editor. 

There are two ways you can use MUI in UXPin:

  • Using the built-in MUI library
  • Connecting your custom MUI library

How to use UXPin’s built-in MUI library

UXPin offers several built-in Merge libraries, including MUI, Fluent UI, Ant Design, MUI, Material UI, or UXPin Boilerplate. These are all React libraries featuring interactive components from a GitHub repository. 

The benefit of using UXPin’s MUI library is that styling and interactivity are “baked in” to each component, so designers never have to set these up. They also can’t detach components from a master instance and make changes, meaning they must use the design system as defined in the repository.

They simply drag UI elements from the Design Libraries sidebar onto the canvas and adjust redefined React props via the Properties Panel.

These built-in libraries are excellent for prototyping because designers only have to focus on building user interfaces and adjusting predefined MUI properties–i.e., styling, variants, states, navigation, etc.

If you want to use a custom MUI design system with your brand colors and styling, it’s better to use one of Merge’s other integrations.

How to sync a custom MUI library to UXPin

UXPin’s Merge technology allows you to import any design system, including a themed MUI library, via two integrations:

These two integrations require technical input to set up, but once complete, Merge will automatically sync updates to UXPin, so designers and engineers always use the same component library–creating a single source of truth across the organization.

How to use MUI components in UXPin

Whether you use UXPin’s built-in library or a custom MUI design system, the workflow is the same. You can find the library under Design System Libraries to the left of the canvas.

Select the Merge design system, and the library’s components, colors, typography, and assets appear in the left sidebar. Click or drag UI elements onto the canvas to build user interfaces.

“UXPin Merge enabled us to perform this “snap-together” type design. We provide product teams with components they can drag and drop to build user interfaces.”Erica Rider, Product, UX, and DesignOps thought leader.

Merge makes design more accessible to non-designers

Design tools are challenging for non-designers. There’s a learning curve that many developers don’t have the time to master. They typically revert to what’s familiar, writing code.

While code prototypes are excellent for testing, they’re time-consuming and costly. Developers end up releasing products and features with usability issues and other inconsistencies.

How TeamPassword Used Merge and MUI to Redesign and Scale fast

Security startup TeamPassword experienced this challenge before switching to UXPin. The two-person developer team didn’t have any design skills, and to move fast pushed updates with minimal testing. They also used an outdated tech stack but, with limited resources, couldn’t simply rebuild the product from scratch.

TeamPassword doesn’t have a UX designer, so the engineers must design, prototype, test, program, QA, and ship everything themselves.

The startup decided to switch to MUI and React for the product’s redesign. They wanted a solution to prototype and test using React components without writing or editing code every time. Without any design skills, they needed a tool that provided a simple design workflow.

UXPin’s Merge technology stood out as the obvious choice. TeamPassword’s developers synced their custom React MUI library, including product-specific patterns, templates, and user interfaces, to UXPin using the Git Integration so they could test new products using interactive prototypes.

Using Merge and MUI revolutionized TeamPasswords product development workflow, making the two-person developer team highly effective and efficient from design to final product.

Why Code to Design is Better for Prototyping With MUI

Figma design systems are great for UI design and basic prototyping, but designers must rely on external tools and plugins to build interactive prototypes for accurate testing. This outdated design-to-code workflow is time-consuming, costly, and inefficient.

UXPin’s code-to-design workflow brings MUI’s React components into the design process, offering many benefits for product teams:

  • Bridging the gap between design and development with a single source of truth defined by code.
  • Seamless handoffs with less documentation and explanation.
  • Defining properties in the design system repository eliminates drift and inconsistencies.
  • No designing or programming from scratch results in faster time to market, making organizations more competitive.
  • Centralized design system management requires fewer resources and removes many operational burdens, making Ops teams more effective.

Ready to build your first interactive prototype with Merge technology? Visit our Merge page for more details and how to request access.

The post Is MUI for Figma the Best Solution for Designers? [+ Alternative Inside] appeared first on Studio by UXPin.

]]>
Figma to React — Best Plugins and Alternatives https://www.uxpin.com/studio/blog/figma-to-react-plugins-and-alternatives/ Mon, 04 Sep 2023 14:29:07 +0000 https://www.uxpin.com/studio/?p=49914 The transition from design to code is a challenge for many product teams. Figma is the cornerstone of many design processes, but translating its visual elements into interactive React components is a complex and often tense task for designers and developers. Let’s explore the Figma-to-React conversion process, evaluate top plugins, and unveil an alternative to

The post Figma to React — Best Plugins and Alternatives appeared first on Studio by UXPin.

]]>
Figma to React min

The transition from design to code is a challenge for many product teams. Figma is the cornerstone of many design processes, but translating its visual elements into interactive React components is a complex and often tense task for designers and developers.

Let’s explore the Figma-to-React conversion process, evaluate top plugins, and unveil an alternative to revolutionize your product development workflow.

Key takeaways:

  1. Transitioning from Figma designs to React code requires multiple painstaking steps.
  2. Figma and React present many challenges in direct code conversion.
  3. Figma-to-React plugins typically need refining before getting to production-ready design.
  4. Despite the allure of plugins, developers sometimes find manual coding quicker.
  5. UXPin’s code-to-design approach offers a promising alternative with its Merge technology.

Have you considered using code components in the design process to eliminate the time-consuming design-to-code workflow? Create a single source of truth between design and development with UXPin’s Merge technology. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

How Do You Convert Figma to React?

Every product team wishes they could transition from design to code with the press of a button. Unfortunately, going from Figma to React is a meticulous process that demands precision and coordination between design and development.

A typical Figma-to-React workflow looks something like this:

  1. Design Phase in Figma: Designers user interfaces, focusing on aesthetics, user experience, and interactivity.
  2. Layer Optimization: Before the transition, designers ensure each layer in Figma is aptly named and organized. This clarity aids the eventual conversion process.
  3. Design Handoff: Designers share the Figma file and documentation with developers, highlighting key interactive elements and specific design nuances.
  4. Manual Code Conversion: Developers start the time-consuming task of translating Figma designs into React components. To ensure fidelity, they reference design properties from Figma, such as dimensions, colors, and fonts.
  5. Integrating Interactivity: Beyond static components, developers implement interactivity like button clicks, hover effects, and transitions, often necessitating iterative feedback with designers.
  6. Testing and Iteration: Once coded, the design undergoes rigorous QA testing. This UX audit ensures that the React components mirror the Figma design in look and behavior.

The challenge? Designs in Figma are image-based representations. React, on the other hand, is interactive by default. Converting visual designs directly to code isn’t straightforward because design tools handle layouts, spacing, and interactivity differently than coding frameworks

While Figma might show a button with a specific style and hover effect, translating this into functional React code requires manual interpretation. This complex process often results in friction between designers and developers because they speak different languages and work within different constraints.

Is it Possible to Convert Figma to React using Plugins?

You can convert Figma designs into React code, but there are limitations and challenges. Firstly, most plugins use a specific structure and syntax that might not align with your product or developer’s best practices.

React code from plugins is what developers call “starter code.” Starter code isn’t production ready and almost always requires tweaking and refining to make it functional. If you don’t structure your layers or nest components correctly, the plugin might not produce the correct output.

So, if you expect to produce a React app using Figma plugins, you will be very disappointed. Figma-to-React plugins require technical expertise to turn the code into a functional end product. In some instances, devs may prefer to program the React components from scratch as it’s quicker than fixing plugin code.

What are the Alternatives to Using a Figma-to-React Plugin?

Figma-to-React (or any code, for that matter) follows the traditional design-to-code workflow. While this workflow is familiar, it still leaves a significant gap between design and development. Even with plugins and the latest AI tools, converting design files to code never turns out as expected, but there is a better way.

Enter UXPin’s code-to-design approach to digital product development. Instead of converting design files into code, designers import code components into the design process using Merge technology. Designers never see or write code; instead, they use visual elements like building blocks to build user interfaces.

Merge components come from a repository engineers use to develop the final product, effectively bridging the gap between design and development. Design handoffs are seamless because devs already have the same React components designers use during the design process.

Which Plugins Export Figma to React?

We’ve explored the four best Figma-to-React plugins, evaluating their features, pros, and cons. Make sure you check out our alternative to Figma plugins at the end of this article.

1. Anima

Anima is Figma’s most popular code exporter, used by almost 600k people. The plugin streamlines the design-to-development process by allowing users to convert Figma designs into interactive HTML, CSS, React, or Vue code. 

Designers can build prototypes with features such as live text inputs, animations, and Google Maps while sharing these prototypes through live URLs for feedback and user testing. Ensuring design consistency, Anima’s CLI syncs with Figma in real-time, translating various code components into Figma elements. The platform produces developer-friendly, reusable code with automatic flex-box layouts and no dependencies, optimizing design and engineering efforts.

Features and Capabilities:

  • Allows designers to create responsive and interactive designs directly in Figma.
  • Exports Figma designs into React code designers can handoff to developers.
  • Offers advanced interactions, such as hover, click, and scroll events, without writing code.

Pros:

  • Facilitates the creation of prototypes that feel real.
  • Exports code, reducing the handoff gap.
  • Integrates seamlessly with Figma.

Cons:

  • The exported code might need optimization for complex projects.
  • Some learning curve for designers unfamiliar with interactive design principles.

2. Locofy

Locofy is another popular Figma to React plugin. The plugin converts Figma designs to front-end code, supporting React, React Native, HTML/CSS, Next.js, Gatsby, and Vue. Using the Locofy plugin, designers can optimize their designs with Figma best practices, tag interactive layers, integrate with various UI libraries, and even drag and drop pre-built components. 

The Locofy Builder writes starter code, saving developers time, and includes features like creating reusable components, customizing code preferences, and exporting or syncing directly with platforms like GitHub. Users can also deploy projects directly with Netlify, Vercel, or GitHub Pages.

Features and Capabilities:

  • Converts Figma designs to functional React components.
  • Maintains design properties, including colors, typography, and spacings.
  • Supports CSS-in-JS libraries, such as Styled Components.

Pros:

  • Intuitive interface; minimal learning required.
  • Streamlines developer handoff with clean, organized code output.
  • Direct integration with Figma simplifies design-to-code workflow.

Cons:

  • Doesn’t support advanced animations or transitions.
  • May not handle intricate design nuances effectively, requiring manual refinements.

3. QuestAI

QuestAI offers a simple solution to transform Figma designs into ReactJS components using AI, ensuring pixel-perfect and responsive results. The platform supports Figma features like responsiveness and auto layout, integrates with MUI or Chakra UI component libraries, and allows designers to set up properties and triggers without manual coding. 

With QuestAI, users can export clean code, clearly distinguish between design and business logic, and use natural language prompts to write functionalities. The plugin supports exports in both Javascript and Typescript.

Features and Capabilities:

  • Provides a simple right-click option in Figma to generate React components.
  • Maintains vector graphics, ensuring scalable React components.
  • Offers support for TypeScript.

Pros:

  • Simplifies the conversion process with its no-frills approach.
  • Maintains a high level of design fidelity during conversion.
  • TypeScript support aligns with modern development best practices.

Cons:

  • Lacks advanced interactivity features; more suitable for static components.
  • Users might need external tools or manual intervention for complex designs.

FigAct

FigAct converts Figma designs into responsive ReactJS source code, achieving a self-proclaimed 80% to 90% accuracy rate. The plugin translates design components to code components, supports React Router for frame navigations, and implements React Hooks for state management. 

Automated features include asset management, where images, fonts, and SOLID fills are integrated seamlessly. FigAct offers Airtable integration for dynamic data visualization, allowing designs to dynamically showcase data from APIs or Airtable databases.

Features and Capabilities:

  • Installation of the plugin leads to the generation of a complete ReactJS project structure zipped for user download.
  • React Router integrates Figma’s navigate-to interactions, enabling frame navigation similar to Figma’s experience.
  • Airtable integration provides dynamic visualization of data.

Pros:

  • Streamlines asset management, including automated image downloads and font integration from Google Fonts.
  • Enables interactive frame navigation using React Router based on Figma interactions.
  • Supports state management using React Hooks and offers feature-rich component generation, including recyclable components.

Cons:

  • Adhering to guidelines is essential for accurate code generation.
  • Only a subset of CSS properties are fully supported.
  • Limited to onClick action for page navigation.
  • Unsupported media types include audio and video.

Try UXPin Merge for designing with React code components

Depending on your needs and circumstances, you have a few options to set up Merge. There are two integrations for importing a complete design system–either yours or an open-source library:

These two integrations require technical assistance and expertise to set up with the help of UXPin’s onboarding team. Merge’s npm integration allows designers to import and manage components without technical assistance via the Merge Component Manager. Designers can bypass any setup and use UXPin’s built-in Merge libraries, including MUI, Ant Design, Fluent UI, and Material UI.

Building interactive prototypes

Whether you import UI components via Merge or use one of UXPin’s built-in libraries, it’s a matter of drag and drop to build interactive prototypes. Each component’s props (or Args from Storybook) appear in UXPin’s Properties Panel so that designers can change properties, states, interactions, and other features.

Enhanced testing

Prototyping with code components gives participants and stakeholders an immersive, realistic user experience. 

“It’s been so helpful for us to have these high-fidelity prototypes built with UXPin. We build high-fidelity prototypes much quicker and get immediate feedback after the session. If there’s something we can fix immediately, we make that change before the next participant and get feedback much faster than before.” Erica Rider, Product, UX, and DesignOps thought leader.

Are you still using an outdated, cumbersome design to code workflow? 

Switch to UXPin and use Merge technology to bridge the gap between design and development. Visit our Merge page for more details and how to get started.

The post Figma to React — Best Plugins and Alternatives appeared first on Studio by UXPin.

]]>
11 Best Material UI Alternatives https://www.uxpin.com/studio/blog/material-ui-alternatives/ Thu, 06 Jul 2023 13:21:58 +0000 https://www.uxpin.com/studio/?p=48563 Material UI, developed and maintained by MUI, is a popular React component library that implements Google’s Material Design guidelines. It offers a comprehensive set of reusable and customizable components, such as buttons, cards, menus, form elements, predefined styles, and themes. The library promotes a modular and structured approach to building user interfaces, enabling developers to

The post 11 Best Material UI Alternatives appeared first on Studio by UXPin.

]]>
Material ui Alternatives min

Material UI, developed and maintained by MUI, is a popular React component library that implements Google’s Material Design guidelines. It offers a comprehensive set of reusable and customizable components, such as buttons, cards, menus, form elements, predefined styles, and themes.

The library promotes a modular and structured approach to building user interfaces, enabling developers to create visually consistent and responsive designs. With Material UI, developers can streamline their front-end development process and deliver intuitive and visually appealing web apps.

Use Material UI’s React components for prototyping and testing in UXPin using our proprietary Merge technology. Visit our Merge page for more details and how to request access.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

Ant Design

ant design

Best for: web applications, cross-platform applications, native apps

The Ant Design library is a comprehensive UI component library developed by Ant Design that offers a wide range of reusable and well-documented components for building high-quality applications. It follows the principles of the Ant Design system, emphasizing a clean and minimalist design aesthetic with a focus on usability and accessibility.

The library also provides powerful features like internationalization support, theming capabilities, and responsive design, making it a popular choice among developers for creating professional and user-friendly interfaces.

Developers can quickly create consistent and visually appealing interfaces by leveraging its extensive collection of components, including forms, tables, navigation menus, and more. 

The Ant Design system also offers libraries for mobile and charts, giving product teams a comprehensive set of components and patterns for a wide variety of cross-platform applications.

React-Bootstrap

Best for: web applications

React-Bootstrap is a widely used React UI library for building responsive web applications with React. It combines the power of React’s component-based architecture with Bootstrap’s flexibility and styling capabilities, offering a comprehensive set of pre-designed and customizable components.

React-Bootstrap provides a range of UI elements such as buttons, forms, modals, navigation menus, and more, allowing developers to rapidly create visually appealing and functional interfaces.

React-Bootstrap’s detailed docs and active community support simplify web development by providing reusable and well-tested components, enabling developers to focus on building robust and user-friendly applications.

Fluent UI

Best for: web applications, iOS & Android applications, native apps, cross-platform applications

Fluent UI is a robust and comprehensive design system developed by Microsoft that provides reusable components and styling options for building cross-platform and mobile apps. The library follows the principles of Fluent Design, focusing on clarity, content prioritization, and smooth animations. 

It offers a consistent and cohesive experience across different platforms and devices, making it suitable for many cross-platform and mobile projects.

With its extensive documentation and active community, Fluent UI empowers teams to build intuitive and accessible user interfaces that align with Microsoft’s design language. From buttons and forms to complex data grids and charts, Fluent UI provides the necessary tools to deliver delightful and user-centered experiences.

Read about the differences between Material UI and Fluent UI.

Carbon Design System

Best for: web applications, iOS & Android applications, native apps, cross-platform applications

Built on the principles of IBM’s design philosophy, Carbon focuses on simplicity, clarity, and purposeful interactions. It provides a range of components, from buttons and forms to data visualizations and icons, enabling designers and developers to create intuitive and visually appealing interfaces.

With its modular and flexible architecture, the Carbon Design System promotes reusability and scalability, making it suitable for large-scale enterprise applications and smaller projects. The system’s documentation and resources empower teams to maintain design consistency and streamline collaboration.

Tailwind CSS

Best for: web applications

The Tailwind CSS library enables developers to rapidly build custom user interfaces using a utility-first CSS framework. It provides a comprehensive set of pre-defined utility classes, eliminating the need for writing custom CSS styles.

The library supports React, Vue, and HTML. Developers can easily apply these utility classes to HTML elements, giving them granular control over the appearance and behavior of their UI components

Tailwind CSS promotes a modular approach to styling, where devs can combine classes to create unique and responsive designs. It offers utilities for layout, typography, colors, spacing, and more, allowing developers to create consistent and visually appealing interfaces with minimal effort.

Semantic UI

Best for: web applications

Semantic UI is a versatile front-end framework that offers a wide range of semantic and intuitive components for creating user interfaces. It provides a comprehensive collection of pre-designed UI elements for web applications, including buttons, forms, menus, cards, and modals.

The framework follows a natural language naming convention, making it user-friendly and easy to understand. Developers can leverage Semantic UI’s extensive set of CSS classes to build visually appealing and responsive designs quickly. The library supports React, Meteor, Ember, and Angular front-end frameworks.

Semantic UI supports theming and customization, allowing developers to customize the appearance of their UI components to align with their project’s branding. With its intuitive syntax and detailed documentation, Semantic UI is a valuable tool for designing and developing modern web interfaces.

Foundation

Best for: web applications, email templates, landing pages

Foundation is a responsive front-end framework with CSS and JavaScript components for building modern, mobile-friendly websites. It offers a comprehensive toolkit with a modular approach, allowing developers to customize and tailor their designs to meet specific project requirements.

Devs can easily create responsive grids, navigation menus, forms, buttons, and other UI elements that adapt seamlessly across different screen sizes. The framework also includes a powerful JavaScript library that enables interactive features and smooth animations.

With its extensive documentation and active community support, Foundation empowers developers to create visually appealing and highly functional web interfaces.

Chakra UI

Best for: web applications

Chakra UI is a modern and accessible React component library for streamlining user interface development. The library supports several frameworks, including React, Next.js, Meteor, and Gatsby, to name a few.

The project was founded by Segun Adebayo of Nigeria, making it one of the most prominent open-source component libraries to come out of Africa.

Chakra UI provides pre-designed components and utility functions, allowing developers to create visually appealing and responsive websites. Developers can leverage Chakra UI’s customizable and reusable components, such as buttons, forms, cards, and navigation elements, to design intuitive and accessible user interfaces.

The library also focuses on accessibility by adhering to WCAG standards, ensuring that the created interfaces are usable by individuals with disabilities. Chakra UI’s simplicity, flexibility, and robust documentation make it a popular choice among developers looking to build efficient and visually stunning React applications.

Bulma

Best for: web applications, landing pages

Bulma is a lightweight and modern CSS framework based on Flexbox, providing a flexible and responsive grid system and a set of ready-to-use UI components. The framework’s intuitive class naming convention supports quick and efficient styling, while its modular architecture ensures scalability and customization.

Bulma’s simplicity, extensive documentation, and community support make it a popular choice for projects of all sizes. Whether you’re building a landing page, a dashboard, or an eCommerce site, Bulma provides a solid foundation for building aesthetically pleasing and functional interfaces.

Styled Components

Best for: web applications, landing pages

Styled Components is a popular JavaScript library that allows developers to write CSS directly in their JavaScript code using tagged template literals. It provides a way to encapsulate styles within components, making them more maintainable and reusable. 

Styled Components is widely used in the React ecosystem and offers seamless integration with popular UI frameworks and libraries. Developers can create dynamic and responsive styles by leveraging the power of JavaScript, including the ability to access component props and states. The library offers many features, including support for CSS-in-JS, automatic vendor prefixing, and theme management.

PrimeReact

Best for: web applications, landing pages

PrimeReact is a comprehensive UI component library for React applications, offering ready-to-use components and advanced features. It provides a wide range of UI elements, including buttons, inputs, tables, modals, and charts, for various digital products.

PrimeReact follows a responsive design approach, ensuring components adapt well to different screen sizes and devices. The library also offers powerful features, such as data binding, filtering, sorting, and pagination, making it suitable for building data-intensive applications. 

By leveraging PrimeReact’s pre-built components and features, developers can save time and effort, resulting in faster development cycles and improved user experiences. The library is regularly updated, ensuring compatibility with the latest React versions and providing ongoing support and bug fixes.

High-Quality Prototypes with UXPin’s Code-to-Design Methodology

UXPin’s Merge technology enables product teams to import these and other open-source design systems into UXPin’s design editor so designers can prototype and test using code components.

A code-to-design workflow enhances prototyping and testing because designers use the same components in the design process as engineers use to develop the final product. Designers can build immersive prototype experiences for user testing and stakeholders, providing meaningful feedback to iterate and improve concepts.

Merge creates a single source of truth across the product development environment, from early-stage design to development and the final product. Design handoffs are smoother, with less friction between designers and developers. Merge prototypes also require minimal supporting documentation and explanation because devs already have the exact same component library pulled from the same repository.

Solve more usability issues, increase business opportunities, automate time-consuming governance procedures, and create a real single source of truth with UXPin’s Merge technology. Visit our Merge page for more details and how to request access.

The post 11 Best Material UI Alternatives appeared first on Studio by UXPin.

]]>
5 Inspiring React Web Apps with Great UX https://www.uxpin.com/studio/blog/react-web-apps/ Tue, 20 Jun 2023 12:25:25 +0000 https://www.uxpin.com/studio/?p=48193 In the ever-evolving landscape of web applications, React has emerged as a preferred choice for app makers. The open-source Javascript library’s powerful features and flexible ecosystem enable the development of engaging, high-performance web apps with exceptional user experiences. We explore the benefits of using React from a UX perspective. We also look at five examples

The post 5 Inspiring React Web Apps with Great UX appeared first on Studio by UXPin.

]]>
React web app min

In the ever-evolving landscape of web applications, React has emerged as a preferred choice for app makers. The open-source Javascript library’s powerful features and flexible ecosystem enable the development of engaging, high-performance web apps with exceptional user experiences.

We explore the benefits of using React from a UX perspective. We also look at five examples of the world’s most prominent React apps and how React facilitates a good user experience for these digital products.

Design your applications using React components imported from Git, Storybook or through an npm package. Drag and drop them in a design environment and copy them into dev workflow. Discover UXPin Merge.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

Asana

asana react example min

Asana is a project management platform helping teams organize work and collaborate effectively. The platform offers robust features such as task management, workflow visualization, team collaboration, and integrations with other tools, making it a go-to choice for teams of all sizes. Its clean and intuitive interface design reduces friction and increases productivity.

React UX highlights

  1. Simplicity and clarity: Asana’s interface is clean, with a simple layout makes it easy for users to navigate and find the information they need. It presents tasks and projects clearly, reducing cognitive load for users. The use of React enhances simplicity and clarity by enabling the creation of reusable UI components. This ensures a consistent look and feel throughout the app, reducing complexity and maintaining simplicity.
  2. Visual workflows: Asana provides visual project timelines and Kanban boards, making it easy for users to see the progress of tasks and projects at a glance. React contributes to these visual workflows through its efficient rendering capabilities, enabling smooth and fast updates of the visual elements for an uninterrupted user experience.
  3. Real-time updates: Asana offers real-time updates and notifications, ensuring users are always aware of task changes, comments, or updates. React’s efficient data handling and state management capabilities make these real-time updates possible, keeping the user interface in sync with the underlying data without unnecessary page refreshes.
  4. Intuitive interactions: From creating tasks to setting due dates, the interactions on Asana are intuitive and straightforward, contributing to a smooth user experience. React enhances these interactions by offering a robust event-handling system, enabling interactive UIs that respond to user inputs seamlessly.

Facebook

fb react web app min

Facebook is one of the world’s largest social networking platforms, boasting around 3 billion active users. It provides an online space where users can connect with friends, share content, join groups, and engage in many other social activities.

React UX highlights

  1. Personalized user feed: Facebook’s personalized user feed delivers content tailored to each user’s preferences and interactions, creating a unique and engaging experience. With React, Facebook can efficiently update and render these personalized feeds, ensuring a smooth, up-to-date experience that engages users.
  2. Interactivity and responsiveness: Facebook is highly interactive–from liking and sharing posts to real-time messaging and video calling. React’s efficient event-handling system enhances these interactions, providing a responsive and seamless user experience.
  3. Real-time notifications: Users on Facebook receive real-time notifications about friend requests, messages, comments, and more. React’s state management capabilities allow for these real-time updates, ensuring the interface stays current without requiring page refreshes.
  4. Consistent design across platforms: Facebook maintains a uniform design and experience across its website and mobile apps, ensuring users can switch between platforms seamlessly. React (and React Native for native apps–iOS, Android, etc.) enables this consistency, allowing developers to create reusable components across different platforms.

Airbnb

react web app airbnb min

Airbnb is an online marketplace that connects people seeking accommodations with those offering them, allowing users to book unique homes and experiences worldwide. The platform provides a vast selection of listings, intuitive search, filter options, and seamless booking procedures, making it a popular choice for travelers.

React UX highlights

  1. Intuitive search and filters: Airbnb’s platform makes it easy for users to specify accommodation preferences with its intuitive search and robust filtering options. React’s component-based architecture allows for creating complex, customizable search and filter components, ensuring a smooth and user-friendly experience.
  2. Interactive map view: Alongside the list view of properties, Airbnb offers an interactive map view, allowing users to explore properties in their chosen location visually. React enhances this feature by efficiently rendering and updating map components based on user interactions.
  3. Detailed listings: Airbnb provides comprehensive information about each listing, including photos, amenities, host details, and reviews. React’s capabilities for handling complex data structures and state management allow for the efficient rendering of these complex components, ensuring a smooth user experience.
  4. Smooth booking process: Airbnb’s straightforward and user-friendly booking process provides real-time availability and pricing information, including currency conversions. React’s state management and real-time updating capabilities streamline this checkout user flow, providing users with accurate, real-time data as they navigate the booking steps.

Netflix

netflix react web app min

As a global streaming service, Netflix offers a vast library of films and television series, including in-house productions. Thanks to its personalized content recommendations, user-friendly interface, and seamless streaming experience, Netflix dominates the streaming industry, serving over 200 million subscribers worldwide.

React UX highlights

  1. Personalized content recommendations: Netflix uses sophisticated algorithms to curate and recommend content based on user behavior and preferences. React boosts this process, efficiently rendering and updating personalized content feeds to ensure a smooth, bespoke user experience that sustains subscriber engagement.
  2. User-friendly interface: The design of Netflix’s interface leans heavily towards ease of use, with intuitive navigation and a clean, visually appealing layout. The component-based architecture of React enhances this design, allowing the development of reusable UI components that maintain a consistent look and feel throughout the application.
  3. Seamless streaming experience: Netflix delivers high-quality streaming seamlessly across a wide range of devices. React’s efficient rendering and state management capabilities are crucial in this seamless experience, reducing latency and promoting smooth, uninterrupted viewing.
  4. Interactive features: Netflix offers interactive previews, ratings, and user profiles. With its robust event-handling system and component lifecycle methods, React powers these interactive features. It ensures real-time feedback and updates, contributing to a more engaging user experience.

Slack

slack react web app min

Slack is a widely-used communication platform that fosters collaboration among small and large teams. It successfully integrates messaging, file sharing, and video/voice calls in a single platform, thus facilitating seamless communication and efficient workflows.

React UX highlights

  1. Organized Conversations: Slack organizes conversations into channels, ensuring discussions remain on-topic and easy to follow. React’s component-based architecture aids in managing these distinct areas of the interface, ensuring quick updates and a smooth user experience.
  2. Integrations: Slack offers many integrations, including tools like Google Drive, GitHub, and Trello. This level of integration simplifies workflows by providing a unified platform for various tasks. React’s flexibility plays a significant role by enabling seamless interaction with different APIs and services.
  3. Real-time Interaction: Slack’s real-time messaging system keeps teams connected, fostering collaboration. React’s efficient state management ensures users see updates instantly without page refreshes, enhancing the interaction experience and productivity.
  4. Customizable Notifications: Slack allows users to customize notifications, ensuring they stay focused without missing important updates. The flexibility of React supports this customization, allowing the app to efficiently manage changes in user settings and provide a tailored experience.
  5. Search Functionality: Slack’s powerful search functionality lets users quickly locate past conversations or files. React enhances this feature by facilitating fast rendering of search results, ensuring a smooth, uninterrupted user experience.

Why Web Apps Use ReactJS?

The React library promotes code reuse and modularity through its component-based architecture, enabling developers to construct complex user interfaces from small, isolated pieces of code.

Under the hood, Node.js, a powerful JavaScript runtime, often powers the server-side operations of these React applications, creating a seamless full-stack development experience.

React’s virtual DOM (ReactDOM) optimizes rendering and improves app performance, efficiently handling high-load applications. With JavaScript at its core, React allows seamless integration with other JS libraries and frameworks, providing a flexible app development environment.

React’s support for server-side rendering (converting pages to HTML, CSS, and Javascript in the browser) also aids in SEO, ensuring that web apps are discoverable and performant—a critical feature many libraries and frameworks (Angular, Vue, etc.) cannot replicate effectively.

How React impacts web app UX

React’s fast rendering creates a smooth, lag-free user experience critical for user engagement and satisfaction. A perfect example of React’s performance in action is Facebook, one of the most complex web applications in the world.

The ability to effortlessly reuse components throughout an application helps maintain design consistency and coherence for uniform user interfaces and interactions.

5 Criteria for a Great React UX

1. User-centric design

User-centered design focuses on the needs and preferences of the target audience. React’s component-based architecture and flexibility allow developers to create highly customizable user interfaces that cater to specific user expectations and deliver a tailored experience.

2. Performance and speed

A critical aspect of great UX is ensuring that web apps deliver the highest speed and performance. React’s virtual DOM and efficient rendering mechanisms help achieve this by minimizing updates to the actual DOM, leading to a smoother user experience with minimal latency, even in complex applications.

3. Consistency and predictability

Consistency and predictability in a web app’s design and interactions are essential for enhancing user satisfaction. React’s component-based structure promotes the reuse of UI elements across the application, ensuring a consistent look and feel and providing predictable user interactions.

4. Accessibility and inclusiveness

Designers must make web apps accessible to all users, regardless of their abilities, devices, or assistive technologies. React’s ecosystem offers a range of libraries and tools to implement accessibility best practices, ensuring an inclusive user experience.

5. Feedback and responsiveness

Providing timely feedback and responsiveness in web apps is crucial for maintaining user engagement. React’s state management capabilities and component lifecycle methods enable developers to handle user interactions efficiently, providing real-time feedback and updates. This instant feedback creates a more interactive and engaging user experience, fostering user satisfaction and loyalty.

How TeamPassword Using React for Prototyping

Password manager TeamPassword uses a custom React MUI design system to develop its products. The startup doesn’t have a design team, meaning engineers must do all the prototyping and testing before releasing new features.

“Customers entrust us with sensitive information in their login records. Inconsistencies or an outdated design can cause some customers to question whether we are technologically up-to-date enough to keep that information secure. Front-end development builds trust and confidence in the backend performance.” Tony Caccavo, Director of Operations at TeamPassword.

The engineering team imports their React design system into UXPin using Merge, allowing them to leverage UXPin’s drag-and-drop design environment to build prototypes and make changes significantly quicker than writing code.

TeamPassword gets all the benefits of code with the simplicity of UXPin’s design interface allowing the company to ship UX-optimized releases fast. UXPin renders JSX, meaning React developers can copy/paste production-ready prop changes to develop the final product.

Prototype your React web applications with fully functional components to enhance testing with actionable feedback from test participants and stakeholders. Visit our Merge page for more details.

The post 5 Inspiring React Web Apps with Great UX appeared first on Studio by UXPin.

]]>
React Rapid Prototyping — How to Design a React App Fast? https://www.uxpin.com/studio/blog/react-rapid-prototyping/ Mon, 15 May 2023 10:35:12 +0000 https://www.uxpin.com/studio/?p=44703 UXPin Merge provides developers, UX designers, and product teams with an intuitive user interface to prototype and test using ReactJS components. The drag-and-drop workflow is the perfect environment for rapid React prototyping–even for non-designers or those without design tool skills. Payment giant PayPal and startup TeamPassword both have non-designers building and testing prototypes in UXPin.

The post React Rapid Prototyping — How to Design a React App Fast? appeared first on Studio by UXPin.

]]>
react rapid prototyping

UXPin Merge provides developers, UX designers, and product teams with an intuitive user interface to prototype and test using ReactJS components. The drag-and-drop workflow is the perfect environment for rapid React prototyping–even for non-designers or those without design tool skills.

Payment giant PayPal and startup TeamPassword both have non-designers building and testing prototypes in UXPin. PayPal’s product teams complete 90% of design projects, while TeamPassword’s two-person development team does all the company’s prototyping and user testing.

This article demonstrates how engineers can use UXPin Merge to design, prototype, and test products before development, allowing them to iterate faster and reduce UI inconsistencies.

Key takeaways:

  • React rapid prototyping is a prototyping process for creating prototypes fast.
  • Just like in rapid prototyping, product teams build UIs, test them, and release as fast as they can.
  • Instead of starting with writing code, React rapid prototyping tool like UXPin Merge gives you building blocks to assemble your prototype – React components from your repo.

Streamline your React rapid prototyping workflow with UXPin Merge. Visit our Merge page for more details and how to request access.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

What is Rapid Prototyping?

Rapid prototyping is a prototyping process where product teams conduct lots of experiments fast to find the best solution. Team members ignore “nice-to-have” features and focus solely on optimizing UIs for user experience.

The team uses a design system or open-source component library to prototype new products. Using an existing library means product teams don’t have to design from scratch. Instead, they go from paper sketches to rapid high-fidelity prototyping and testing.

React rapid prototyping

React rapid prototyping uses a similar methodology where engineers use component libraries to build a minimum viable product (MVP). Using a React library enables engineers to develop user interfaces with minimal front-end programming from scratch, allowing for faster testing and iteration.

The Challenges of Prototyping in Code

The biggest challenge with prototyping in code is that it’s slow compared to the drag-and-drop design tool workflow (in which you create prototypes with pre-made component.) Even small changes require some code and styling adjustments to achieve the desired result.

code design developer

Prototyping in code also means engineers must focus on multiple tasks, including writing code, referencing documentation, and UI design. As the prototype grows in complexity, so does the focus and time required to make changes and iterate–the opposite of rapid prototyping.

How TeamPassword Overcame React Rapid Prototyping Challenges

Password manager startup, TeamPassword, struggled with speed-to-market and UI inconsistencies. The small team had no designers, leaving engineers to design, prototype, and test releases using code.

TeamPassword switched to MUI’s open-source React library, which they customized to meet brand and product requirements and hosted in a private repository.

Prototyping and testing using UXPin Merge.

TeamPassword also needed a better method to prototype and test new products. The small startup didn’t have the resources to hire a UX designer, so they looked for a “developer-friendly” design tool. After exploring several options, TeamPassword’s devs discovered UXPin Merge.

uxpin merge react sync library git

Merge allowed TeamPassword to sync their MUI design system repository to UXPin’s design editor, giving engineers a drag-and-drop prototyping environment. 

When TeamPassword has completed the prototyping phase, they simply import their design system into the project, add the components, and copy JSX component props from UXPin to develop the final product.

This Merge product development workflow eliminated TeamPassword’s UI consistencies while allowing developers to prototype, test, and iterate significantly faster. Merge’s Version Control enables the team to ship design system changes which automatically sync to UXPin–creating a single source of truth between design and development.

Using UXPin Merge for React Rapid Prototyping

Unlike image-based design tools that generate vector graphics, UXPin renders HTML, CSS, and Javascript, making it possible to import fully interactive React components.

The TeamPassword case study demonstrates how developers can prototype faster using React components without learning the complexities of a design tool. Here’s how you can too.

Choose a design system

If you don’t have a design system, use an open-source library. Some of our favorites include MUI, React-Bootstrap, Ant Design, and Semantic UI. These design systems are themeable and offer vast component libraries, including desktop and mobile UI elements.

Follow UXPin’s documentation for setting up your repository correctly. You can also request access to Merge; our technical support team will help you through the process.

“We had a training session with Jack which was really valuable. We learned how to set up the tool and use the editor. The team also showed us how to adjust components.” – Matthew Chigira, Fullstack Developer at TeamPassword.

Customize your design system

Follow the component library’s documentation to theme your design system, or leave it as is to start prototyping immediately. Save your design system to a private repository so you can sync it to UXPin.

When you make changes to the repo, like adding custom components and templates, Merge will automatically sync these back to UXPin. Version Control allows you to choose when to update projects, and you can always switch to earlier versions of your design system.

Choose an Integration

Bring components to UXPin with one of three integrations:

Once the initial setup is complete for both integrations, Merge will automatically update any repository changes in UXPin and notify all team members of the new version.

The Git Integration requires some setup to sync correctly with UXPin. UXPin provides a Merge boilerplate that you can download. Running npm install in the root directory will install the dependencies required to run the code from the boilerplate repository (things like React, Webpack, Babel, etc.)

With the Git Integration, you get all the Merge features, including Version Control, Patterns, and Merge component Manager

Storybook offers an intuitive dashboard for developing design system components in isolation. Devs can document and test components before distributing them to a GitHub repository. Storybook also has collaboration, QA, and approval features, so teams can manage every aspect of the design system and follow governance procedures.

Configuring the Properties Panel

Each component’s React props will appear in UXPin’s Properties Panel, allowing you to make changes defined by the design system, including color, size, state, typography, etc.

Note: only the Git Integration will display React props. If you’re using Storybook, you’ll have to use Args to configure the UXPin Properties Panel.

Get to work

With your components imported to UXPin, it’s time to start prototyping. Drag UI elements from your design system library onto the canvas to build UIs.

design system libraries in uxpin min

With UXPin Patterns, you can create new patterns and templates and save these to your personal Patterns library. Because these UI components already exist in your repository, it’s a matter of combining them during development to replicate the prototype.

You can test prototypes in the browser for websites and web apps or use UXPin Mirror for mobile app testing (available for Android & iOS).

Test and iterate on your prototype in UXPin until you’re satisfied it’s ready for development.

Create-react-app

The final step is converting your UXPin Merge prototype to a React application. YouTuber CoderOne has an excellent tutorial about going from UXPin prototype to development.

The best way to copy your prototype is in UXPin’s Preview and Share mode. Here you can view the product’s site map, adaptive versions, specifications, and each component’s props. UXPin will even provide a link to the component’s documentation.

Under Spec Mode, UXPin will display each component and its relative props in JSX. Devs can copy/paste this production-ready code to replicate the prototype in their React project.

spec mode in uxpin min

Switch to UXPin Merge and enjoy the convenience of a design tool with the power of code. Build stunning layouts without drawing any components. For more details, visit our Merge page.

The post React Rapid Prototyping — How to Design a React App Fast? appeared first on Studio by UXPin.

]]>
Fluent UI vs MUI – Designer’s Comparison https://www.uxpin.com/studio/blog/fluent-ui-vs-mui/ Mon, 03 Apr 2023 14:49:16 +0000 https://www.uxpin.com/studio/?p=44100 ​​Building scalable React applications from scratch is a challenging, resource-hungry endeavor. Fluent UI React, and MUI streamline this process by giving product teams comprehensive UI libraries to design, prototype, test, and develop high-quality, scalable digital products faster. We explore these popular open-source ReactJS UI libraries in 2023 and why you might choose Fluent UI or

The post Fluent UI vs MUI – Designer’s Comparison appeared first on Studio by UXPin.

]]>
FLUENT UI VS MUI

​​Building scalable React applications from scratch is a challenging, resource-hungry endeavor. Fluent UI React, and MUI streamline this process by giving product teams comprehensive UI libraries to design, prototype, test, and develop high-quality, scalable digital products faster.

We explore these popular open-source ReactJS UI libraries in 2023 and why you might choose Fluent UI or MUI for your next project. We also introduce code to design and how to bring components from these design systems into the design process to enhance prototyping and testing capabilities.

Introduce fully interactive Fluent UI and MUI components at the prototyping phase. Build high-fidelity prototypes that have code-like fidelity and functionality. Discover UXPin Merge, a solution that makes it possible to introduce code to design. Learn more.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

An Introduction to Fluent Design System and MUI 

The Fluent Design System (Fluent UI React) and MUI (Material UI) are popular design systems primarily used for cross-platform products. The comprehensive front-end Javascript libraries include patterns like charts, graphs, advanced tables, data grids, and more, making it easy for product developers to build and scale enterprise user interfaces.

Microsoft developed the Fluent Design System in 2017 to rebrand the Microsoft Design Language (Metro). Microsoft used Fluent UI across its product ecosystem, including Windows and Microsoft 365.

While MUI is based on Google’s Material Design, the open-source project has no affiliation with Google. MUI’s founders created the UI library in 2014 to unify Material Design and React. It’s now one of the most widely used React libraries, with over 2.5 million weekly downloads on npm.

Code-to-Design Approach – A Single Source of Truth

code design developer

MUI and Fluent UI offer UI kits for popular design tools, but wouldn’t it be easier if designers and engineers used the same components from design to development? This single source of truth workflow is precisely what UXPin Merge does for product development teams.

Code to design is a product development workflow that brings coded UI components into the design process using UXPin and Merge. Designers get the best of both worlds, a familiar design tool user interface with fully interactive UI elements.

UXPin Merge comes standard with the React component libraries for Fluent UI and MUI. Designers simply drag and drop components from UXPin’s Design Libraries to build fully functioning prototypes.

With Merge, design teams get all the functionality and interactivity that comes standard with Fluent UI and MUI, including fully functioning date pickers, charts, data visualizations, and more.

Design Principles

design and development collaboration process product communication 1

MUI and Fluent UI’s design principles are closely aligned. Both focus on motion, texture, and cross-platform experiences. 

MUI’s design principles

MUI follows the design principles of Google’s Material Design 2:

  • Material is a metaphor: The UI library is inspired by real-world textures, light, and shadows. Its purpose is to reimagine the mediums of paper and ink.
  • Bold, graphic, intentional: Material Design uses typography, grids, space, scale, color, and imagery to create hierarchy, meaning, and focus for immersive user experiences.
  • Motion provides meaning: Subtle feedback and coherent transitions focus users’ attention while maintaining continuity. Elements transform and reorganize the environment with interactions generating new transformations.

Fluent UI’s design principles

Fluent’s design language aims to facilitate seamless cross-platform experiences that look “natural on every platform.” The design system’s five core principles include:

  1. Light: The use of light and illumination to create a sense of depth, focus, and spatial awareness in the interface.
  2. Depth: The utilization of layering and depth to create a sense of hierarchy and relationship between UI elements.
  3. Motion: Purposeful animations and transitions that enhance the user experience and help guide users through interactions.
  4. Material: Using different materials (acrylic, metallic, etc.) to create a sense of texture and physicality in the interface.
  5. Scale: Designing for various screen sizes and input methods, ensuring the interface remains consistent and usable across different devices.

Component Libraries

design system atomic library components

MUI and Fluent UI have extensive component libraries capable of delivering high-quality cross-platform applications.

Fluent UI component library breakdown

Fluent UI has over 240 UI components with controls for React, Web Components, Windows, iOS, Android, MacOS, and cross-platform user interfaces.

Fluent UI also works with other front-end UI frameworks, including Angular, Vue, Ember, and Webpack.

MUI component library breakdown

MUI has over 200 React UI components, with an additional 240+ in MUI X, its advanced library. While MUI has a massive component library, these are primarily for web and desktop applications, lacking the same native capability as Fluent UI.

Templates

Fluent UI and MUI provide starter templates for building applications. Fluent UI’s templates are designed specifically for Microsoft products, while the MUI template marketplace offers an extensive range of dashboards, websites, eCommerce, landing pages, and more.

Customization and Theming

design system library components

Fluent UI and MUI offer similar theming and customization, including core elements like color, typography, spacing, and other style properties. Both UI libraries allow dark mode switching, making it easy to create light and dark versions of your application.

While both libraries offer excellent customization, MUI is considered more customizable due to its extensive theming options, versatile component styling, and customization APIs.

Some aspects which make MUI more flexible for customization include:

  1. The sx prop: enables inline styling for easy customization without requiring additional CSS classes or separate style objects.
  2. Customization APIs: experimental_extendTheme is an API that extends the default theme giving developers more flexibility and greater customization.
  3. Global style overrides: MUI allows developers to override a component’s default styles globally using the theme object. Using style overrides provides developers with more flexibility and better maintainability.
  4. Tokens: allow you to change color, fonts, sizes, and spacing for components. MUI also enables you to add custom theme tokens to control any aspect of any UI element.

Fluent UI’s Theme Designer makes creating an exportable theme palette easy, with options for primary, text, and background colors. Developers can export the colors to CodePen in React, JSON, or PowerShell formats.

Design System Accessibility and Internationalization

team leaders teams

Accessibility

Fluent UI and MUI prioritize accessibility and internationalization for developers to create inclusive products that serve a diverse global user base.

Both libraries offer core accessibility features for components, including:

  • Keyboard navigation
  • ARIA attributes
  • Accessible roles (provide additional information for assistive technologies)

Each library also offers unique accessibility features.

Fluent UI offers more assistive technology features, like “FocusZone” and “FocusTrapZone,” to manage focus in complex components and dialogs. Additionally, the “Announced” prop provides screen readers with comprehensive updates on system status for copying, uploading, lazy loading, and more.

Unique to MUI is the VisuallyHidden utility, which allows screen readers to ‘see’ off-screen content.

Internationalization

Fluent UI and MUI provide utilities and styling for right-to-left (RTL) languages. The design systems also include external integrations with localization libraries like i18next or formatjs (previously react-intl).

MUI supports component-level localization for relevant patterns like date pickers, time pickers, and calendars–features not supported without integrations in Fluent UI.

Documentation and Community

Fluent UI and MUI have excellent documentation and active communities for questions and support.

Documentation

Fluent UI and MUI provide detailed docs for components, usage examples, API references, code samples, and customization/theming.

MUI’s “How-to guides” provide additional support with details and steps for typical developer tasks and workflows, like using Typescript, routing, responsive UI, testing, internationalization, and accessibility, to name a few.

Communities

Fluent UI’s community is significantly smaller than MUI but still active and growing. Most communication happens on Fluent UI’s GitHub repository, where developers can report issues and contribute.

MUI’s GitHub repository is a developer go-to, but the design system also has several support channels, including various Discord communities, Stack Overflow, a blog, and premium support.

Here are some recommended use cases for Fluent UI and MUI. Both design systems are excellent for enterprise applications, but Fluent UI has better native and cross-platform capabilities and features.

Fluent UI Use Cases

Microsoft product ecosystem

One of Fluent UI’s primary purposes is for developers who want to build custom apps and services for the Microsoft product ecosystem, notably Microsoft 365.

Cross-platform enterprise applications

With a wide range of web, desktop, and native components, Fluent UI is an excellent choice for cross-platform applications. The enterprise-specific UI library, including data tables, charts, graphs, forms, and more, makes it easy to develop products that cater to business needs while creating seamless experiences across multiple devices and operating systems.

Complex web applications

Fluent UI’s advanced navigation components, like CommandBar, Nav, Breadcrumb, and Pivot, make it an excellent choice for applications with complex navigation structures or hierarchical content.

MUI Use Cases

Responsive web applications

MUI is excellent for building scalable, responsive, user-friendly web applications. The extensive library includes everything from basic inputs to complex data grids suitable for developing many types of web apps.

Customizable websites and web apps

MUI’s powerful theming and styling capabilities allow for granular control over each component’s appearance and functionality. This flexibility makes MUI the better choice for projects that require high levels of customization while maintaining ultimate consistency.

Enterprise applications

MUI combined with MUI X enables product teams to build advanced, responsive web applications, including complex components like tree views, data grids, sparklines, pagination, data filtering, and more.

Build Interactive Prototypes With UXPin Merge

uxpin merge component sync

With UXPin Merge, product teams no longer have separate design systems for designers and engineers. Merge connects UXPin to your design system’s repository, so designers use the same components in the design process as engineers use to develop the final product.

Any changes to the repository automatically sync to UXPin’s design editor, notifying teams of the update–creating a single source of truth across the organization. This code-to-design workflow simplifies product development, whether you’re a multi-national enterprise or a fledgling startup.

Startup TeamPassword uses a custom MUI library to prototype and test new releases in UXPin. When the team completes prototyping, they have production-ready code to develop the final product.

Build your first interactive prototype with the built-in Fluent UI and MUI design systems. Discover UXPin’s code-to-design solution.

The post Fluent UI vs MUI – Designer’s Comparison appeared first on Studio by UXPin.

]]>
Top 3 Design System Structures https://www.uxpin.com/studio/blog/design-system-structure/ Thu, 23 Mar 2023 12:23:08 +0000 https://www.uxpin.com/studio/?p=43894 Many teams envision creating a design system as a difficult, time-consuming project. It forces team members to audit their user interface, create a repository of design system elements and design guidelines and combine it in a way it’s usable for the entire organization It’s not the only way you structure a design system, though. There

The post Top 3 Design System Structures appeared first on Studio by UXPin.

]]>
Design System Structure
Design System Structure

Many teams envision creating a design system as a difficult, time-consuming project. It forces team members to audit their user interface, create a repository of design system elements and design guidelines and combine it in a way it’s usable for the entire organization

It’s not the only way you structure a design system, though. There are some simpler methods of creating this toolkit that is meant to speed up the design process. Let’s explore the best approaches for arranging a design system structure that achieves these goals. 

Maximize the use of your design system in prototyping. Bring your design system’s building blocks to UXPin and design interactive prototypes that your devs can quickly translate to code. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

How Can You Structure a Design System? 

When you combine design elements with the relevant documentation and guidelines, the system should form a coherent repository of things that are important for building user interfaces for a brand. But to achieve optimal design efficiency and system effectiveness, first, you must arrange it into a discernible structure. One that best suits your team’s needs and your organizational design objectives. 

Let us review these three major structures used by design teams.

Simple visual design repository

This is the most basic of design system structures. As the NN Group explains, these visual design repositories come in various configurations, though the core focus here is simplicity.

At its fundamental level, a simple repository’s primary design system components consist of a style guide, a component library, and a pattern library. Together, these form the essentials for any functioning design system repository.  

color sample library

This structure only contains the essentials that constitute the system. It intends to provide the team members with what they need from the outset and allows them to create and add other assets and documentation as they go along. Shopify’s Polaris and Atlassian Design System use this type of design system structure.

Advantages: 

  • The arrangement is simple to create and implement.
  • It encourages the design system team to tell the system’s basic structure from commencement.
  • And decisions are made on the move, fast-tracking development.

Drawbacks: 

  • This arrangement lacks the structure provided by a strict hierarchy.
  • Teams tend to list the design system elements alphabetically or by their degree of importance, ignoring critical distinctions.
  • And it can be challenging to update and maintain this arrangement. 

Atomic design 

The atomic design structure was created by design systems advocate and author Brad Frost. It focuses on using order and a structured hierarchy to create an effective UI design system. 

The atomic design methodology approaches design system structure by separating the process into five stages. The first three are modeled around the chemistry world, with the subsequent two relating to aspects of the world we can see. We explored atomic design system and its components in a separate article, but let’s recap the most important information here.

design system atomic library components

Each stage uses the previous one as its foundation. Every level consists of aggregated items from the preceding one. Like atoms constitute a molecule and molecules form an organism, this structure considers the smallest elemental components before moving on to the larger ones.

  • Atoms – These represent the most basic components of the design system.
  • Molecules – When those ‘atomic-level’ individual elements combine into groups, you’ll start to see bigger elements, coming together like lego pieces.
  • Organisms – By developing combinations of elemental design components into molecular groupings, organisms emerge. These form more complex design system UI components.
  • Templates – The next stage departs the realm of chemistry and heads into a more ‘macro’ world. Templates are where organisms can be curated and compiled into a cohesive, recognizable design.
  • Pages – Once you take a template and customize it, you have a page. By replacing the placeholder content in templates with tailored design content, you obtain the final, tangible product of the design system. Pages may not need to be designed for each and every case, but ensuring that there exist a few variations is a good idea.

Advantages: 

  • Atomic design structure makes use of reusable components. Teams can divide various elements into basic atoms. These can then be applied and reapplied in different combinations and configurations.
  • Teams can easily spot those parts of a website or app that need various elemental components and create molecules and organisms accordingly. 
  • This arrangement enables designers to use a design language that clearly defines a separation between content and structure. 
  • This helps them be more creative and come up with different variants of the same components.

Disadvantages:

  • An atomic design structure can result in long, complex lists of components. 
  • In some instances, having only a few components means maintaining multiple categories for them is pointless. This can complicate the overall methodology.  

Code-based design system structure

This approach is among the most potent and effective for designing system structures. It is ideally suited for design teams working on digital product and new functionalities. Think about Material Design or Fluent UI design system.

design system components

This structure enables you to develop prototypes that look and behave just like the developer-built final product. This arrangement allows for more collaboration between designers and developers. The whole product team can count on a single source of truth informing their efforts. 

The code-based design system arrangement is considered a relatively new approach in digital product system design. With it, designers can now employ functioning, developer-approved coded UI elements to scale digital product design.

Advantages:

  • The structure improves designer-developer cooperation. 
  • It helps teams track changes in UI elements more effectively. 
  • It improves overall efficiency from prototyping through to design handoff. 

Disadvantages:

  • Designers need tools like UXPin with Merge tech to benefit from code-based design system.
  • Components can take lots of time to create.
  • Designers may require developer assistance to develop the system.

How Do You Choose the Right Design System Structure? 

Deciding on the right design system structure is essential to giving your team the framework they need to design more efficiently. A design system structure aligned with your product design objectives will help designers collaborate better. This assists them in producing the digital products they’re capable of. 

To ensure you’re picking a design system structure that aligns with your product team’s needs, ask yourself:

  • For whom is your design system being optimized? Is it for everybody across the organization, user experience designers, or, say, front-end developers only? 
  • How many components and content types – from design patterns, coded UI components, and design guidelines to rollout plans and best practice policies – are you looking to integrate into the system? 
  • At what stage of maturity is your design system currently at?

Effective design systems are dynamic entities capable of adapting to the challenges that come with growth and change. A design system’s inherent value lies in its ability to reduce the duplication of effort and facilitated collaboration

Why UXPin Prefers a Code-Based Design System structure?

Using coded components in a design system enables sharing among design and developer teams. This allows them to rely on a single source of truth and to collaborate more effectively.

code design developer

Teams across the organization can also manage all their design and prototyping projects simultaneously. This maintains a higher degree of consistency. In turn, developers can get stuck into translating design patterns into developer’s language.

UXPin Merge uses a code-based design system structure to design prototypes with a single source of truth. With it, designers can create prototypes for digital products that are consistent with developer’s workflow. Discover UXPin’s code-to-design solution.

The post Top 3 Design System Structures appeared first on Studio by UXPin.

]]>
How to Turn Code into Design? https://www.uxpin.com/studio/blog/how-to-turn-code-into-design/ Thu, 09 Mar 2023 15:12:34 +0000 https://www.uxpin.com/studio/?p=41447 The standard product design workflow is that designers create prototypes in a vector-based tool and convert them to code. Your design starts as an image and then needs to be translated into code to make it functional. Is there an alternative to that approach? One that would allow you to start with code? Code-to-design process

The post How to Turn Code into Design? appeared first on Studio by UXPin.

]]>
How to turn code into design min

The standard product design workflow is that designers create prototypes in a vector-based tool and convert them to code. Your design starts as an image and then needs to be translated into code to make it functional.

Is there an alternative to that approach? One that would allow you to start with code? Code-to-design process is one of the alternatives. It helps you create code-based prototypes using dev’s UI components that stay functional even when used in a design tool. This article will show you how to turn code into design using this alternative approach to design-to-code workflow.

Get started with code to design today using our solution. For more details, visit our Merge page.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What You Need to Turn Code into Design

If you want to build a code-based prototype, you need a component library and a design tool that supports it.

Component library

You can use a private design system if you have one or an open-source component library like MUI, Bootstrap, Fluent UI, etc.

Here are some things to consider when choosing a component library:

  • High ratings on GitHub and the npm registry indicate the library’s quality and versatility. For example, MUI and Bootstrap have exceptionally high ratings.
  • What are you trying to build? Each component library offers elements and features for specific use cases. For example, MUI is excellent for cross-platform applications, while Bootstrap is better for websites and web apps.
  • Documentation and support are vital for learning the component library and solving issues. Most popular component libraries have active communities where devs ask questions and share solutions.
  • Themeable component libraries allow you to customize certain aspects via design tokens, like colors, spacing, typography, sizing, etc.

Here are a few open-source libraries we recommend for product development:

  • MUI: great for cross-platform applications, including enterprise products. MUI offers a vast component library and third-party templates.
  • React-Bootstrap: best for responsive websites and web applications. One of the oldest frameworks with a massive community and regular updates.
  • Semantic UI React: excellent Bootstrap alternative with a more modern, stylistic aesthetic.
  • Ant Design: a massive design system with components for cross-platform and native applications. 

Design tool

design and development collaboration process product communication

The next step of turning code into a design is getting a design tool. You may get a vector-based tool and upload your components into it. Yet, those components will be reduced to images. They will look like code components but they will lose all the functionality.

Traditional image-based design tools lack features to test even the most basic functionality. For example, a form field in Figma or Sketch is essentially an image. You can’t interact with form fields or enter data.

When using code-based prototyping tools, the components stay interactive. They look like components from the library and behave like ones too. You can use our code-based prototyping for this kind of workflow: UXPin Merge.

Merge components work like building blocks, allowing you to drag and drop to create user interfaces.

You can adjust each component’s properties via the Properties Panel according to any props assigned in the repository. For example, this MUI Button has several properties that correspond to the libraries documentation available in the Properties Panel, including:

  • Label
  • Color
  • Disabled (true or false)
  • Full width (true or false)
  • Size
  • Variant
  • href (link)
  • Leading/start icon
  • Trailing/end icon
  • Interactions
mui button props min

UXPin has canvas templates for multiple screen sizes, including wearables, allowing you to effortlessly create cross-platform apps and responsive websites. Connect your screens and add interactivity using UXPin’s Interactions to create immersive prototyping experiences.

Once you finish prototyping, you can hand over the prototype to development.

UXPin’s Spec Mode provides details about each mockup, including measurements, properties, and JSX presets for each Merge component. You can view each screen individually and its corresponding responsive layout. The Simulate mode enables you to use the prototype as intended, including microinteractions, animations, and page transitions.

Spec Mode also displays your project’s style guide so devs can copy the correct HEX codes, typography, and assets. Even if you’re working as a solo designer/engineer, having everything in one place streamlines your workflow and serves as a repository for future reference.

Examples of Companies Using Code to Design

TeamPassword

TeamPassword is a startup with five employees, including two developers and no designers. The password manager startup uses a custom MUI React library for its products, which they import to UXPin for prototyping.

TeamPassword is an excellent example of how Merge makes UX design and testing accessible to non-designers. The startup’s two devs complete all the prototyping and testing in UXPin, before developing the final product.

Since switching to this workflow, TeamPassword’s UI consistency and speed to market have improved significantly, making them more competitive in a market dominated by billion-dollar organizations.

PayPal

If TeamPassword is a good startup model, PayPal is a fantastic example of Merge working at the enterprise level. PayPal uses Merge for its 60+ internal products.

Like TeamPassword, non-designers from PayPal’s product teams complete most design projects, leaving the UX team to focus on high-level user experience initiatives.

After switching to Merge, PayPal delivers design projects 8X faster than experienced UX designers could previously with traditional image-based design tools.

Quick Note on Importing Components

When using UXPin Merge, you have three options for importing components.

  • Git Integration
  • Storybook Integration
  • npm Integration

It’s important to note that the Git and Storybook integrations require technical expertise to set up the boilerplate and repository. You’ll also need to maintain the repo and add new components as you scale. Once you connect the repository, Merge will automatically sync updates to the Design System Libraries in UXPin.

The npm Integration is a better option for non-technical users as it uses a dashboard instead. 

Git Integration

The Git Integration is the best option for importing React libraries because you benefit from all Merge’s features, including Version Control, Patterns, and JSX presets–which aren’t available with Storybook.

Storybook Integration

There are two reasons why you might choose the Storybook Integration over Git:

  1. You want to develop and manage your components using Storybook.
  2. You want to use a framework other than React.

Firstly, Storybook is an excellent platform for developing and managing components in isolation. It also offers documentation, testing, and governance features vital for scalability and collaboration with cross-functional teams.

If you’re developing a product using Vue, Ember, HTML, Web Components, or Angular, you can only import these libraries via the Storybook Integration.

npm Integration

The npm Integration is the best option for designers with little or no technical skills. If you don’t want to mess with boilerplates and repositories, then using npm and UXPin’s Merge Component Manager (MCM) is recommended.

You can import most component libraries available on the npm registry via MCM. Unlike Git and Storybook, with npm, you select which components and associated props to import. Unfortunately, you can’t customize the props, so you’re constrained to the library’s standard theme properties.

The npm Integration is also helpful for importing components your current design system doesn’t have. For example, if you need a bottom navigation component for a mobile application but don’t have one. Instead of designing from scratch, you can import MUI’s Bottom Navigation for prototyping.

Whether you’re a one-person startup or a multinational organization, UXPin Merge bridges the gap between design and development by allowing teams to use the same components in their workflow. Interested to hear more? Visit our Merge page.

The post How to Turn Code into Design? appeared first on Studio by UXPin.

]]>
15 Examples of Reactjs Websites https://www.uxpin.com/studio/blog/reactjs-websites-examples/ Wed, 01 Mar 2023 13:22:06 +0000 https://www.uxpin.com/studio/?p=39399 ReactJS is the most popular front-end library in the world. The library’s component-based methodology allows the development team to build and reuse components throughout a project, resulting in less programming from scratch and faster development. We’ve put together 15 ReactJS websites and web apps to demonstrate what’s possible with this versatile framework. We also showcase

The post 15 Examples of Reactjs Websites appeared first on Studio by UXPin.

]]>
reactjs websites

ReactJS is the most popular front-end library in the world. The library’s component-based methodology allows the development team to build and reuse components throughout a project, resulting in less programming from scratch and faster development.

We’ve put together 15 ReactJS websites and web apps to demonstrate what’s possible with this versatile framework. We also showcase tools product developers use to achieve specific outcomes or optimize ReactJS website performance.

Key takeaways:

  • Facebook
  • Repeat
  • PayPal
  • Netflix
  • Product Hunt
  • Puma Campaigns
  • TeamPassword
  • BBC
  • AirBnB
  • Shopify
  • Pinterest
  • Skyscanner
  • Uber Eats
  • Cludflare

Use ReactJS throughout the product development process–from early-stage prototyping to final front-end development. UXPin Merge is a revolutionary design technology that allows you to bring React-based components to a design tool. Learn more about Merge.

Create beautiful layouts without designers

Take UI components directly from Git repo, Storybook, or through NPM and design production-ready prototypes.

What Can You Build With ReactJS?

React developers use the framework for everything from simple landing pages and websites to complex games, social networking platforms, and enterprise applications. React’s flexibility and versatility make it the preferred choice for many projects, including responsive websites and cross-platform apps.

The component-based web development approach makes it easy for developers to build user interfaces and move elements around to make changes and iterate faster than using a standard HTML, CSS, and Javascript workflow.

React is written in Javascript, the most widely used programming language, so it’s relatively easy to learn and boasts one of the biggest developer communities in the world.

When you should and shouldn’t use React

React works best for single-page applications and complex web-based projects–for example, social media platforms, news publications, and SaaS products.

Landing pages, native applications, and small websites are instances where you might want to choose a different front-end technology. For example, React Native and Flutter are better for native iOS and Android apps. 

15 Examples of ReactJS Websites

lo fi prototyping wireframe 1

We’ve included a mix of enterprises, startups, SaaS companies, small businesses, and others that use React in their tech stack. This list demonstrates React’s versatility for websites and web applications built using the powerful Javascript library.

Facebook

Facebook is the most famous React website example because parent company Meta developed the front-end library in 2012 and still maintains it as an open-source project.

Meta initially used React for the Facebook newsfeed but now uses the library across its product ecosystem. React was a game changer for Facebook because when someone liked a post, only the component changed rather than a full page reload, resulting in significantly better performance and fewer resources.

Meta uses React Native–the mobile version of React–for Facebook, Facebook Ads Manager, and Oculus’ iOS and Android apps.

Repeat

react js website example

SaaS platform Repeat uses NextJS for its website and web application. NextJS allows you to create fullstack web applications, extending what’s possible with “vanilla React.”

Repeat’s homepage is full of motion and immersive animations made possible by NextJS’s powerful features, like rending, routing, and asset optimization.

PayPal

PayPal uses a React version of Microsoft’s Fluent Design for its 60+ internal products. These products include a lot of dashboards and data visualizations necessary for daily operations.

PayPal also uses UXPin Merge, allowing the company’s design teams to prototype and test using React components. This code-to-design workflow bridges the gap between design and development, so designers and software engineers work with the same component library.

Netflix

Netflix uses React and React Redux for state management. According to the official Netflix Technology Blog, “React enabled us to build JavaScript UI code that can be executed in both server (e.g., Node.js) and client contexts.”

Performance is crucial for Netflix as users expect HD videos to load fast. Developers use the virtual DOM to reduce latency from live DOM manipulation. 

Netflix also uses React’s Component and Mixin APIs to “create reusable views, share common functionality, and patterns to facilitate feature extension.” This functionality enables Netflix to A/B test components to determine the best solutions during user testing.

Product Hunt

producthunt website is built with reactjs

Product Hunt is another React/NextJS user. Like Facebook, Product Hunt must handle microinteractions for each post, including upvotes and comments.

Puma Campaigns

Gatsby is a front-end technology built on React which makes it possible to develop high-performing websites and landing pages. Puma uses Gatsby for its campaign landing pages, including this one for the Velocity running shoes.

Gatsby allows devs to build React websites and applications using popular CMS platforms like WordPress, Netlify, Drupal, and Contentful, to name a few, for content management. This framework gives developers the versatility of React with the convenience of their content team’s preferred CMS.

SEO is a big problem for single-page application frameworks like React and Angular. Gatsby helps to solve this problem with its SEO Component, which enables search engines to index the website’s content and individual pages.

Puma also uses React Native for its iOS and Android applications.

TeamPassword

teampassword reactjs website

Password-management startup TeamPassword uses a customized version of the MUI design system–an open-source React component library developed using Material Design used by many B2B enterprise and SaaS providers.

TeamPassword’s developers chose React as it was easier to maintain than their old framework. The 2-person engineering team also uses UXPin Merge, which allows them to import their React library from its private repository into UXPin’s design editor for prototyping and testing.

BBC

The British Broadcasting Association (BBC) was an early adopter of React and even hosted a workshop in 2015 introducing people to the front-end library and its capabilities.

In 2022, with the help of Vercel, the BBC rebuilt its website using NextJS and Vercel. The rebuild resulted in significant performance benefits, with HMR (Hot Module Replacement) reduced from 1.3s to 131ms–a staggering achievement for a website as large and complex as the BBC.

Airbnb

Airbnb uses React for some of its product ecosystems, including Airbnb.io, its open-source project famous for developing Lottie–an open-source animation tool for Android, iOS, and React Native mobile applications.

Airbnb.io is a website developed using Gatsby featuring the company’s blog posts and details about its open-source projects with links to the GitHub repos.

Cloudflare

Cloudflare migrated from Backbone and Marionette to React and Redux in 2015 to develop its cf-ui design system. The multi-brand design system serves Cloudflare’s internal and external websites and products.

Since Cloudflare had to rebuild its component library, the team focused on accessibility, creating three open-source projects in the process: 

UberEATS

Uber uses React Native for its UberEATS web-based restaurant dashboard. The team needed to develop a web application restaurants could access via a tablet and decided to use React Native. The single-page web application communicates with three parties in the UberEATS marketplace and connects to restaurant receipt printers.

Uber also developed Base Web, an open-source design system for building ReactJS websites and web apps. The highly customizable design system boasts an extensive UI component library with theming capabilities.

Related content: Learn about design operations at Uber.

Shopify

shopify reactjs website

Shopify uses React for its website and web application and React Native for its mobile applications. Developers can build React apps for Shopify using its famous Polaris Design System.

Skyscanner

Skyscanner is one of the most widely used travel websites, with over 40 million monthly visits. The website connects to hundreds of airlines and thousands of hotels to show users trip data in seconds.

Skyscanner uses React and React Native for its website and product ecosystem. The company’s Backpack design system features an extensive UI library with web and native components.

Pinterest

Pinterest is another social media platform using React. The company’s Gestalt design system features components for its React web app and React Native mobile applications (iOS and Android).

Pinterest is another example where React provides massive performance benefits for single-page applications. The website’s famous infinite scroll uses lazy loading to display six columns of images and video with impressive speed.

Cuckoo

example of react js website

Cuckoo is a UK-based broadband supplier that uses React and NextJS for its website. The website has a fair amount of animations, including a large revolving sequence in the hero. These animations do not impact the website’s performance, a product of using NextJS.

Prototyping React Websites & Web Apps With UXPin Merge

Prototyping and testing are crucial for any digital product, including websites and web applications. Designers must determine whether their designs solve user needs while providing business value. To get accurate results, designers must use quality prototypes that replicate the final product experience.

Merge is a code-based design technology that imports React components into UXPin so designers can build interactive prototypes. These Merge components have the same fidelity and functionality as the final product because they come from the same repository–the designer’s workflow doesn’t change; they just work with better-quality UI elements.

UXPin Merge doesn’t only benefit design teams. Because Merge creates a drag-and-drop design environment, it makes prototyping and testing accessible to developers and other non-designers.

Startup TeamPassword’s 2-person engineering team uses Merge synced with their custom MUI design system to prototype and test new products. Before switching to Merge, TeamPassword prototyped in code, which made time-to-market slow, reducing the company’s ability to compete.

Since switching to UXPin Merge, TeamPassword ships features much faster, and using a design system has increased UI consistency. TeamPassword also used its React library to redesign its website.

Design your React website faster by using real React components. Discover UXPin Merge.

The post 15 Examples of Reactjs Websites appeared first on Studio by UXPin.

]]>
Code to Design Complete Guide for 2023 https://www.uxpin.com/studio/blog/code-to-design-guide/ Tue, 14 Feb 2023 20:52:48 +0000 https://www.uxpin.com/studio/?p=39203 Design-to-code is a familiar workflow. Designers create a prototype using a design tool, and developers convert it to code–a simplified version of the standard product development process. UXPin Merge turns this process upside down with a revolutionary code-to-design workflow. This article explains code to design and how it enhances the product development process with four

The post Code to Design Complete Guide for 2023 appeared first on Studio by UXPin.

]]>
Code to Design Guide

Design-to-code is a familiar workflow. Designers create a prototype using a design tool, and developers convert it to code–a simplified version of the standard product development process.

UXPin Merge turns this process upside down with a revolutionary code-to-design workflow. This article explains code to design and how it enhances the product development process with four case studies, including FinTech giant PayPal. Learn more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

What is Code to Design?

Code to design is a UX workflow developed by UXPin using Merge technology. With Merge, Designers can import UI components from a repository into UXPin’s design editor and use them to build fully interactive prototypes–a process called component-driven prototyping.

Component-driven prototyping gives designers all the benefits of code without needing to write or learn a programming language.

collaboration team prototyping

This code to design workflow offers several benefits for UX designers, stakeholders, and product teams:

  1. Designers build production-ready prototypes, increasing testing scope during the design process.
  2. Using “ready-made” code components means designers don’t design from scratch, reducing time to market while increasing prototype quality, fidelity, and functionality.
  3. Stakeholders can better visualize a design’s vision because Merge prototypes look and behave like an end-product.
  4. Design handoffs are smoother with less friction because designers and engineers speak the same language and use the same source of truth.
  5. Increases design system adoption because Merge integrates the component library into the product development workflow.
  6. The drag-and-drop workflow makes product design more accessible to non-designers.

Design to Code vs. Code to Design

code design developer

The challenges of design to code

Design to code is the traditional UX workflow. Design teams create mockups and prototypes using standard image-based design tools, which developers convert to code.

The biggest challenge with a design-to-code workflow is that it creates a gap between designers and engineers. To bridge that gap, designers must use external tools, write detailed documentation, and meet with devs to explain how prototypes and interactions must function.

Even with all this extra work and explanation, the final product often doesn’t meet the designer’s specifications and expectations. Designers and engineers argue over who is to blame, but the real issue is a language barrier. Designers work with vector graphics tools, while engineers work with code.

The code to design solution

A code-to-design workflow bridges the gap between designers and engineers. They still speak different languages, but a technology like Merge facilitates the translation between design and development.

Design teams work with visual UI elements, while engineers work with the code powering them–the same component from two perspectives.

Teams working with a design system benefit most from this code-to-design workflow.

With design-to-code workflow, teams work with two versions of the design system:

  • Image-based UI kit for design tools
  • UI component library for programming

Code to design eliminates this separation because design teams and engineers use the same component library from the same repository–creating a true single source of truth.

Read more about code to design vs. design to code.

Code to Design Use Cases

team collaboration talk communication

You’re probably thinking, “this code-to-design thing sounds great, but how does it translate to real-world product development?” Glad you asked. Here are four use cases where companies use code-to-design for product development.

PayPal

In 2019, PayPal completely redesigned its internal product development process using UXPin Merge. PayPal’s internal UX team had a unique challenge–they had five designers to over one thousand engineers managing 60+ products. No two products looked the same, and each had usability and design inconsistency issues.

Erica Rider, UX Lead EPX at PayPal, was tasked with solving this problem. To add a layer of complexity, Erica had to create a workflow that enabled PayPal’s product team to design, test, and deliver products. They lacked design skills and had little design tool experience.

After trying several solutions using traditional image-based tools, Erica discovered Merge. PayPal’s UX team used Merge to sync a customized Fluent UI design system to UXPin.

PayPal’s stakeholders wanted to test the effectiveness of this new code-to-design investment. Erica’s experiment involved creating two versions of a one-page prototype: one using an image-based tool and the other using the UXPin Merge. The results were better than expected:

  • Image-based tool: over one hour
  • UXPin Merge: 8 minutes

The Merge prototype had far superior fidelity and functionality. And, with some coaching, PayPal’s product teams achieved the same results.

Read PayPal’s full case study.

Iress

Software developer Iress was on a four-stage process to design system maturity.

image 12
  • Stage one: PDF style guides
  • Stage two: HTML pattern library with CSS
  • Stage three: UI kit and component library
  • Stage four: a fully integrated single source of truth with no design or code required for releases

Iress was stuck on stage three, unsure how they would bridge the gap between design and development to reach the final goal–until the team discovered code-to-design approach.

This workflow ticked all the boxes for Iress at that moment:

  • A single repository serving designers and engineers the components they need to build and release products.
  • Better alignment between designers and engineers, with seamless design handoffs.
  • No designing or front-end programming from scratch.
  • No design drift or inconsistencies across the organization.
  • Realistic, interactive prototypes give testing participants and stakeholders an accurate representation of the final product.
  • The opportunity to experiment with theme switching for dark mode or multi-brand design systems.

Read Iress’ full story.

TeamPassword

The first two use cases were enterprise products. But what can code-to-design do for startups and small teams? TeamPassword operates in the highly competitive password management market. The startup’s biggest challenge is that they don’t have any UX designers.

For a startup entrusted with people’s passwords and sensitive data, usability issues and design inconsistencies erode trust, ruining TeamPassword’s reputation and resulting in churn.

TeamPassword’s engineers did all the design and user testing using code prototypes. While these prototypes accurately represented the product’s functionality and user experience, building and iterating on ideas was time-consuming.

In 2022, TeamPassword switched to the MUI design system, which they synced to UXPin using Merge. Instead of developing prototypes, engineers used their custom MUI React library in UXPin. This code-to-design workflow significantly reduced time-to-market while eliminating usability issues and design drift.

When TeamPassword’s developers update the design system repository, the change automatically sync to UXPin, so they always have the latest version. Merge’s Version Control allows the team to track changes and switch between versions during testing.

Read TeamPassword’s full case study.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

dotSource

dotSource is a German-based digital product consulting and development agency. The company uses multiple design systems to deliver products and solutions to clients.

dotSource’s biggest problem in delivering these products was redundant processes and duplicate work with two design systems–a UI kit for design and a component library for development. The design system’s documentation created a third piece the team had to maintain.

dotSource’s “single source of truth” was actually three sources, not one–a problem many organizations encounter with design systems.

dotSource knew they had to make their single source of truth code-based but didn’t know how to achieve this workflow using traditional image-based design tools–until they discovered UXPin Merge.

dotSource uses Merge’s Storybook Integration to sync its design system to UXPin. Storybook allows dotSource to update the design system’s repository, documentation, and UXPin’s components with every release.

“Switching to a code-based design workflow is the only way around these image-based limitations. A code-based prototyping tool like UXPin with Merge technology enables this workflow by rendering code (instead of vector graphics), just like a browser. In UXPin, UI components look and behave exactly as they do for developers, effectively bridging the gap between design and development–a real single source of truth.” – dotSource

Read dotSource’s full article.

How Does Code to Design Work in UXPin?

Product teams have two options when importing code components into UXPin:

  1. Import a product design system
  2. Import an open-source UI library (MUI, Bootstrap, Ant Design, etc.)

There are three ways to bring these libraries into UXPin:

We have three tutorials for using the npm Integration and Component Manager:

The Git and Storybook integrations are a little more complex, requiring technical skills to complete the Merge setup with UXPin’s Technical Support Team.

Combining components with UXPin Patterns

With UXPin Patterns, designers can combine UI components to create new UI patterns and templates. This feature is particularly helpful when a design system doesn’t have a specific element.

For example, suppose you need to add an analytics dashboard to your product, but the design system doesn’t have charts. You can find an open-source UI library on the npm registry, import the package using the MCM, and add the chart components to create new patterns while maintaining the same fidelity and functionality. The team can promote this pattern to the design system or use it as a once-off. 

Learn more about UXPin Patterns in this tutorial.

Ready to get started with code to design? Visit our Merge page to request access to this revolutionary code-based technology.

The post Code to Design Complete Guide for 2023 appeared first on Studio by UXPin.

]]>
Code to Design vs. Design to Code – Which is Better? https://www.uxpin.com/studio/blog/code-to-design-vs-design-to-code-comparison/ Thu, 09 Feb 2023 14:32:25 +0000 https://www.uxpin.com/studio/?p=39085 Just completed the final iteration of your prototype? Great! Let’s send the design to the development team, so they can translate it to code. Here the question pops up: is design to code really the best direction you can hope for? Actually, there’s a second model of working: pushing code to design and working with

The post Code to Design vs. Design to Code – Which is Better? appeared first on Studio by UXPin.

]]>
Code to Design vs Design to Code

Just completed the final iteration of your prototype? Great! Let’s send the design to the development team, so they can translate it to code. Here the question pops up: is design to code really the best direction you can hope for? Actually, there’s a second model of working: pushing code to design and working with coded UI components.

In this article, we will discuss design-to-code model and why design teams cannot eliminate inconsistencies and lack of collaboration without changing their tools. Luckily, with UXPin Merge, designers still enjoy an intuitive design tool’s user interface; all that changes is what’s behind the components that they use for prototyping.

Ready to experience code-to-design technology? Request access to UXPin Merge and obtain a single source of truth between design and development. Read more about UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Design to Code 

Design to code describes a typical product development process. Designers use design and prototyping tools to design user interfaces and hand these off to developers to code.

Over the years, the design-to-code process has evolved, but there is still a big gap between design and development. Designers still create static vector user interfaces, which engineers must translate into code.

mobile screens pencils prototyping

Due to the lack of fidelity and functionality, design teams must include documentation, annotations, and explanation about what designs and prototypes are supposed to do.

Many designers use GIFs and videos to demonstrate animations and transitions because their tools lack interactivity, which requires significant time and resources. It also fragments design files and documentation, confusing developers and stakeholders.

Read more about it in our article about image-based vs. code-based tools.

Benefits of design to code

The design-to-code process is comfortable for designers and engineers because it allows each party to work with familiar tools, workflows and using familiar vocabulary that’s comprehesive to them.

Design tools are built for ease of use and speed. Experienced designers can create a screen mockup really fast using an image-based design tool.

Limitations of design to code

Unfortunately, the limitations outweigh the benefits–which is why so many companies seek ways to improve and update their design processes.

Misalignment between design and development

Fidelity and functionality are massive limitations with current design-to-code workflows. Image-based prototypes don’t look or function like the end product. Even with documentation, annotations, and handover meetings explaining prototypes, designers still complain that engineers haven’t met their expectations. Conversely, engineers struggle to articulate technical limitations to designers, creating friction.

Design system challenges

Even with high-quality design systems, design to code creates challenges for handoffs, scalability, and maturity. The design system team must manage two design systems:

  • UI kit for designers
  • Component library for developers

Additionally, they must maintain documentation for both systems.

design system abstract

Describing this workflow as a single source of truth is a fallacy. As the German-based software development agency dotSource points out in this article

“Most design system releases require updating in at least three places:

  1. The design system’s codebase (component library)
  2. The design team’s UI kit (design tool)
  3. The design system’s documentation

Instead of a “single source of truth” that gives “three single sources of truth” for every UI component–this seems counterintuitive and increases errors. If the design system’s update process and technologies don’t align, the team ends up with redundant work because a single change requires three updates.”

Duplicated work

When engineers get the final version of design, they need to translate it to code. Thus, their work takes much longer than it could if the team didn’t need to push design to code.

Code to Design

Code-to-design is a workflow pioneered by UXPin using Merge technology.

collaboration team prototyping

Designers still use a design tool with the same familiar UI and features, but the designs render production-ready code instead of vector graphics.

Many design tools try replicating this system with plugins and extensions, but the code is rarely usable for engineers. Merge is different because it syncs components from a design system’s repository to UXPin–engineers can use the code because they wrote it.

Designers use the same component library during the design process as engineers use for development.

Benefits of code to design

Single source of truth

Code to design solves many product development problems, but the most significant benefit is a true single source of truth–everyone uses the same component library from the same repository. Any changes to the repo automatically sync to UXPin, notifying design teams of the update.

Merge’s Version Control allows design teams to change to earlier releases and only update an existing project when they choose.

design and development collaboration process product communication 1

If devs are using UXPin’s Storybook Integration, they update documentation simultaneously with every release. This single source of truth solves many DesignOps challenges, allowing team members to focus on high-level tasks.

Another significant benefit of a code-to-design workflow is smoother design handoffs. Engineers import the component library’s package, add the components, and copy JSX code from UXPin to complete frontend development.

Component-driven prototyping

Merge components appear in UXPin with the same properties and interactivity as the repository. Each component’s Props (Args in Storybook) appear in UXPin’s Properties Panel, allowing designers to make changes according to the design system–i.e., colors, states, sizes, etc.

These ready-made UI elements facilitate rapid component-driven prototyping, where designers simply drag and drop components and patterns to build fully functioning prototypes.

Ultimate consistency with zero design drift

These ready-made components eliminate inconsistencies because everyone uses the same UI library with the same limitations and constraints.

Designers can only change elements via the properties available in UXPin’s Properties Panel. There are no overrides, thus eliminating the possibility for changes, resulting in no drift.

Better governance

These limitations improve governance and design system integrity. The design system team has absolute control over the repo; therefore, everyone must follow the correct procedures to promote new patterns and components.

Scalability and maturity

Merge facilitates the highest design system maturity stage with every team member using the same component library–no designing or developing from scratch to release products. Using this technology, organizations can achieve this level of maturity significantly quicker than following a design-to-code workflow.

screens prototyping

With everyone using a single codebase, it’s easier to scale a design system following technological and market changes. Whenever the design system team adds new components, patterns, or templates to the repository, they’re immediately available for the entire product development team.

Enhanced testing

Better prototypes mean better testing. Designers can solve more issues and find better opportunities during the design process with prototypes that accurately represent the final product experience.

Usability participants and stakeholders can interact with these prototypes like they would the final product, resulting in meaningful feedback and actionable data-driven insights.

Limitations

Code to design requires a component library

Code to design can only work with a component library. You can use an open-source UI library if your organization doesn’t have a design system. For example, PayPal’s internal product development team uses a customized Microsoft Fluent UI design system.

Designers can also use Merge’s npm integration to import components from open-source libraries available on the npm registry. This method requires no technical skills. Instead, designers use the Merge Component Manager to import and manage UI elements.

Designers rely on engineers

Code-to-design requires designers and engineers to work closer together. Most organizations have a dedicated design system team, so this won’t be too different from standard governance procedures.

Less flexibility

A code-based design system is less flexible than a UI kit that designers can quickly assemble. Designers have limited or no possibility of changing or manipulating components once uploaded into the design tool. This inflexibility is necessary for design system governance and integrity, but some might argue that it restricts innovation and creativity.

design system components

UXPin functions like any other design tool, so designers can develop new ideas and patterns to present to team members. With UXPin Patterns, designers can combine existing design system elements or import open-source libraries to create new components, patterns, and templates.

With this in mind, code-to-design creates more opportunities for creativity and innovation because designers can leverage the best parts of open-source libraries to develop new patterns.

Companies Using Code to Design

Our diverse client base proves that code to design works for multinational enterprises, agencies delivering white-label software, and startups. Here are three great examples of code-to-design in practice.

PayPal

PayPal’s internal UX team revolutionized its product development process by switching to a code-to-design model. Since the switch in 2019, PayPal’s product teams deliver releases 8X faster with no design drift or inconsistencies. PayPal’s new product development process has improved cross-functional collaboration, with everyone taking responsibility for user experience.

Merge also improved PayPal’s prototyping and testing, with better feedback from test participants and stakeholders. 

“One of the significant impacts of UXPin Merge is our ability to create higher-fidelity prototypes. There’s a lot more confidence from everyone (including designers, C-suite, directors, and developers) about what the final product will look like, the user experience, and interactivity–giving us higher quality feedback from stakeholders.”Erica Rider, UX Lead EPX at PayPal.

TeamPassword

TeamPassword is a 5-person startup (as of Feb 2023) operating in the highly competitive password management market. The startup doesn’t have a UX team, requiring engineers to prototype and test new releases.

Before switching to Merge, TeamPassword’s engineers would develop each prototype–a time-consuming process for a company with limited resources. In 2022, TeamPassword changed to Merge and synced a custom MUI design system.

Since changing to a code-to-design workflow, TeamPassword’s speed-to-market has drastically improved, and the product has no usability issues or inconsistencies, making the company more competitive.

Ready to overhaul your design-to-code workflow with a revolutionary code-to-design solution? Visit our Merge page.

The post Code to Design vs. Design to Code – Which is Better? appeared first on Studio by UXPin.

]]>
Angular vs React vs Vue – Which Framework You Should Use https://www.uxpin.com/studio/blog/vue-react-angular-framework-comparison/ Thu, 26 Aug 2021 11:26:00 +0000 https://www.uxpin.com/studio/?p=31429 As a developer, you definitely heard about Angular, React, and Vue and the constant discussions and comparisons around which one is better. Of course, all three of them are used for building web, mobile apps, and fast development of UI through the use of components.  However, that doesn’t mean they are the same as Angular

The post Angular vs React vs Vue – Which Framework You Should Use appeared first on Studio by UXPin.

]]>
Angular vs React vs Vue

As a developer, you definitely heard about Angular, React, and Vue and the constant discussions and comparisons around which one is better. Of course, all three of them are used for building web, mobile apps, and fast development of UI through the use of components. 

However, that doesn’t mean they are the same as Angular offers a wide range of pre-built features available to the user, React is really minimalistic in terms of features whereas Vue stands somewhere in the middle.

So, in that regard, if you are a UI developer who wants to learn one of these technologies, but can’t decide which framework to learn, a detailed comparison might help.

Building a new app? Don’t forget to build a prototype to test your product with real user and check if they can use it. One of the easiest to use tools for designing a prototype is UXPin. Its Merge technology makes it easy to bring React components to design tool and build a high-fidelity prototype in less than a day. Discover UXPin Merge.

Reach a new level of prototyping

Design with interactive components coming from your team’s design system.

Market Popularity and Demand 

Each one of the mentioned technologies have their own purpose in regards to how to approach and handle a specific project. 

For example, Angular is an extensive front-end framework that lets you develop dynamic single-page web apps, suited for large-scale enterprise projects. However, Vue and React are also capable and flexible enough to be used in both enterprise or start-up level projects when developing UI through the use of components.

Talking simply from a pure job-market aspect, React and Angular are probably the more popular and in-demand when compared to Vue. Vue is the newer one among the three, but slowly taking over, with major companies moving to Vue.

Community and Ecosystem

When choosing a framework you want to learn, an active community and development are part of a growing and stable ecosystem. All of the mentioned frameworks are under active development and maintenance while being used by thousands of developers. That means there are people willing to help you out and share their knowledge with you.

Angular Ecosystem

Angular is the oldest of the three frameworks, and it has been around since 2010. Being developed and maintained by Google, Angular offers a lot of ready-made components for any new and aspiring UI developers who are looking to start building mobile and web apps.

It features a lot of pre-built components from Google’s Material Design visual design language to CSS themes.

React Ecosystem

Developed by Facebook back in 2013, React is the second oldest framework on our comparison list. Since then it has grown massively in popularity and amassed a big community.

2 copy 3

When compared to Angular and Vue, React may be the winner in terms of overall ecosystem maturity and component availability as well as community. Also, it offers integrations with other platforms and tools like Git or UXPin.

Vue Ecosystem

Developed in 2014 Vue is the youngest when compared to the other two frameworks, but has grown a lot in popularity.

When it comes to data binding, Vue made a lot of things easy for developers. Speeding up mobile and web app development with Vue means using the most popular open-source projects within the ecosystem so you can take advantage of input components.

Ease of Use

Let’s take a look at the complexity of Angular, React, and Vue, their syntax and which one is the easiest to learn.

Syntax

When it comes to syntax and structuring your code, it’s probably a matter of personal preference. Some developers like to use TypeScript while others stick to JavaScript and there’s really no argument here because syntax doesn’t impact anything in terms of performance.

However, in terms of complexity as to which framework is easiest to learn and which one has the steepest learning curve, we pit Vue against Angular since React is the least demanding.

And if you really don’t like the way a certain library handles the code in terms of syntax, you should probably not work with that framework on a daily basis.

So in terms of syntax and structure complexity, Angular will be the most demanding because projects in Angular use TypeScript, the JavaScript superset and it’s something you’ll have to learn additionally.

As a component-based framework, Vue utilizes single file components and plain JavaScript so you’ll probably find code written in JS only although it offers TypeScript support too. 

Compared to Angular, Vue syntax is the easiest to learn and to grasp for any newcomer dev and UI developer since it doesn’t mix HTML and JavaScript.

As mentioned, React is the easiest one to learn both in terms of web and UI development.

Components

When talking about components, the main premise behind their use is speeding up the development process by reusing code since that’s the most important aspect in open-source, component-based libraries like Angular, React, and Vue.

React

3 40

You can think of components as the building blocks in React. They help you reuse pieces of code, modify behavior or render parts of the webpage in a different way without too much hassle through the use of input properties.

Furthermore, they go well with objects called props which store valuable object attribute data and they also have the ability to pass that data from one component to another.

With that being said React components are really powerful in terms of composition, and reusing code between components.

Angular

1 49

Angular is also a component-based framework where the components or directives (Angular components are called directives) utilize templates to define basic parameters.

So, the directives or components in Angular usually contain the basic behavior parameters like metadata within a template. It is advised to use TypeScript with Angular for the best experience when working on projects.

Vue

2 46

Being a highly customizable component-based progressive framework, you can create amazing, modern-looking, intuitive UI systems with flawless component behavior. It’s based around View components.

Which One is the Best – Vue, React or Angular?

When comparing the three most popular JavaScript frameworks, there is no absolute best when it comes to UI development since all three are under a very active development.

However, based on many aspects that we’ve covered, like community and ecosystem, syntax, ease of use, or components, you should make your choice based on both the projects you want to work on and the team you’re going to be a part of.

Push components to design editor

No matter which of these 3 you will choose, you can benefit from UXPin’s Merge technology and bring your React components to the design editor to avoid designing and building prototypes from scratch. Opting for Vue or Angular? Try UXPin Merge’s Storybook integration. Learn more about it. Discover UXPin Merge.

The post Angular vs React vs Vue – Which Framework You Should Use appeared first on Studio by UXPin.

]]>