SlideShare una empresa de Scribd logo
1 de 25
A HTML5 & IE10
PROOF OF CONCEPT
Thibault Lanssade     Lucas Lampietti
           @tibolan     @lucaslampietti
    App Developper      Architect
                 #JS    #JS
     #HTML5 #CSS3


  Nicolas Massouh       Damien Berseron
  @nicolasmassouh       @hikkyu
 Motion developper      Motion developper
    #CSS3 #HTML5        #CSS3 #HTML5



      Florian Harmel    Loïc Calvy
     @florianharmel     @loic_calvy
Creative Technologist   CTO
                 #JS    #JS
PLEASE, DRAW ME A SLIDOTRON
OUR ANSWER : SNAPYX
SNAPYX ?

WHAT ?                HOW ?

                      HTML5 & CSS3
A CLIENT SIDE
APPLICATION           BACKBONE.JS &
                      BACKBONE-RELATIONAL.JS
SINGLE PAGE           & BACKBONE-
                      INDEXEDDB.JS
APPLICATION
                      APP CACHE (CACHE
OFFLINE USAGE –       MANIFEST)
CLIENT SIDE STORAGE
                      INDEXEDDB
IMAGING TOOL          FILE API / CANVAS
HTML5 / CSS3 : Project structure

CLIENT SIDE APPLICATION
SOME NEW THINGS IN HTML5
SOME NEW THINGS IN HTML5
               .parent {
                 display: -ms-grid;
                 -ms-grid-columns:(220px 10px)[12];
                 -ms-grid-rows: 50px 220px 10px 220px 27px;
               }
               .bloc1 {
                 -ms-grid-column:1; -ms-grid-row:2;
                  height:220px; width:220px;
               }
               .bloc2 {
                 -ms-grid-column:1; -ms-grid-row:4;
                  height:220px; width:220px;
               }
               .bloc3 {
                 -ms-grid-column:3; -ms-grid-row:2; -ms-grid-row-span:3;
                 width:450px; height:450px;
               }
               .bloc4 {
                 -ms-grid-column:7; -ms-grid-row:2;
                  width:450px; height:220px;
               }
               .bloc5 {
                 -ms-grid-column:7; -ms-grid-row:4;
               }
               .bloc6 {
                 -ms-grid-column:9; -ms-grid-row:4;
               }
Backbone.js project organisation

SINGLE PAGE APPLICATION
BACKBONE.JS

 Client Side « MVP » Framework
 REST / JSON
 Server Side handle persistence (and
  create id)
 Models (& Collections) / Views /
  Routes
 Events
 Backbone.Sync
 Template is basically managed by
  Underscore.js
BACKBONE.JS = RAW FRAMEWORK

 No default View
 No default Model
 Router not handle views lifecycles
DEFAULT VIEW

 DefaultView extend initialize to
 remotely get and apply view template
  Templates in lazyloading mode
  HTML indented and easily editable by
    IDE
 Method to unload views
  Disposing HTML in DOM
  Unbind events
WATCH PERFORMANCES
ROUTER

 Adding a business layer to handle init
  splashscreen
 No HTML5 deeplinking
IndexedDB

CLIENT SIDE STORAGE
BACKBONE.JS + BACKBONE-
INDEXEDDB.JS
 Backbone.Sync function overridded
 Change Server Side storage by client
  Side with HTML5 IndexedDB API
 IndexedDB :
  No relationnal local Database
  Complex objects storage as JSON
  Natively asynchronous
 Fork backbone-indexeddb.js :
  Now support chrome 17/
   FF11/IE10DP&CP
  Unit testing : jstestdriver + qunit
WORK WITH INDEXEDDB?

 Developpement phase :
  deletedb or fallback to random db name
    at each F5
 Control : Idbexplorer.htm
 Using unit tests
 No transactions or updating during
  schema version upgrade
 IndexedDB is roughly implemented
  All objects types are not supported
    depending on browsers
FileAPI

LOCAL IMAGE UPLOAD +
PREPARE FOR STORAGE
FILE API

 File API usage context
  Native drag’n’drop from desktop allowing
   multiple file upload
  Binary conversion of the uploaded File
   object
  Keeping model image content for persistent
   storage
 Goal
  Treating large 8M files on client side
  Store it in the right way
  Using it in SVG or Canvas
