HN user

tobiu

89 karma
Posts84
Comments111
View on HN
news.ycombinator.com 4mo ago

Show HN: DevIndex – Ranking 50k GitHub developers using a static JSON file

tobiu
1pts0
neomjs.com 1y ago

Show HN: The "An Application Worker Being the Main Actor" Paradigm

tobiu
1pts0
tobiasuhlig.medium.com 3y ago

Changing scoped CSS variables using JavaScript

tobiu
2pts0
github.blog 4y ago

GitHub Release Radar · March 2022 Edition

tobiu
2pts0
bugs.webkit.org 4y ago

SharedWorkers support for Safari (resolved ticket)

tobiu
2pts0
itnext.io 5y ago

Re-sorting Web-based Tabs like it works in Google Chrome

tobiu
1pts1
tobiasuhlig.medium.com 5y ago

Show HN: Re-sorting Web-based Tabs like it works in Google Chrome

tobiu
1pts0
github.com 5y ago

How to use the neo.mjs Command-Line Interface

tobiu
1pts0
medium.com 5y ago

Show HN: Cross App Bundling – A different approach for Micro Frontends

tobiu
1pts0
neomjs.github.io 5y ago

Show HN: Desktop ONLY – Drag&Drop performance inside a multithreading env

tobiu
2pts6
www.expressflow.com 5y ago

Multithreaded Web Apps Beyond Web Worker by Neo.mjs

tobiu
2pts0
medium.com 5y ago

Show HN: Benefits of working with JSON based virtual DOM

tobiu
4pts1
medium.com 5y ago

Show HN: Create fast multithreading User Interfaces outside of Node.js

tobiu
2pts0
medium.com 5y ago

Show HN: Removing non visible views from the DOM and altering their state

tobiu
1pts0
medium.com 5y ago

Expanding Single Page Apps into Multiple Browser Windows (Multi Screen Apps)

tobiu
1pts0
neomjs.github.io 5y ago

Desktop Sneak Preview: Creating a Web Based Calendar from Scratch

tobiu
1pts1
neomjs.github.io 6y ago

Last 3 days: the US almost got as many new Covid19 cases as Germany had in total

tobiu
3pts0
medium.com 6y ago

Show HN: Creating a responsive multithreading Website for Desktop and Mobile

tobiu
1pts0
medium.com 6y ago

“Hire the best” → A critical perspective on standardised hiring processes

tobiu
8pts7
neomjs.github.io 6y ago

Creating a website as a responsive multithreading App

tobiu
1pts1
github.com 6y ago

Do you want to make an impact to improve the way App development works?

tobiu
1pts0
neomjs.github.io 6y ago

Show HN: Neo Website → Sneak Preview

tobiu
1pts1
github.com 6y ago

Show HN: 11 MIT licensed repos related to multithreading Apps

tobiu
1pts0
github.com 6y ago

Show HN: SharedWorkers driven multi browser window Covid app

tobiu
1pts0
medium.com 6y ago

Tutorial: How to create a webworkers driven multithreading App – Part 2

tobiu
1pts1
medium.com 6y ago

Show HN: How to create a webworkers driven multithreading App – Part 2

tobiu
2pts0
github.com 6y ago

The webworkers driven UI framework – defining the scope of the v1.3 release

tobiu
2pts1
medium.com 6y ago

Expanding Single Page Apps into Multiple Browser Windows

tobiu
2pts6
github.com 6y ago

Show HN: The webworkers driven UI framework has officially ended the Beta phase

tobiu
3pts5
medium.com 6y ago

Show HN: Expanding Single Page Apps into Multiple Browser Windows

tobiu
3pts1

background info:

the demo app is located inside the App Worker.

the drag events get triggered in main, while the handlers live within the App Worker scope.

I was sceptical at first, how the performance for a custom drag&drop implementation would work out.

Best to use Chrome (some polishing left for FF & Safari).

The TouchSensor is next on my todo list.

You can find the code here:

https://github.com/neomjs/neo/blob/dev/src/main/addon/DragDr...

https://github.com/neomjs/neo/tree/dev/src/main/draggable

https://github.com/neomjs/neo/blob/dev/src/dialog/Base.mjs

The project is deeply inspired by the Google Calendar as well as the native MacOS Calendar.

This is a very early preview version: I started this project a week ago, so please don't expect it to be functional yet. I think it will take 2-3 more weeks to get finished.

Based on neo.mjs, it is multithreaded out of the box.

What you can do already:

Switch the theme.

Open the Settings Container, change settings for the weekly view. Ideally with the Weekly View as the active Card to see the delta updates.

