Logo

dev-resources.site

for different kinds of informations.

A Lightweight React Library for creating clickable Prototypes

Published at
12/19/2019
Categories
prototyping
react
sketch
ux
Author
pinussilvestrus
Categories
4 categories in total
prototyping
open
react
open
sketch
open
ux
open
Author
15 person written this
pinussilvestrus
open
A Lightweight React Library for creating clickable Prototypes

As a little Holiday project, and as a follow-up of the DMN Innovation Week we had at Camunda, I created a small React components library to quickly create clickable prototypes.

Inside Innovation Week, we created multiple small prototypes to test various ideas on how to improve the DMN experience in bpmn-io. Inside that, I used jquery to create a click-prototype and use it inside user tests. The results can be seen in this GitHub repository.

Yes, jquery is not the best solution to save the application state, like to save the actually visible view. Therefore I wanted to have a simple library that managed the interaction between different screens/views and where I only have to declare the click points which should direct to the next view.

I've chosen React and created the clickable-prototype project. It offers different components to declare your clickable prototype. A simple React Application using that would like that

import React, { Component } from 'react'

import { View, HitBox, ViewContainer } from 'clickable-prototype'

import view1 from './views/view1.png'
import view2 from './views/view2.png'

export default class App extends Component {
  render () {
    return (
      <div>
        <h1><span>clickable-prototype</span> Demo</h1>
        <ViewContainer defaultView='view1' className='container'>
          <View
            key='view1'
            className='custom-view'
            screen={view1}
            width='1220px'
            height='630px'>
            <HitBox
              position={{y: 380, x: 477, width: 280, height: 60}}
              to='view2' />
          </View>
          <View
            key='view2'
            className='custom-view'
            screen={view2}
            width='1220px'
            height='630px'>
            <HitBox
              position={{y: 490, x: 477, width: 280, height: 60}}
              to='view1' />
          </View>
        </ViewContainer>
      </div>
    )
  }
}

Enter fullscreen mode Exit fullscreen mode

This will result in the following prototype

Alt Text

It's a very early stage of the library but it helps me a lot to quickly create clickable prototypes without any extra fancy stuff as you'd have in applications like InVision.

I would really appreciate if you give it a try and give some feedback!

prototyping Article's
30 articles in total
Favicon
Launching AI Prototyping Projects
Favicon
Running AI Prototyping Projects
Favicon
Introducing AI Prototyping Projects
Favicon
MVP as an Excuse for Bad Code?
Favicon
AI-Driven App Prototyping: Speeding Up the Development Process
Favicon
Godot 2D & 3D Prototype Templates
Favicon
Flems.io
Favicon
Enhancing Collaboration in Development with Figma Prototypes
Favicon
The Significance of Information Architecture and Prototyping in UX | UX Series Part 4 of 6
Favicon
Designing the User Experience: User Journeys and Visual Design | UX Series Part 3 of 6
Favicon
PreVue 3.0: Vue’s most visual prototyping tool yet
Favicon
Here's What You Need to Know About Virtual Prototyping on a VR System
Favicon
20 Questions on Product Validation
Favicon
What Makes Electronics Prototyping so Important for Successful Product Development?
Favicon
Figma: Components
Favicon
Couple of custom written prototype methods for TypedArrays in JavaScript
Favicon
Prototyping today is happening like this !
Favicon
What Developers NEED to know when working with designs (video)
Favicon
Tech prototyping tools and libs for backend web devs πŸ’»πŸš€πŸŒ
Favicon
Tech prototyping tools and libs for frontend web devs πŸ’»πŸš€πŸŒ
Favicon
Who wins the fight between Figma and Adobe XD?
Favicon
rapid prototyping with json file database
Favicon
Parabeac-Core v1.1β€Š - Prototyping to FlutterΒ code
Favicon
Prototyping Javascript { }
Favicon
Tech Prototyping - 5 tips for developers
Favicon
Creating the unknown - What and what not to build in efficient prototypes
Favicon
Design Sprints - How we use it!
Favicon
Creating Demos with Svelte - Lessons Learned
Favicon
The Art of Validating Quickly
Favicon
A Lightweight React Library for creating clickable Prototypes

Featured ones: