3 ms·
> - constraint-based layouts https://gss.github.io/ https://gss.github.io/ > 60fps animations on actual HTML elements. There are plenty of demos reaching 120
by slver 5y ago
> - constraint-based layouts
https://gss.github.io/ https://gss.github.io/
> 60fps animations on actual HTML elements.
There are plenty of demos reaching 120fps animations either with CSS, or JS in DOM, or in canvas (with or without WebGL), so this issue doesn't sit.
Obviously a cross-platform solution is not as efficient as a platform-specific solution. But it's quite good these days.
> Things like "animate a list item being removed from a list" (and you're not allowed to say things like "we know the height of the item beforehand")
Look, JS is fully exposed to the DOM, so you don't get to tell me "you're not allowed" about features that the browser allows. We're not arguing whether the imaginary HTML in your head is capable of what you want, we're arguing about whether the real one is.
> customisation of built-in components like selects
Implemented by your next point:
> almost literally anything from Sencha's/ExtJS' kitchen sink
Those are libraries that run in a browser. So they count as something the browser can do. Your initial complaint was that we're so constrained that it's "nearly impossible" to do what you want. If Sencha and ExtJS does it, and you can just use it, your argument is invalid.
> Oh yes, some of them can be made at great expense of time and manpower. And some of them have become easier to do (some layouts like grids).
Uh-huh. So what is your complaint again? That it's too much effort to use this great expense of time and manpower by downloading it with your package manager?
- dmitriid 5y ago> https://gss.github.io/ https://gss.github.io/ Yup. Not native to the web, and IIRC jundreds of kilobytes of JS > There are plenty of demos reaching 120fps animations either with CSS, or JS in DOM, or in canvas (with or without WebGL), so this issue doesn't sit. Yup. "If I close my eyes, the problem will go away". Also, "if I ignore the actual content of the complaint, it will go away". Because demos are just that: demos. > Look, JS is fully exposed to the DOM Ah yes. Suddenly it's no longer HTML and CSS, now we're bringing JS into the fold. Do you know what it takes to actually properly animate what I requested? > Implemented by your next point: Ah, yes. How it started: HTML is so powerful! How it's going: Oh, look, all you have to do is spend thousands of man hours and write megabytes of Javascript to achieve what's available in other not-so-powerful UI kits. Don't forget, what you implement will require orders of magnitudes more resources to run on what's essentially a supercomputer than almost literally anything else. > Your initial complaint was that we're so constrained that it's "nearly impossible" to do what you want. If Sencha and ExtJS does it, and you can just use it, your argument is invalid. I can also implement a web server in Brainfuck. Does it mean that Brainfuck is powerful and any complaints about it are invalid? > That it's too much effort to use this great expense of time and manpower by downloading it with your package manager? That things that are available out of the box almost literally everywhere else are actually incaccessibly to those who can't spend the effort on reimplementing them, from scratch, every single time. There's a reason why Sencha costs $1295 per developer and even smaller projects like handsontable easily charge hundreds of dollars for their use. I mean, for things that are either available out of the box everywhere else, or are rather trivial to implement, once again, everywhere else. "HTML is powerful", indeed.
- slver 5y agoYou're incoherent. You started complaining that all you want it is the ability to have custom layout & drawing logic and HTML doesn't let you escape the tree. And currently you've given up this entire premise, and you're on a loop whining about how FOSS and professional UI libraries that have custom layout & drawing logic, which WORKS JUST FINE IN EVERY BROWSER take hundreds of kb (which is nothing) and some of them cost money (which is absolutely irrelevant). You wanted to express "arbitrary relationships". This requires libraries implementing "arbitrary logic" with access to the presentation layer. You got it. Now you're whining about the fact these libraries exist.
- dmitriid 5y ago> You're incoherent. I am very coherent Ok. Let's be very coherent. Let's talk about one single thing. Not so long ago Twitter redesigned their website. Mind you, Twitter is far from being a complex app UI-wise. It's basically text plus images. All they did was re-implement infinite scrolling using a well-known paradigm called a virtual list (or a virtual table). Here's a small video of their original result: https://grumpy.website/post/0RQvmdNmN https://grumpy.website/post/0RQvmdNmN Note: I implemented a similar functionality in C++ Builder circa 2004 and in Qt circa 2005. This entire functionality is either available right out of the box, or will take a first-year CS student a day or two to implement by following a simple tutorial (because virtual lists are a thing available in all UI kits since probable early 80s). It took Twitter close to a year to fix this functionality. Now, tell me: why is it that such a powerful platform: a) doesn't have this functionality out of the box b) requires a company the size of Twitter almost a year to implement somewhat satisfactorily c) why didn't Twitter just "go ahead and download a package" that implements this trivial primitive functionality that is so readily available, once again, everywhere else. From here on we can discuss all the other trivial and primitive things that require you to depend on someone to spend untold man-powers to implement them in the "so powerful a platform". And from there on we can move on to discussing why these trivial and primitive things require orders of magnitudes more resources to run to do a fraction of a fraction of the things available, you know, everywhere else. How's that for coherency? Edit: In a comment elsewhere I actually linked to a nice example. The Web is such a powerful platform that you can't even animate shadows without thinking hard and long about causing page repaints: https://tobiasahlin.com/blog/how-to-animate-box-shadow/ https://tobiasahlin.com/blog/how-to-animate-box-shadow/ MacOS did shadows almost 20 years ago on hardware that's probably 100 times less powerful than now.