I will add infinite scrolling for all views soon (similar to the DateSelector at the top left).

Drag & Drop for Events, mobile support and creating, editing & removing Events are on the todo list.

You can take a look into the source code here:

https://github.com/neomjs/neo/tree/dev/src/calendar

The Calendar is already pretty extensible & configurable, will add more options on the way.

Feedback appreciated!

Thx & best regards, Tobias

I actually hope that some of the ideas get picked up. Might be naive.

Getting visibility / traction for a new OS project is intense these days, especially in case it is "disruptive". Might be too far ahead.

"They're out there and I suspect it would be more enjoyable to work for them". Probably, but hard to find. Most job requests are like "Would you like to help us with Angular, React or Vue?".

"Author says that he is humble but he is not humble enough"

I have been thinking about this part while writing it :)

It actually did not feel comfortable to write this much about myself. Thought it was important though to put the article into perspective.

I normally would not even apply for big company roles, because most of the time you get stuck in roles where it is close to impossible to make an impact.

Agree on the Zen part.

I should have phrased it like: "by default neo.mjs is using global listeners" => you can add local listeners as well if you want to.

regarding safari: https://caniuse.com/#search=worker

workers are supported, so the dist versions not using shared workers can run there already.

2 missing items on the webkit side:

1) adding support for shared workers (they dropped the development on those, but recently put it into "inRadar" again. So there is hope.

2) adding support for JS modules inside the worker scope. missing in FF as well. not too bad, since it is good enough in case 1 browser can do it (chrome) so that the dev mode can run there. the dist versions will run in FF, safari & chrome, since webpack is replacing all import statements, so that there are no real JS modules.

to fully support mobile, neo.mjs still needs to support touch events (similar to hammer js). on the todo list.

To be clear on this one:

The new architecture which enables you to to optionally use SharedWorkers (to create Apps running inside multiple Browser Widnows) is in place now.

The main readme got updated including the multi window covid app.

There are still more guides & tutorials missing.

There is still work left on the Component side of things.

Your help is appreciated!

Again: super early stage, not fully functional yet.

The version inside the video is not deployed to the online examples yet (will add it once ready). You can just clone the neomjs/neo repo and try it locally if you like to.

What I did was opening: https://github.com/neomjs/neo/tree/dev/apps/sharedcovid (index.html)

inside a first browser window and then opening: https://github.com/neomjs/neo/tree/dev/apps/sharedcovid2

inside the second window.

we could spawn new popup windows as well.

working on the dom event support next, after moving components around. it might be an easy fix just adjusting the appName config of the moved cmp tree, otherwise i need to look into the postMessages routing.

gutt feeling: 2-3 more days.

An early heads up about what I am working on inside the neo.mjs context.

Please do not confuse this with multi page apps. It is like a SPA, where multiple browser windows can connect to a shared app worker.

``` onAppConnect(name) { let me = this, view;

        console.log('onAppConnect', name);

        switch (name) {
            case 'Covid2':
                view = me.getReference('controls-panel');

                Neo.getComponent(view.parentId).remove(view, false);

                Neo.apps[name].on('render', () => {
                    setTimeout(() => {
                        Neo.apps[name].mainViewInstance.add(view);
                    }, 100);
                });
        }
    }
```

You will be able to move entire component tress into different windows. Without even needing to create new JS instances. As easy as this.

Please help creating an awareness for the Webkit team that we need SharedWorkers:

Mobile: Native shell with multiple WebViews.

To be clear: they dropped working on SharedWorkers on purpose and it won't happen unless smart devs like you add some weight on it.

Every(!) browser on iOS is using Webkit.

Published v1.2.5 on npm: https://neomjs.github.io/pages/

SharedWorkers examples are online. Dev mode: Chrome v83+ Webpack Dist versions: Chrome & Firefox(!)

Enjoy!

A release announcement will follow soon.

In Chrome: open the example, then open chrome://inspect/#workers

inside another tab to see the SharedWorkers. The webpack based dist version supporting Firefox is really impressive.

In FF, open a new tab and open: about:debugging#/runtime/this-firefox

Some ideas in general:

The article is about putting a framework & your Apps into a separate thread (calling this one App worker).

Now, with SharedWorkers being fully supported, we can connect multiple main threads to a shared App worker. This way Apps live within the same realm and can directly communicate. They even share the virtual dom, leading to really great possibilities (moving dom nodes from one App to another).

E.g. if you would like to create a multi screen trading App, there is a big potential to speed up things.

On mobile this could also get interesting: imagine a native App with multiple WebViews. Those could as well share code and communicate directly.

Even in case there is just one browser window, the default worker setup (non shared workers) can make an impact.