HOW TO STORE IMAGES? NO KIDING
TO HEAVY FOR FIREBUG????

 First try with base64 :


 To Heavy in DOM and for Firebug!
 Save in blob (FF11 & IE10 CP):
Canvas / SVG

LOCAL IMAGE TREATMENT
WHY CANVAS TO DEAL WITH STATIC
IMAGES?
 SVG limitations
  Unable to export a SVG filter into a Base
   64 string usable in images tag
  Photo filters are harder to calibrate in
   SVG
 Our solution
  Using canvas to treat images px/px
  Using Pixastic library (under MPL)
SUM UP

 A lot of new things
 Need to go fast ;)
 No idea of the performance troubles
  related to HTML5 new things
 Small knowledges on big complex
  HTML5 apps

 Experimental brief
 Experimental technologies
 F*** experimental browser
A SMALL THING WE ARE PROUD OF

An app on the Win 8 Store
http://www.ekino.com/
   @3k1n0

To see or read :

• « Slides, quelques démos et vidéos des sessions IE10/HTML5/CSS3 des Techdays
  2012 » (fr)
  David Roussethttp://blogs.msdn.com/b/davrous/archive/2012/02/20/slides-quelques-
  d-233-mos-et-vid-233-os-des-sessions-ie10-html5-css3-des-techdays-2012.aspx

• Keynote « World of developers » including SnapyX demo (fr)
  MS TechDays 2012 :
  http://www.youtube.com/watch?v=r64B13fh9nc

• Vidéo de présentation de l’application :
  http://www.youtube.com/watch?v=3winPXeMx_c

Frameworks and plugins Used :

• Backbone : here
• Backbone Relational : here
• Backbone Indexed DB
      • Original : here
      • Our fork : here
• Underscore : here
• Pixastic : here
• IdbExplorer : here
• Raphael Goetter CSS3 presentation : here

Más contenido relacionado

La actualidad más candente

slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdwYue Liu
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular appsMartin Hochel
 
Headless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIsHeadless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIssparkfabrik
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with AnsibleCarlo Bonamico
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Cicd pixelfederation
Cicd pixelfederationCicd pixelfederation
Cicd pixelfederationJuraj Hantak
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreBaris Ceviz
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014Carlo Bonamico
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with DockerHanoiJUG
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...The Software House
 
Building a Large Java Codebase with Bazel - Natan Silnitsky
Building a Large Java Codebase with Bazel - Natan Silnitsky Building a Large Java Codebase with Bazel - Natan Silnitsky
Building a Large Java Codebase with Bazel - Natan Silnitsky Wix Engineering
 
High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development WorkflowVũ Nguyễn
 
Knative makes Developers Incredible on Serverless
Knative makes Developers Incredible on ServerlessKnative makes Developers Incredible on Serverless
Knative makes Developers Incredible on ServerlessDaniel Oh
 
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석iFunFactory Inc.
 
React native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in RomeReact native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in RomeAlessandro Nadalin
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Pantheon
 
Webpack & React Performance in 16+ Steps
Webpack & React Performance in 16+ StepsWebpack & React Performance in 16+ Steps
Webpack & React Performance in 16+ StepsGrgur Grisogono
 

La actualidad más candente (19)

slide-dnrdw
slide-dnrdwslide-dnrdw
slide-dnrdw
 
Use React tools for better Angular apps
Use React tools for better Angular appsUse React tools for better Angular apps
Use React tools for better Angular apps
 
Headless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIsHeadless Drupal: A modern approach to (micro)services and APIs
Headless Drupal: A modern approach to (micro)services and APIs
 
Render-as-You-Fetch
Render-as-You-FetchRender-as-You-Fetch
Render-as-You-Fetch
 
Infrastructure as Data with Ansible
Infrastructure as Data with AnsibleInfrastructure as Data with Ansible
Infrastructure as Data with Ansible
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Net core
Net coreNet core
Net core
 
Cicd pixelfederation
Cicd pixelfederationCicd pixelfederation
Cicd pixelfederation
 
