Live data from Hacker News

FOAM: New JavaScript Framework by Google Engineers

github.com

111–115 of 115 posts

Re: FOAM: New JavaScript Framework by Google Engineers

#111
post #3

One thing you notice right off the bat: Its very slow. It takes about 2s on my machine to load the TodoMVC example. Thats about as long as it takes to load my GMail inbox. Thats pretty horrible for whats supposed to be the "Hello World" of JS frameworks. I didnt dig in what actually takes so long, but it seems like it has still some way to go. I find it interesting that after Angular this would the second (3rd if you…

If you load it off of the TodoMVC site, it loads much faster than the AngularJS version. If you load it from GitHub then it is slow because that isn't a packaged/built version (it's just loading directly from the repository) and is loading all of the individual models separately. We have a 'BuildApp' tool which can package applications for production, which doesn't happen when you load directly from GitHub.

FOAM doesn't require a build step, which is why it can be run directly out of the Git repository, but that method isn't representative of production performance.

Re: FOAM: New JavaScript Framework by Google Engineers

#112
post #8

Another "higher performance" framework! At least dont throw these phrases around.

We have benchmarks (using queries extracted from real Google apps) that show that our query-optimizing caching layer speeds up IndexedDB performance by a factor of 100.

See: https://github.com/foam-framework/foam/blob/master/demos/pho...

Also, load the Empire.js presentation and then press the '+' button on the bottom right. This will load and run all 25 slides at once, at which point you'll have over 20k data-bindings, both one- and two-way, 7k objects, 6k of which are currently being animated.

See: http://foam-framework.github.io/foam/foam/index.html?model=f...

We are capable of handling this many data-bindings efficiently because we don't rely on a digest/diff cycle. Since we generate the JS prototypes from our models, we are able to install hooks into the generated property getters and setters so that we can receive update notifications.

Also notice that our GMail client can perform searches on the keystroke.

I lead the FOAM project at Google.

Re: FOAM: New JavaScript Framework by Google Engineers

#113
post #2

Doesn't seem to actually be by Google. Perhaps the title could be changed to "by a Google Engineer"?

FOAM is built by five Google engineers who are paid by Google to work on it full time. It is a Google "project" but not a Google "product".

I lead the FOAM team at Google.

Re: FOAM: New JavaScript Framework by Google Engineers

#114
post #109

Earlier quoted context omitted.

I'd love to see a mature app written this way (and I mean that genuinely, without sarcasm) and look at their project timeline, war stories, etc. My gut feeling is that the 'frameworks are for prototypes, libraries are for production' camp is closest to the money, but (a) I have no actual data and (b) different approaches to frameworks will have different outcomes.

My name is Kevin Greer, and I lead the FOAM project at Google. Answers in-lined below: > a mature app written this way I've added links a number links to FOAM apps for you at the bottom of http://foamdev.com . We have a number of mature apps. QuickBug, which is a codesite issue tracker, is about two years old. MBug is a mobile version, is about a year old. The ChromeOS calculator was written last summer as a demo but…

Sorry, that link is broken. Here's a working one:

https://docs.google.com/presentation/d/1Ipt0hu2PHDgL8HCxkZN2...

The first part of the slides is on using the apps and the second part has a bit about how we developed it (but without speaker notes, it may not make a lot of sense).

Post reply on HN