famo.us
Famo.us is a free, open source JavaScript framework that helps you create smooth, complex UIs for any screen
Presented by
Avi Haiat - thaiat@yoobic.com
Who am I ?
Vizelia bought by Schneider Electric in 2011
Yoobic
- Yoobic is a "Mobile productivity App"
- Yoobic simplifies short term logistic processes and transform logistic costs into a stream of revenues
- Yoobic is leveraging crowdsourced workforce and harnessing geolocation technology
More platforms, more problems
Do we really need to code for multiple platforms ?
“The biggest mistake we've made as a company is betting on HTML5 over native.”
Mark Zuckerberg - 2012
It's not 2012 anymore
Mobile devices and HTML5 stacks have rapidly evolved
Where is famo.us stack ?
What is famo.us ?
- Open source web rendering engine
- Lets you build high-performance, cross-platform animations, imperatively
- Alternative to native mobile apps.
- 100% Javascript
How does famo.us work ?
The render tree
Scene graph
How does famo.us work ?
Surface, Modifier, Transitionable
transitionables
How does famo.us work ? (cont.)
- famo.us makes use of CSS3’s Matrix3D transforms, which gives it its GPU-accelerated performance
- requestAnimationFrame (60 FPS)
- Agnostic output layer (DOM, WebGL, ...native?!)
So what the famous-angular integration look like ?
- Maintain famo.us’s rendering performance
- Support angular’s data-binding
- Support using existing angular components (incl. third-party)
- Support using existing famo.us components (incl. third-party)
The result
- This famo.us code:
var myView = new View();
var mySurface = new Surface();
mySurface.setContent("I'm a surface
");
myView.add(mySurface);
- looks like this in famo.us/angular:
I'm {{data.bound}}
Notice how easy it is to databind!
Awesome work Zack Brown & David Graunke @thomastreet!
This is boooring... Show me the code
Live coding
Let's play with the baby and see how easy it is to build a flickr like mobile app
We are going to build famous-flickr
Let's wrap it up
- Scaffold template app with yo mcfly
- Scaffold service photos
- Scaffold view controller home
- Use famo.us angular for rendering the home view
- fa-scroll-view
- fa-grid-layout
That's it !!!
and one more thing...