Migrating .NET Application to .NET Core
Migrating .NET Application to .NET CoreMigrating .NET Application to .NET Core
Migrating .NET Application to .NET Core
 
codemotion-docker-2014
codemotion-docker-2014codemotion-docker-2014
codemotion-docker-2014
 
Improve your Java Environment with Docker
Improve your Java Environment with DockerImprove your Java Environment with Docker
Improve your Java Environment with Docker
 
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
Mój przepis na skalowalną architekturę mikroserwisową? Apollo Federation i Gr...
 
Building a Large Java Codebase with Bazel - Natan Silnitsky
Building a Large Java Codebase with Bazel - Natan Silnitsky Building a Large Java Codebase with Bazel - Natan Silnitsky
Building a Large Java Codebase with Bazel - Natan Silnitsky
 
High Productivity Web Development Workflow
High Productivity Web Development WorkflowHigh Productivity Web Development Workflow
High Productivity Web Development Workflow
 
Knative makes Developers Incredible on Serverless
Knative makes Developers Incredible on ServerlessKnative makes Developers Incredible on Serverless
Knative makes Developers Incredible on Serverless
 
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
[아이펀팩토리] 2018 데브데이 서버위더스 _04 리눅스 게임 서버 성능 분석
 
React native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in RomeReact native in the wild @ Codemotion 2016 in Rome
React native in the wild @ Codemotion 2016 in Rome
 
Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development Continuous Integration Is for Teams: Moving past buzzword driven development
Continuous Integration Is for Teams: Moving past buzzword driven development
 
Webpack & React Performance in 16+ Steps
Webpack & React Performance in 16+ StepsWebpack & React Performance in 16+ Steps
Webpack & React Performance in 16+ Steps
 

Destacado

OOM m'a tuer - Devoxx France 2012
OOM m'a tuer - Devoxx France 2012OOM m'a tuer - Devoxx France 2012
OOM m'a tuer - Devoxx France 2012ekino
 
Book The Fabrique des Mobilités 2015
Book The Fabrique des Mobilités 2015Book The Fabrique des Mobilités 2015
Book The Fabrique des Mobilités 2015FabMob
 
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamily
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamilyTheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamily
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamilyTheFamily
 
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamily
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamilyTheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamily
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamilyTheFamily
 
Startups are going to save the world, Oussama Ammar, Partner at TheFamily
Startups are going to save the world, Oussama Ammar, Partner at TheFamilyStartups are going to save the world, Oussama Ammar, Partner at TheFamily
Startups are going to save the world, Oussama Ammar, Partner at TheFamilyTheFamily
 
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamily
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamilyTheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamily
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamilyTheFamily
 
Alt shift - Notions de gamification
Alt shift - Notions de gamificationAlt shift - Notions de gamification
Alt shift - Notions de gamificationFrédéric Lopez
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?Phonevalley
 
Started from the Bottom, Oussama Ammar, Partner at TheFamily
Started from the Bottom, Oussama Ammar, Partner at TheFamilyStarted from the Bottom, Oussama Ammar, Partner at TheFamily
Started from the Bottom, Oussama Ammar, Partner at TheFamilyTheFamily
 
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamily
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamilyTheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamily
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamilyTheFamily
 
Money. Power. Respect. Oussama Ammar, Partner at TheFamily
Money. Power. Respect. Oussama Ammar, Partner at TheFamilyMoney. Power. Respect. Oussama Ammar, Partner at TheFamily
Money. Power. Respect. Oussama Ammar, Partner at TheFamilyTheFamily
 
North American StartUps disrupting Wine&Spirits, Food and Travel
North American StartUps disrupting Wine&Spirits, Food and TravelNorth American StartUps disrupting Wine&Spirits, Food and Travel
North American StartUps disrupting Wine&Spirits, Food and TravelVincent PRETET
 
Open source & Mobility - FabMob guide
Open source & Mobility - FabMob guideOpen source & Mobility - FabMob guide
Open source & Mobility - FabMob guideFabMob
 
Collaborative Logistics: Ripe for Disruption
Collaborative Logistics: Ripe for DisruptionCollaborative Logistics: Ripe for Disruption
Collaborative Logistics: Ripe for DisruptionCollaborative Lab
 
