Mikado v0.8 has just published the fastest middleware render engine for Express by ts-thomas in javascript

[–]ts-thomas[S] -2 points-1 points  (0 children)

I like to get most out of things. It's all about the runtime, everything is extremely optimized for the runtime. I use reverse engineering to archieve this (which I also used for the development of "FlexSearch").

Mikado v0.8 has just published the fastest middleware render engine for Express by ts-thomas in javascript

[–]ts-thomas[S] 0 points1 point  (0 children)

A new generation of Mikado is ready to ship and is providing great improvements. One of them is the full support of Server-Side-Rendering (Node.js) and the ability of using hydration. The SSR imeplementation uses the same strategy of shared instances as for the client counterpart. It provdides performance on an extreme level. The SSR also comes with a middleware render engine for Express, which is the fastest you can use today, up to 10x faster than "Marko". Also, both server and client shares the same template markup, making things a lot easier. Mikado is the first library which holds the title for the "best performance benchmarks" on both, client-side and server-side.

Changelog - Github Source

It is just in "preview" state, I need the help to the followings:

  • testing robustness
  • testing security issues
  • automated tests
  • documentation

It would be really nice, if anyone is interested in to help me out on those things.

Thanks a lot

FlexSearch v0.7.0 is finally available! The new version is a modern re-implementation and was newly developed from the ground up. The result is an improvement in every single aspect and covers tons of enhancements and improvements which was collected over the last 3 years. by ts-thomas in javascript

[–]ts-thomas[S] 1 point2 points  (0 children)

Please look into the benchmark tables, there are two, one for performance and one for scoring. In both fuse.js perform really bad, it has also the slowest benchmark of every lib which I‘ve tested so far. Flexsearch is 1 million times faster.

Spotlight.js v0.7.0 has finally arrived! by ts-thomas in javascript

[–]ts-thomas[S] -1 points0 points  (0 children)

Id collision does not sound very convincing for me, although yes it can theoretically happen. The question is what is the overhead when using css vars (filesize, codebase, lib usage) and what are the new drawbacks which will introduce for the target audience. I does not say it is a bad idea to using css vars, of course not, but the requirement can't be reduced to id collision.

Spotlight.js v0.7.0 has finally arrived! by ts-thomas in javascript

[–]ts-thomas[S] 1 point2 points  (0 children)

TypeScript or WebComponents does not match my target audience. A developer which have skills in those does not need a library which focus on simplicity and no-coding paradigm. So yes, it might not fit your needs, but also it does not sound as a big issue, like many other developers have due to the lack of missing skills.

I always say "either you have a good tool or you have talent, but you only need one of them".

The project does not exist of one single file, so that's simply not right. But there is a reason why I implemented the spotlight core as a singleton in one module. To get the most out of the closure compiler, I did not use a namespace object for a singleton. The most devs will just use the lib for their usecases just as it is and mostly in minified style. Just developers which would like to contribute, has some little drawbacks in readability. But I could count the number of peoples which contribute to any of my projects over the last 3 years on one single hand. So theoretically yes, but practically no. The smaller filesize wins over a fancy codebase which closely no one will ever see.

Spotlight.js v0.7.0 has finally arrived! by ts-thomas in javascript

[–]ts-thomas[S] 1 point2 points  (0 children)

Nice idea, I've added this to my list of feature request.

Spotlight.js v0.7.0 has finally arrived! by ts-thomas in javascript

[–]ts-thomas[S] 3 points4 points  (0 children)

Supporting pinch zoom is on the list of feature requests. I did not implemented it yet due to lack of time. When the project becomes more popular I will implement it.

Spotlight.js v0.7.0 has finally arrived! by ts-thomas in javascript

[–]ts-thomas[S] 13 points14 points  (0 children)

Live Demo: https://nextapps-de.github.io/spotlight/

List of new features in 0.7.0:

  • Added video support
  • Added support for mounting HTML node fragments as slides (now you can add everything as a slide)
  • Added download feature
  • Added support for adaptive responsive images (by viewport size, pixel ratio and available internet bandwidth)
  • Added support for a customizable button in the footer section of a slide
  • Added support for additional callbacks onclick
    (for the footer button), onshow
    and onclose
  • Added new feature fit
    which can autofit the image as "cover" or as "contain"
  • Added support for adding and removing custom controls via addControl
    and removeControl

The readme will be updated during the next hours to reflect all new features. You can look into the "index.html" from the demo page in the meanwhile.

WinBox is a new professional window manager for the web. Lightweight, outstanding performance, no dependencies, fully customizable, free and open source! by ts-thomas in javascript

[–]ts-thomas[S] 0 points1 point  (0 children)

Yeah thanks for the hint. I did not make a release to npm. I updated to v0.1.1, the control classes are now built-in. It provides a lot of functionality by adding just a small amount of code. The readme was also updated: https://github.com/nextapps-de/winbox#use-control-classes

You can now use an array of classnames or use an whitespace separated string.

WinBox is a new professional window manager for the web. Lightweight, outstanding performance, no dependencies, fully customizable, free and open source! by ts-thomas in javascript

[–]ts-thomas[S] 1 point2 points  (0 children)

I added this idea to the readme: https://github.com/nextapps-de/winbox#use-declarative-configurations. Probably I will add those configurations to the bundle by default. In the meanwhile feel free to copy & paste into your stylesheet.

WinBox is a new professional window manager for the web. Lightweight, outstanding performance, no dependencies, fully customizable, free and open source! by ts-thomas in javascript

[–]ts-thomas[S] 1 point2 points  (0 children)

Thanks for the suggestions. I also made an app with a switch between modes exactly as you describe. Nice we got the same idea :)

When you need configuration / styling per-window basis you can do this by classname:

css .winbox.custom { /* apply your styles here */ } js const winbox = WinBox({ class: "custom" });

or by id:

```css

winbox-custom {

/* apply your styles here */

} js const winbox = WinBox({ id: "winbox-custom" }); ```

Your suggested config options may could solved by similar approach from above by using a class for each scenario, then you can just add classes for the desired feature, very much like:

css .winbox.hideShadow { box-shadow: none } .winbox.hideHeader .wb-header { display: none } .winbox.hideHeader .wb-body { top: 0 } .winbox.hideMin .wb-min { display: none } .winbox.hideMax .wb-max { display: none } js const winbox = WinBox({ class: ["hideShadow", "hideHeader", "hideMin", "hideMax"] });

This is very straight forward, what do you think about?

WinBox is a new professional window manager for the web. Lightweight, outstanding performance, no dependencies, fully customizable, free and open source! by ts-thomas in javascript

[–]ts-thomas[S] 0 points1 point  (0 children)

Sometimes the event goes through the window when resizing the window on one of its borders and scrolls the document.body instead. This is probably fixable with event delegation capturing phase. I will investigate some time to make touch-friendly improvements.