Comments (3)
As I mentioned before, I do not recommend to use react-konva
for such purpose. Because I think it will be NOT faster than classic HTML. But I didn't make real tests, it is just my assumption. You can create small prototype and test by yourself, probably it will be good.
Another possible good solution is to create "canvas-ui-ultra-fast-library" by yourself manually (probably webgl performance will help here a lot, take a look into http://www.pixijs.com/). And then build react bridge on top of it (like react-konva
is a bridge for Konva).
from react-konva.
Hello. First of all, it really depends on your interface. What exactly do you want to draw? Will it have animations, what kind of animations etc?
But my first answers is no. DO NOT USE react-konva
and DO NOT USE react-canvas
.
react-canvas
is designed for building simple but very performant interfaces (in Flipboard UI they have just images and some text in a long list of posts). The issue here is that the project is not maintained anymore.
react-konva
is not designed for building UI (here I mean classic UI - text, icons, buttons, inputs, forms, etc). It is designed for drawing on canvas in "react-style" and it is very useful when you need pixel manipulations, exporting to image, filters.
So for complete app UI I recommend to use our old friends - HTML + CSS.
from react-konva.
Hi @lavrton,
Thanks for the reply. Ultimately I agree, good old HTML and CSS are much more suitable for building UI's. Unfortunately we're running into a similar issue that Flipboard ran into, where mobile web performance just isn't there for the kind of almost-native-app-like experience we want to create with heavy animations, dynamic content, etc.
I suppose this could boil down to refining and optimizing our react render stack, but the idea of a canvas lib for building interfaces sounds like it combines the best of both worlds ( performance and precision of canvas, flexibility of the DOM ). But I suppose canvas libs just aren't there yet ( not to mention the various other trade offs, difficulty with text / links etc ).
Thanks for your honesty and candidness!
from react-konva.
Related Issues (20)
- How to achieve a layered separation between children of the same group? HOT 9
- Uncaught TypeError: getImage.crop is not a function
- Shapes with opacity do not correctly apply layer pixelRatio and can appear blurry on zoom in HOT 4
- NextJS: Module not found: Can't resolve 'canvas' HOT 2
- Issue with RTL Text
- Facing the issue now with Next.js 14: HOT 5
- OnTouchStart does not contain touches HOT 1
- getRelativePointerPosition has an offset on x when going fullscreen
- Asynchronous drawing will exceed the cropping area HOT 4
- Free drawing performance HOT 6
- Transformer is not reusable HOT 2
- Coordinates not working correctly after zoom in/out or drag of stage HOT 1
- If I want to erase only the lines drawn with a pen, how can I do that? HOT 2
- Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. HOT 1
- Arrow Drag and Transform using anchors not working HOT 4
- load data to stage HOT 1
- Positioning issue with transformer using keepRatio prop set to false HOT 1
- Breaking changes in React experimental branch
- TypeScript : `'cornerRadius'` does not exist on type `Shape<RectConfig>` HOT 1
- Trouble with Drag-and-Drop on Mobile Devices in React (with react-konva) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-konva.