Global Insights on Venture Capital in 2014
Global Insights on Venture Capital in 2014Global Insights on Venture Capital in 2014
Global Insights on Venture Capital in 2014Vincent PRETET
 
33insights: Investing in WineTech, Global Insights
33insights: Investing in WineTech, Global Insights33insights: Investing in WineTech, Global Insights
33insights: Investing in WineTech, Global InsightsVincent PRETET
 
TravelTech StartUps Survey: Global insights by 33entrepreneurs
TravelTech StartUps Survey: Global insights by 33entrepreneursTravelTech StartUps Survey: Global insights by 33entrepreneurs
TravelTech StartUps Survey: Global insights by 33entrepreneursVincent PRETET
 
FoodTech StartUps Survey: Global insights by 33entrepreneurs
FoodTech StartUps Survey: Global insights by 33entrepreneursFoodTech StartUps Survey: Global insights by 33entrepreneurs
FoodTech StartUps Survey: Global insights by 33entrepreneursVincent PRETET
 

Destacado (20)

OOM m'a tuer - Devoxx France 2012
OOM m'a tuer - Devoxx France 2012OOM m'a tuer - Devoxx France 2012
OOM m'a tuer - Devoxx France 2012
 
Book The Fabrique des Mobilités 2015
Book The Fabrique des Mobilités 2015Book The Fabrique des Mobilités 2015
Book The Fabrique des Mobilités 2015
 
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamily
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamilyTheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamily
TheFamily: Don't you care?, by Oussama Ammar, Partner at TheFamily
 
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamily
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamilyTheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamily
TheFamily: Bootstrapping Like a Boss, by Oussama Ammar, Partner at TheFamily
 
Startups are going to save the world, Oussama Ammar, Partner at TheFamily
Startups are going to save the world, Oussama Ammar, Partner at TheFamilyStartups are going to save the world, Oussama Ammar, Partner at TheFamily
Startups are going to save the world, Oussama Ammar, Partner at TheFamily
 
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamily
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamilyTheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamily
TheFamily: Do You Know Why?, By Oussama Ammar, Partner at TheFamily
 
Alt shift - Notions de gamification
Alt shift - Notions de gamificationAlt shift - Notions de gamification
Alt shift - Notions de gamification
 
What's new in iOS 9 ?
What's new in iOS 9 ?What's new in iOS 9 ?
What's new in iOS 9 ?
 
Started from the Bottom, Oussama Ammar, Partner at TheFamily
Started from the Bottom, Oussama Ammar, Partner at TheFamilyStarted from the Bottom, Oussama Ammar, Partner at TheFamily
Started from the Bottom, Oussama Ammar, Partner at TheFamily
 
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamily
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamilyTheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamily
TheFamily: The Founder's Dilemma, by Oussama Ammar, Partner at TheFamily
 
Money. Power. Respect. Oussama Ammar, Partner at TheFamily
Money. Power. Respect. Oussama Ammar, Partner at TheFamilyMoney. Power. Respect. Oussama Ammar, Partner at TheFamily
Money. Power. Respect. Oussama Ammar, Partner at TheFamily
 
North American StartUps disrupting Wine&Spirits, Food and Travel
North American StartUps disrupting Wine&Spirits, Food and TravelNorth American StartUps disrupting Wine&Spirits, Food and Travel
North American StartUps disrupting Wine&Spirits, Food and Travel
 
Open source & Mobility - FabMob guide
Open source & Mobility - FabMob guideOpen source & Mobility - FabMob guide
Open source & Mobility - FabMob guide
 
Chinese StartUps
Chinese StartUpsChinese StartUps
Chinese StartUps
 
Collaborative Logistics: Ripe for Disruption
Collaborative Logistics: Ripe for DisruptionCollaborative Logistics: Ripe for Disruption
Collaborative Logistics: Ripe for Disruption
 
Global Insights on Venture Capital in 2014
Global Insights on Venture Capital in 2014Global Insights on Venture Capital in 2014
Global Insights on Venture Capital in 2014
 
