Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Native look and feel of mobile JS interfaces wi...
Search
fwdays
March 05, 2013
Programming
1
810
Native look and feel of mobile JS interfaces with HTML5 canvas
fwdays
March 05, 2013
Tweet
Share
More Decks by fwdays
See All by fwdays
Symfony best practices и не только Олег Зинченко
fwdays
0
2.1k
Beyond Testing Михаил Боднарчук
fwdays
0
770
Yii2 - на пути от Alpha до GA. Взгляд с практической стороны Александр Бордун
fwdays
0
1.8k
Laravel 4: простота во всем. Евгений Косинский
fwdays
0
950
Маленькая библиотека для большой компании. Антон Шевчук
fwdays
0
3.8k
Phalcon. Что нового? Александр Торош
fwdays
0
1.1k
Выбираем поисковик умом головы. Андрей Аксенов
fwdays
0
1.4k
Past, Present, and Future: The Evolution of PHP Development. Nate Abele
fwdays
0
760
Функциональный тулчейн Nix
fwdays
1
450
Other Decks in Programming
See All in Programming
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
670
Using AI Tools Around Software Development
inouehi
0
1.2k
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
520
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
250
「ElixirでIoT!!」のこれまでとこれから
takasehideki
0
370
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
550
関数型まつりレポート for JuliaTokai #22
antimon2
0
130
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
780
Elixir で IoT 開発、 Nerves なら簡単にできる!?
pojiro
1
150
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
110
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
130
Featured
See All Featured
BBQ
matthewcrist
89
9.7k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Code Review Best Practice
trishagee
68
18k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
For a Future-Friendly Web
brad_frost
179
9.8k
Optimizing for Happiness
mojombo
379
70k
GraphQLとの向き合い方2022年版
quramy
46
14k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Music & Morning Musume
bryan
46
6.6k
Transcript
More native look and feel with HTML5 canvas Cases, advantages,
issues and solutions
How to compare DOM and CANVAS? We will use FlashJS
engine. It have CANVAS and DOM renderers, so we can launch same code in both ways. flashjs.com
Why?
Why not HTML? HTML Node - is heavy to render
object. • Designed for advanced layouts, sometimes it is useless and harmful • CSS • Legacy properties, logic
Why canvas? One DOM interface - unlimited number of objects,
so much more easier to render.
Why canvas? Using canvas for UI components rendering is very
close to event delegation - you delegate not only events but rendering as well.
Cases
Typical cases Responsible components with transformation of many objects. DOM
example CANVAS example
Typical cases DOM interface decoration with animated objects. DOM example
CANVAS example
Typical cases For example - you`ll need to draw timelines
like this with DOM. How many DIVs will you need?
Your case ?
Anti-cases
Anticases Small amount of objects without transforms or transitions /
animations are enought.
Anticases Your objects have to include content with advanced layout.
And much more... CANVAS is not a silver bullet for
HTML perfomance...
Big canvas - bad canvas?
Frameworks Probably you`ll need easy to use interfaces for sprites,
animations, scales, nested objects and much more, but HTML5 canvas API is too low level thing - you`d better to use frameworks.
Canvas UI development issues Because of previous issue - you`ll
need batch assets resizing for different screen sizes.
Canvas UI development issues Using large universal engines seems to
be wrong way sometimes. There is space for your own wheel.
Questions ?
Thanks =) Denis Radin PixelsCommander.com Special thanks to FlashJS engine
- www.flashjs.com