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 ?

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

Demo night

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!

How do I get started ?

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...