33insights: Investing in WineTech, Global Insights
33insights: Investing in WineTech, Global Insights33insights: Investing in WineTech, Global Insights
33insights: Investing in WineTech, Global Insights
 
TravelTech StartUps Survey: Global insights by 33entrepreneurs
TravelTech StartUps Survey: Global insights by 33entrepreneursTravelTech StartUps Survey: Global insights by 33entrepreneurs
TravelTech StartUps Survey: Global insights by 33entrepreneurs
 
FoodTech StartUps Survey: Global insights by 33entrepreneurs
FoodTech StartUps Survey: Global insights by 33entrepreneursFoodTech StartUps Survey: Global insights by 33entrepreneurs
FoodTech StartUps Survey: Global insights by 33entrepreneurs
 
Barometer EY-FD 2015
Barometer EY-FD 2015Barometer EY-FD 2015
Barometer EY-FD 2015
 

Similar a SnapyX

Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankDavid Amend
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3Helder da Rocha
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Pravasini Sahoo
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web ApplicationYakov Fain
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)Shumpei Shiraishi
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 WorkshopDavid Manock
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"Binary Studio
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSYuriy Silvestrov
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVCAcquisio
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Sadaaki HIRAI
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia
 
Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Stephan Hochdörfer
 
Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Naveen Krishnamurthy
 
From Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Againjonknapp
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptKevin Read
 
Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Kevin Read
 

Similar a SnapyX (20)

Angularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bankAngularjs practical project experiences with javascript development in a bank
Angularjs practical project experiences with javascript development in a bank
 
JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3JavaONE 2012 Using Java with HTML5 and CSS3
JavaONE 2012 Using Java with HTML5 and CSS3
 
Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3Introduction to HTML5 & CSS3
Introduction to HTML5 & CSS3
 
Seven Versions of One Web Application
Seven Versions of One Web ApplicationSeven Versions of One Web Application
Seven Versions of One Web Application
 
Html5 more than just html5 v final
Html5  more than just html5 v finalHtml5  more than just html5 v final
Html5 more than just html5 v final
 
WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)WHAT IS HTML5? (at CSS Nite Osaka)
WHAT IS HTML5? (at CSS Nite Osaka)
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
VizEx View HTML5 Workshop
VizEx View HTML5 WorkshopVizEx View HTML5 Workshop
VizEx View HTML5 Workshop
 
Web Performance Part 4 "Client-side performance"
Web Performance Part 4  "Client-side performance"Web Performance Part 4  "Client-side performance"
Web Performance Part 4 "Client-side performance"
 
JS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJSJS FAST Prototyping with AngularJS & RequireJS
JS FAST Prototyping with AngularJS & RequireJS
 
Education&work experience
Education&work experienceEducation&work experience
Education&work experience
 
Planbox Backbone MVC
Planbox Backbone MVCPlanbox Backbone MVC
Planbox Backbone MVC
 
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
Familiar HTML5 - 事例とサンプルコードから学ぶ 身近で普通に使わているHTML5
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
 
Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012Offline strategies for HTML5 web applications - pfCongres2012
Offline strategies for HTML5 web applications - pfCongres2012
 
Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)Mobile Web Application Development (An Insight)
Mobile Web Application Development (An Insight)
 
From Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) AgainFrom Backbone to Ember and Back(bone) Again
From Backbone to Ember and Back(bone) Again
 
Demystifying HTML5
Demystifying HTML5Demystifying HTML5
Demystifying HTML5
 
How I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScriptHow I learned to stop worrying and love embedding JavaScript
How I learned to stop worrying and love embedding JavaScript
 
Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8Embedding V8 in Android apps with Ejecta-V8
Embedding V8 in Android apps with Ejecta-V8
 

Más de ekino

Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Royekino
 
Spring data : Une api, quinze possibilités - Julien Roy
Spring data : Une api, quinze possibilités - Julien RoySpring data : Une api, quinze possibilités - Julien Roy
Spring data : Une api, quinze possibilités - Julien Royekino
 
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
Se lancer dans l'aventure microservices avec Spring Cloud - Julien RoySe lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Royekino
 
Panorama des solutions mobile hybrides
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybridesekino
 
