
HoloJS – A framework for creating UWP applications using JavaScript and WebGL - pofukuv
https://github.com/Microsoft/HoloJS
======
iLoch
Very similar to my work here:
[https://github.com/lwansbrough/HolographicJS](https://github.com/lwansbrough/HolographicJS)
that got no love on HN. :(

But I'm really happy Microsoft has chosen to create something similar - I had
hoped they would. Their implementation seems quite solid, I wonder if it
supports libraries like Three.js yet.

If anyone is wondering why you might use this, the reason is pretty simple.
Before this, there was only two ways to build HoloLens apps: Unity, or
C++/DirectX. DX is great but slow to develop, Unity is fast to develop but
requires a ton of prerequisite knowledge, and it consumes a ton of RAM.
Baseline for this project will probably be similar to mine (around 15MB)
whereas Unity's baseline in my experience is around 10x that at 150MB. This is
substantial on HoloLens, because the maximum amount of RAM allotted to any
application is 1GB.

I'm looking forward to seeing this bring web developers into the new world of
MR. I'll be interested to see if this can be coupled with React VR for rapid
prototyping.

~~~
moron4hire
> Very similar to my work here:
> [https://github.com/lwansbrough/HolographicJS](https://github.com/lwansbrough/HolographicJS)
> that got no love on HN. :(

Yeah, it's only open source if MS/Google/Facebook/Mozilla is doing it.

------
bhouston
This seems like a lot of work. Couldn't Microsoft just support the WebVR API
interface in Edge or some other type of AR extension into Edge? That is all I
would want. Then I can just use ThreeJS or Babylon.js with it from a normal
website, and then there is no need to ship custom desktop applications with
embedded.

I guess I do not want to ship applications if I don't have to.

~~~
Sanddancer
To be honest, I don't want a webapp. Webapps may have a good thirty second use
case, but adter that, i want something thatnis with all my other programs that
I can pin to a menu/quick launch bar, that runs in a different process space
so that a bug in a different program doesn't take down your program, etc. I
want the same UI/UX as a native app, and that's something tat webapps still
fail terribly at.

~~~
andybak
Those sound like an odd bunch of criteria. I'd go for a list more like:

1\. Performance (either speed of opening if it's the kind of app you open and
close a lot) or just responsiveness in use 2\. Quality of user experience 3\.
Stability 4\. Cost. 5\. Features 6\. Interoperability

At the moment across a range of app types it's roughly 50/50 between web apps
and native apps and I occasionally switch alleigence.

~~~
andybak
Oh silly me for forgetting the markup rules once again. What were those
arguments against WYSIWYG again?

------
nugator
UWP = Universal Windows Platform, did not know that.

~~~
cbsmith
LIkewise.

------
contextfree
How does this relate to the existing Windows support for JS apps via wwahost
and the WinRT JS projection? Does that not work on HoloLens for some reason?

~~~
iLoch
This uses the same engine, however _that_ host doesn't provide any support for
3D. You wouldn't be able to write WebGL in it, for example. This library
exposes a WebGL interface to the JS environment.

------
MayorOfMonkeys
Interesting. With a little hackery, it should be fairly easy to get this
working with PlayCanvas. I'm not sure why it needs to use a new element type
though (canvas3D).

~~~
holy_jeebus
Canvas does not support all the 3D elements needed for spatial recognition and
accessibility via 3D audio. I'm hoping to read through and see canvas3d
support that feature.

~~~
moron4hire
What does Canvas have to do with audio? Web Audio has the necessary components
to do spatialized audio. And spatial recognition is an input. Canvas is for
output.

------
optimuspaul
Wish I had known what UWP was before I clicked the link.

