846 karma · joined July 5, 2016
As for speed I have no idea how they make it so fast, but I'm sure they've written about it somewhere. My guess is at least that they are slicing the audio and parallelising it. Will look into Conformer-1 as well!
If you have a compatible console I'd really recommend checking it out!
And when you benchmark the speed of creating 10000 dom elements in an instant, less than 5% of the time should really be spent inside the framework one is supposed to test.
I stand by my claim in the mentioned article that tiny changes to a larger dom tree is a far better indicator of real world performance than anything else. Here Imba is really orders of magnitudes faster than react.
The last time I tested it, Imba was more than 10x faster than Svelte as well, but I'm not proficient enough in Svelte to claim that as a fact, and I have tremendous respect for Rich Harris and everything he's done with Svelte and other libraries.
We essentially do the type-checking by compiling the files to js with jsdoc annotations, and for some features we also generate `.d.ts` files (see https://dev.to/somebee/global-type-augmentations-with-automa...). There is still a lot of work to be done on the integration. There are bugs and missing featyres, and the type-checking only happens in the tooling atm. The compiler could not care less about your types.
Since it is developed as a ts language plugin, references to imba files (like goto definition etc) works from ts/js files (you can include imba files in js/ts), and renaming methods / files works across all ts/js/imba files in your project.
Repo: https://github.com/imba/imba
Docs: https://imba.io/language/introduction
Video: https://www.youtube.com/watch?v=8XS5q9xhaMc
Article: https://dev.to/somebee/imba-a-javascript-alternative-for-inc...
Site: https://imba.io
Discord: https://discord.gg/mkcbkRw
Twitter: https://twitter.com/imbajs
We have added tons of cool things like touch modifiers (https://imba.io/events/touch-events), inline styles (https://imba.io/css/syntax), optional types and great tooling that integrates deeply with TypeScript. With this version we feel that we are very close to our vision for what Imba should be. In other words; it is finally ready for public consumption. I'd wholeheartedly advice you to look into it and give it a whirl if you are interested in web development :)
Check out this video (https://www.youtube.com/watch?v=8XS5q9xhaMc) building a counter in less than 1 minute.
- Compiles to Javascript, works with node + npm
- DOM tags & styles as first-class citizens
- Optional typing and deep TypeScript integration
- Blazing-fast dev/build tools based on esbuild
- Advanced tooling with refactoring++ across js,ts, and imba files
It performs a lot better for a platform like scrimba at least - which is pretty dynamic.
I just hope other frameworks will adopt our approach, because it really is a huge step forward compared to most of what is out there today.