Le « RUN » (ou la Tierce Maintenance Applicative)
Le « RUN » (ou la Tierce Maintenance Applicative)Le « RUN » (ou la Tierce Maintenance Applicative)
Le « RUN » (ou la Tierce Maintenance Applicative)ekino
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Webekino
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+ekino
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ ekino
 
Expériencer les objets connectés
Expériencer les objets connectésExpériencer les objets connectés
Expériencer les objets connectésekino
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?ekino
 
Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologieekino
 
Java GC - Pause tuning
Java GC - Pause tuningJava GC - Pause tuning
Java GC - Pause tuningekino
 
HTML5 vu par Ekino
HTML5 vu par EkinoHTML5 vu par Ekino
HTML5 vu par Ekinoekino
 

Más de ekino (13)

Microbox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien RoyMicrobox : Ma toolbox microservices - Julien Roy
Microbox : Ma toolbox microservices - Julien Roy
 
Spring data : Une api, quinze possibilités - Julien Roy
Spring data : Une api, quinze possibilités - Julien RoySpring data : Une api, quinze possibilités - Julien Roy
Spring data : Une api, quinze possibilités - Julien Roy
 
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
Se lancer dans l'aventure microservices avec Spring Cloud - Julien RoySe lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
Se lancer dans l'aventure microservices avec Spring Cloud - Julien Roy
 
Panorama des solutions mobile hybrides
Panorama des solutions mobile hybridesPanorama des solutions mobile hybrides
Panorama des solutions mobile hybrides
 
Le « RUN » (ou la Tierce Maintenance Applicative)
Le « RUN » (ou la Tierce Maintenance Applicative)Le « RUN » (ou la Tierce Maintenance Applicative)
Le « RUN » (ou la Tierce Maintenance Applicative)
 
Kinect pour les développeurs Web
Kinect pour les développeurs WebKinect pour les développeurs Web
Kinect pour les développeurs Web
 
Industrialisation PHP - Canal+
Industrialisation PHP - Canal+Industrialisation PHP - Canal+
Industrialisation PHP - Canal+
 
Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+ Symfony et Sonata Project chez Canal+
Symfony et Sonata Project chez Canal+
 
Expériencer les objets connectés
Expériencer les objets connectésExpériencer les objets connectés
Expériencer les objets connectés
 
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
Drupagora 2013 : Drupal8 et Symfony2, quel impact ?
 
Responsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, MéthodologieResponsive Web Design - Enjeux, Solutions, Méthodologie
Responsive Web Design - Enjeux, Solutions, Méthodologie
 
Java GC - Pause tuning
Java GC - Pause tuningJava GC - Pause tuning
Java GC - Pause tuning
 
HTML5 vu par Ekino
HTML5 vu par EkinoHTML5 vu par Ekino
HTML5 vu par Ekino
 

Último

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Último (20)

Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

