Anima 4.0: Go Straight From Design to React in the Design Handoff
Imagine this scenario: You get an email from the design team. It contains a link to a high-fidelity prototype of a React app they want you to build. You click the link and get ready to inspect the work only to find… the components have already been built.
Huh?
It might sound like a dream or wishful thinking, but that’s exactly what Anima 4.0 does. For years, Anima has worked to streamline the handoff between design and development, and with it’s latest update, designers are brought fully into the fold by turning designs into developer-friendly code.
Let’s repeat that again, but more specifically: Anima 4.0 lets you cherry-pick elements straight from a design and get fully written React components that just work.
The easiest design handoff ever
Anima isn’t your typical design-to-development workflow. It actually feels a little inaccurate to say that it facilitates handoffs because development is part of the process all along.
Consider what’s involved in a design handoff. Sure, it varies by organization, but they generally flow something like this:
- Design creates high-fidelity mockups.
- Design creates a package of the work, possibly including assets, like images and fonts.
- Design and development meet up and talk things out, possibly with an interactive prototype.
- Development gets started.
- Development demos the work.
- Design requests changes.
- Development makes those changes.
- And on and on…
With Anima 4.0, that process is more like this:
- Design creates code-based prototypes.
- Development works alongside, with the ability to reference prototypes, grab assets, generate code, and test things out.
So, what we have is less of a handoff and more of a productive and collaborative process that saves boatloads of time… and frustration to boot.
No more “How does this thing work?”
That’s probably the question I ask the most with any design handoff. Front-enders have to be aware of so many things and that often leads to lengthy meetings and numerous emails about how things are supposed to work.
- Where does this link to?
- Does this have an active state?
- Will this image be SVG?
- …you know how it goes
That’s where Anima shines. The deliverable is not just a flat design, but a fully interactive prototype. All of the links, states, assets, and anything else you can think of is right there for you to view and interact with, including animations and effects.
Oh, and if your design is responsive (which, of course, it is), it’s easy as cake to see how it behaves at any breakpoint, whether you’re using the integrated browser in the design application or in the Anima prototype.
Getting the responsiveness of a design down pat is probably one of the more time-consuming parts of a project. I’ve had so many back-and-forth discussions with designers that would have never happened if it was possible to test the design in a real browser during design in the design tooling that designers are probably already using, including Sketch, Figma and Adobe XD. And because Anima generates all the code, that would have saved a lot of my time trying to get the breakpoints just right. It would have also saved the designers time without having to document that behavior and answer all my questions.
No more “That’s not how it was designed!”
Not only do you have a prototype that realistically simulates a live site, but you get all the code you need! And no, this isn’t like the HTML and CSS generators you’ve probably seen in the past. Anima outputs extremely clean code, complete with semantic HTML elements and modern CSS features. Here’s the CSS I got from a quick design of a hero component I threw together:
@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
.hero {
background-color: transparent;
flex-shrink: 0;
height: 1037px;
position: relative;
width: 505px;
}
.hero-container {
background-color: var(--royal-blue);
height: 1024px;
left: 0px;
position: absolute;
top: 0px;
width: 505px;
}
.shape-circle {
background-color: transparent;
height: 444px;
left: 283px;
position: absolute;
top: 593px;
width: 222px;
}
.shape-dots {
background-color: transparent;
height: 646px;
left: 43px;
position: absolute;
top: 189px;
width: 418px;
}
.shape-triangle {
background-color: transparent;
height: 332px;
left: 0px;
position: absolute;
top: 79px;
width: 269px;
}
.video {
background-color: transparent;
height: 294px;
left: 43px;
overflow: hidden;
position: absolute;
top: 278px;
width: 418px;
}
:root {
--royal-blue: rgba(67,83,255,1.0);
}
Lots of precise numbers in there that normally would have taken some time-consuming guesswork. And those are class names and custom properties I can actually pronounce! Will I change any of that code? Maybe! But at least I was part of the process all along, and have a solid head start that I would have otherwise spent time writing myself.
But, the real gem here is that Anima 4.0 goes where no other platform has gone because it can…
Turn anything into a functional React component
All it took was a single click and here’s what I got:
import React from "react";
function App(props) {
return (
<div className={`hero ${props.className || ""}`}>
<div className="hero-container"></div>
<img
className="shape-circle"
src="https://anima-uploads.s3.amazonaws.com/projects/5f8e220bdff56f27ee5b7cc7/releases/5f9082de53033dac763b4b6c/img/desktop-hd-learn-path-2-DC8E0494-121C-40B1-8AE1-3C8BEAC833A7.png"
/>
<img
className="shape-triangle"
src="https://anima-uploads.s3.amazonaws.com/projects/5f8e220bdff56f27ee5b7cc7/releases/5f9082de53033dac763b4b6c/img/desktop-hd-home-triangle2x-BA81FE1D-AE06-47A2-91D5-20EC51D5F0F8.png"
/>
<img
className="shape-dots"
src="https://anima-uploads.s3.amazonaws.com/projects/5f8e220bdff56f27ee5b7cc7/releases/5f9082de53033dac763b4b6c/img/desktop-hd-home-rectangle2x-4EFFE4A8-CAD1-47C7-A175-D3256F2E5124.png"
/>
<div className="video">
<iframe
style="border: 0; pointer-events: auto;"
id="ytplayer"
type="text/html"
width="100%"
height="100%"
src="https://www.youtube.com/embed/rk71kS4cY7E?rel=0"
frameborder="0"
allowfullscreen="allowfullscreen"
mozallowfullscreen="mozallowfullscreen"
msallowfullscreen="msallowfullscreen"
oallowfullscreen="oallowfullscreen"
webkitallowfullscreen="webkitallowfullscreen"
></iframe>
</div>
</div>
);
}
export default App;
This is real — and brand new in Anima 4.0! And I can do this with any element in the Anima interface. Select an element, mark it as a component, then generate the code.
You can expect the same for Vue and Angular in future releases.
Why this is a big deal
Perhaps it’s obvious by now, but I see tons of benefits from where I sit as a front-end developer. Getting HTML and CSS is great, but having a tool like this that integrates with modern frameworks and code practices is more than impressive — it’s a game-changer. There’s a lot less context switching and time spent on things that I’d rather spend doing better work (or getting started on the next project)!
Like many of you, I straddle the line between design and development and see how this fills a lot of the gaps on the design side of things as well. I can’t get over the in-app browser previews. All of the time spent design QA’ing responsive breakpoints instantly opens up when that stuff can be done at the point of design — not to mention the time saved with the code it generates.
Here’s a quick video of moving from Adobe XD to a real rendered React components in the browser:
Anima 4.0 is available… today
As in, it literally shipped today, October 27. In fact, there’s a virtual party happening and you’re invited. I’m told it’s going to be an epic geeky event with great folks, demos, and even gifts. Hope to see you there!
The post Anima 4.0: Go Straight From Design to React in the Design Handoff appeared first on CSS-Tricks.
You can support CSS-Tricks by being an MVP Supporter.