SnapyX

  • 1. A HTML5 & IE10 PROOF OF CONCEPT
  • 2. Thibault Lanssade Lucas Lampietti @tibolan @lucaslampietti App Developper Architect #JS #JS #HTML5 #CSS3 Nicolas Massouh Damien Berseron @nicolasmassouh @hikkyu Motion developper Motion developper #CSS3 #HTML5 #CSS3 #HTML5 Florian Harmel Loïc Calvy @florianharmel @loic_calvy Creative Technologist CTO #JS #JS
  • 3. PLEASE, DRAW ME A SLIDOTRON
  • 4. OUR ANSWER : SNAPYX
  • 5. SNAPYX ? WHAT ? HOW ? HTML5 & CSS3 A CLIENT SIDE APPLICATION BACKBONE.JS & BACKBONE-RELATIONAL.JS SINGLE PAGE & BACKBONE- INDEXEDDB.JS APPLICATION APP CACHE (CACHE OFFLINE USAGE – MANIFEST) CLIENT SIDE STORAGE INDEXEDDB IMAGING TOOL FILE API / CANVAS
  • 6. HTML5 / CSS3 : Project structure CLIENT SIDE APPLICATION
  • 7. SOME NEW THINGS IN HTML5
  • 8. SOME NEW THINGS IN HTML5 .parent { display: -ms-grid; -ms-grid-columns:(220px 10px)[12]; -ms-grid-rows: 50px 220px 10px 220px 27px; } .bloc1 { -ms-grid-column:1; -ms-grid-row:2; height:220px; width:220px; } .bloc2 { -ms-grid-column:1; -ms-grid-row:4; height:220px; width:220px; } .bloc3 { -ms-grid-column:3; -ms-grid-row:2; -ms-grid-row-span:3; width:450px; height:450px; } .bloc4 { -ms-grid-column:7; -ms-grid-row:2; width:450px; height:220px; } .bloc5 { -ms-grid-column:7; -ms-grid-row:4; } .bloc6 { -ms-grid-column:9; -ms-grid-row:4; }
  • 10. BACKBONE.JS  Client Side « MVP » Framework  REST / JSON  Server Side handle persistence (and create id)  Models (& Collections) / Views / Routes  Events  Backbone.Sync  Template is basically managed by Underscore.js
  • 11. BACKBONE.JS = RAW FRAMEWORK  No default View  No default Model  Router not handle views lifecycles
  • 12. DEFAULT VIEW  DefaultView extend initialize to remotely get and apply view template Templates in lazyloading mode HTML indented and easily editable by IDE  Method to unload views Disposing HTML in DOM Unbind events
  • 14. ROUTER  Adding a business layer to handle init splashscreen  No HTML5 deeplinking
  • 16. BACKBONE.JS + BACKBONE- INDEXEDDB.JS  Backbone.Sync function overridded  Change Server Side storage by client Side with HTML5 IndexedDB API  IndexedDB : No relationnal local Database Complex objects storage as JSON Natively asynchronous  Fork backbone-indexeddb.js : Now support chrome 17/ FF11/IE10DP&CP Unit testing : jstestdriver + qunit
  • 17. WORK WITH INDEXEDDB?  Developpement phase : deletedb or fallback to random db name at each F5  Control : Idbexplorer.htm  Using unit tests  No transactions or updating during schema version upgrade  IndexedDB is roughly implemented All objects types are not supported depending on browsers
  • 18. FileAPI LOCAL IMAGE UPLOAD + PREPARE FOR STORAGE
  • 19. FILE API  File API usage context Native drag’n’drop from desktop allowing multiple file upload Binary conversion of the uploaded File object Keeping model image content for persistent storage  Goal Treating large 8M files on client side Store it in the right way Using it in SVG or Canvas
  • 20. HOW TO STORE IMAGES? NO KIDING TO HEAVY FOR FIREBUG????  First try with base64 :  To Heavy in DOM and for Firebug!  Save in blob (FF11 & IE10 CP):
  • 21. Canvas / SVG LOCAL IMAGE TREATMENT
  • 22. WHY CANVAS TO DEAL WITH STATIC IMAGES?  SVG limitations Unable to export a SVG filter into a Base 64 string usable in images tag Photo filters are harder to calibrate in SVG  Our solution Using canvas to treat images px/px Using Pixastic library (under MPL)
  • 23. SUM UP  A lot of new things  Need to go fast ;)  No idea of the performance troubles related to HTML5 new things  Small knowledges on big complex HTML5 apps  Experimental brief  Experimental technologies  F*** experimental browser
  • 24. A SMALL THING WE ARE PROUD OF An app on the Win 8 Store
  • 25. http://www.ekino.com/ @3k1n0 To see or read : • « Slides, quelques démos et vidéos des sessions IE10/HTML5/CSS3 des Techdays 2012 » (fr) David Roussethttp://blogs.msdn.com/b/davrous/archive/2012/02/20/slides-quelques- d-233-mos-et-vid-233-os-des-sessions-ie10-html5-css3-des-techdays-2012.aspx • Keynote « World of developers » including SnapyX demo (fr) MS TechDays 2012 : http://www.youtube.com/watch?v=r64B13fh9nc • Vidéo de présentation de l’application : http://www.youtube.com/watch?v=3winPXeMx_c Frameworks and plugins Used : • Backbone : here • Backbone Relational : here • Backbone Indexed DB • Original : here • Our fork : here • Underscore : here • Pixastic : here • IdbExplorer : here • Raphael Goetter CSS3 presentation : here