Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
JavaScript初心者がFirefox OSの時計アプリを読んでみた
Search
Mikio Fujita
November 15, 2014
Programming
490
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
JavaScript初心者がFirefox OSの時計アプリを読んでみた
Mikio Fujita
November 15, 2014
More Decks by Mikio Fujita
See All by Mikio Fujita
社内にアクセシビリティ改善を広める際に意識したこと
benevolent0505
0
1.1k
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.8k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
benevolent0505
0
2.5k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1.1k
授業でWebアプリを作っている?話
benevolent0505
0
1k
日曜日といったら
benevolent0505
1
150
朝起きる
benevolent0505
1
110
休講
benevolent0505
0
1.3k
◯◯駆動開発
benevolent0505
0
230
Other Decks in Programming
See All in Programming
The Rails Doctrine Decade
koic
2
560
パーソナライズPodcastを作った話
repunit11
0
140
Kubernetes祭り #2 OP/ED
bells17
0
110
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
複雑なUIコンポーネントとの ⻑い付き合い⽅:波及するバグからテスト戦略を経て、安全な再設計へ
mixplace
0
390
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Rails World 2026, Austin, Texas
marcoroth
0
210
mrbgem 三角測量 開発
ogom
0
240
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
34
16k
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
570
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
370
Domain-Driven Transformation
hschwentner
2
2.3k
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
330
Featured
See All Featured
Are puppies a ranking factor?
jonoalderson
2
4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
220
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
300
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
490
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
740
Reality Check: Gamification 10 Years Later
codingconduct
0
2.3k
We Have a Design System, Now What?
morganepeng
55
8.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
530
Transcript
+BWB4DSJQUॳ৺ऀ͕ 'JSFGPY04ͷ ࣌ܭΞϓϦΛಡΜͰΈͨ @staybuzz @benevolent0505 @jade_halcyon 'Y04ίʔυϦʔσΟϯάϛʔτΞοϓ
ࣗݾհdstaybuzzd @staybuzz • ిؾ௨৴େֶ • ࠷ۙόΠτ࢝Ίͨ o Ϋϥυʂ • ͋·Γϓϩάϥϛϯά͠ͳ͍
• චശͷ৭'JSFGPYΦϨϯδ
ࣗݾհdbenevolent0505d !benevolent0505 Έ͖͓ • ిؾ௨৴େֶੜ ! • ϓϩάϥϛϯάॳ৺ऀؾຯʁ !
• ϚοΫϒοΫΦϨ
ࣗݾհdjade_halcyond !jade_halcyon ͋͗͞Μ w ిؾ௨৴େֶ̏ w ϓϩάϥϛϯάॳ৺ऀ w +BWB4DSJQUz)FMMP
XPSMEz͢Βॻ͚ͳ͍͘ Β͍ʹΘ͔Βͳ͔ͬͨ w ʹΐʹΐ
ൃදͷഎܠ ʹߦΘΕͨ04$ʹͯ !NBTBXBEBʮ࠙ձ͋Δ͠ߦ͖·͠ΐ͏ʂʯ ୡʮֶੜԁͳΒߦͬͯΈΑ͏͔ͳʜʯ ͥͻߦ͖·͠ΐ͏ʂ
ൃදͷഎܠ 04$࠙ձʹͯ!BPJ@OBHBUTVLJ͞Μʹ BPJʮ܅ͨͪɺ'Y04ڵຯ͋ΔΑͶʁ͆ʯ ˣ BPJʮίʔυಡΜͰΈͳ͍ʁ͆ʯ ˣ BPJʮۭ͍ͯΔΜ͚ͩͲɺग़ΔΑͶʁ͆ʯ ˣ ୡʮ͋ʙ͆ʯ ʊਓਓਓਓਓਓʊ
ʼɹొஃܾఆɹʻ ʉ:?:?:?:?:ʉ
͕ࣗͨͪͨ͜͠ͱdऔΓΈͷํd ! w·֤͕ͣࣗࣗ༝ʹಡΈਐΊ͍ͯ͘ wணͷચ͍ग़͠ w(PPHMFεϓϨουγʔτʹΘ͔ͬͨ͜ͱΛ࣍ʑ ʹϝϞ͍ͯ͘͠ wใڞ༗
͕ࣗͨͪͨ͜͠ͱdऔΓΈͷํd w ʹҰ΄ͲͷϖʔεͰ4LZQF͠ͳ͕Βಡ ΈਐΊΔ w Ϟνϕʔγϣϯͷҡ࣋ɺूத
͕ࣗͨͪͨ͜͠ͱd࣮ࡍͷྲྀΕd panels alarm stopwatch timer clock_view alarm_list post_message _proxy active_alarm
alarm_edit child_window _manager ֤ϑΝΠϧɾσΟϨΫτϦ໊͔ΒׂΛਪଌ
͕ࣗͨͪͨ͜͠ͱd࣮ࡍͷྲྀΕd • σόοΨΛ͍͡ΊΔ ◦ ͱ͍͑ɺίʔυΛಡΉ͚ͩ ◦ ϒϨʔΫϙΠϯτɾɾɾʁ • ϝιου໊ͰίʔυΛݕࡧ͠ݺͼग़͠ͷྲྀΕΛਪଌ ◦
͋͘·Ͱʮਪଌʯ͔͍ͯ͠͠ͳ͔ͬͨ
͕ࣗͨͪͨ͜͠ͱd࣮ࡍͷྲྀΕd w ΞϥʔϜ͕໐Δॠؒʹண͢Δ͜ͱʹ w ΞϥʔϜͷ࠷ॏཁػೳ ʁ ͳʹ͕ΞϥʔϜΛ ໐Β͍ͯ͠Δͷɾɾɾʁ
͕ࣗͨͪͨ͜͠ͱd࣮ࡍͷྲྀΕd w ϒϨʔΫϙΠϯτͷଘࡏΛΔʂʂʂ w ਪଌ͕֬৴ʹมΘΔॠؒ ϒϨʔΫϙΠϯτɺ ͬͯ·͔͢ʁ
Θ͔ͬͨ͜ͱ
Θ͔ͬͨ͜ͱdΞϥʔϜͷൃՐd Navigator.mozAlarm ! w ࢦఆ࣌ؒʹΠϕϯτΛൃՐ w 'Y04ݻ༗ͷ"1* w ར༻ʹಛݖΞϓϦͰ͋Δ͜ͱ͕ඞཁ
Θ͔ͬͨ͜ͱdΞϥʔϜͷൃՐd manifest.webappͷpermissions෦ https://github.com/mozilla-b2g/gaia/blob/master/apps/clock/manifest.webappΑΓ ͜͜
Θ͔ͬͨ͜ͱdΞϥʔϜͷൃՐd Alarm.scheduleϝιου navigator.mozAlarm.add() ͕ൃՐ࣌ؒΛࢦఆ ΞϥʔϜ࡞࣌
` Θ͔ͬͨ͜ͱdΞϥʔϜͷൃՐd onAlarmFired or onTimerFired Viewͷ දࣔ indexedDB mozSetMessageHandler ͕ઃఆ
onMozAlarm ΞϥʔϜൃՐ࣌ʂʂ อଘ͞ΕͨΞϥʔϜ ͷઃఆΛಡΈࠐΉ ϝΠϯετϦʔϜ
Θ͔ͬͨ͜ͱdεψʔζd ൃՐͨ͠ΞϥʔϜͷ*%ͷใΛ%#ΑΓऔಘ active_alarm.js (v2.0)
Θ͔ͬͨ͜ͱdεψʔζd ݱࡏ࣌ࠁ b4OPP[F`Λλοϓͨ࣌͠ࠁ ʹ༧Ίઃఆͨ͠ε ψʔζλΠϜΛͨ࣌͠ࠁΛ%#ʹॻ͖ࠐΈ alarm.js (v2.0)
Θ͔ͬͨ͜ͱd"1*ͱ͔d ! • Navigator.mozAlarm w ࠓճͷ࣌ܭΞϓϦͷ؊ • Navigator.mozSetMessageHandler w γεςϜʹൃՐ࣌ͷىಈ͢ΔΠϕϯτΛઃఆ͢ΔͨΊ
• Navigator.requestWakeLock w ݤʹͳ͍ͬͯͦ͏ͳΜ͚ͩͲಾɾɾɾ
Θ͔ͬͨ͜ͱd8FC"1*d 8FC"1*ΛͬͯΞϓϦΛ։ൃ͕Ͱ͖Δ ʢྫʣ • indexedDB API ◦ ΞϥʔϜͷઃఆͷอଘʹ༻ • vibration
API ◦ ͷόΠϒϨʔγϣϯ
ίʔυϦʔσΟϯάʹऔΓΜͰΈͨ݁Ռ dऔΓΈํʹ͍ͭͯd • ࢝Ί֤͕ࣗࣗ༝ʹಡΜͰ͍͘ • +4ͷجຊతͳ͔ࣝΒ • ͩΜͩΜ֤ࣗͷಡΉൣғʹऩଋ ! •
(PPHMFεϓϨουγʔτʹ·ͱΊΔ • ଞਓͷϝϞ͕͔ͳΓʹཱͬͨ ! • 4LZQFͰձΛ͠ͳ͕ΒಡΉ • ͘͘ձ෩Ͱ͕͋ͬͨɾɾɾ
ίʔυϦʔσΟϯάʹऔΓΜͰΈͨ݁Ռ dܦݧʹ͍ͭͯd .%/ͷهࣄ ӳޠ ͕ʹཱͬͨ w ॳΊʹ'Y04ͷ߲ʹͭͯಡΊΑ͔ͬͨײ
ίʔυϦʔσΟϯάʹऔΓΜͰΈͨ݁Ռ dܦݧʹ͍ͭͯd γϛϡϨʔλͱ(JUIVCͷNBTUFSϒϥϯνͷ όʔδϣϯͷҧ͍ master v 2.0
ίʔυϦʔσΟϯάʹऔΓΜͰΈͨ݁Ռ dܦݧʹ͍ͭͯd +BWB4DSJQU͍͠ w UIJTͱ͔QSPUPUZQFͱ͔ w ࣗ༝͕ߴ͍ w ॳ৺ऀʹѻ͍ͮΒ͍
ίʔυϦʔσΟϯάʹऔΓΜͰΈͨ݁Ռ dܦݧʹ͍ͭͯd σόοΨͷ༻ w نͷେ͖ͳͷʹ৮Δ͜ͱͰؾ͍ͮͨ༗༻ੑ
ײdstaybuzzd • ॳσόοΨɺॳϒϨʔΫϙΠϯτʹײಈ ! • 'Y04ʹॳΊͯ৮ΕͯΈͯɺຊʹ)5.- +4Ͱ࡞ΒΕ͍ͯΔͷ͔ʁͱٙͬͯ͠·ͬ ͨ ! •
͜ΕΛػʹ+4ͳͲΛษڧͯ͠ΞϓϦΛ࡞ͬ ͯΈ͍ͨ
ײdbenevolent0505d w +BWB4DSJQU͕นͩͬͨ w ଞͷݴޠͱൺΔͱ׳Εͳ͍ײ͡ w 8FCͷٕज़ʹڵຯΛͬͨ w 8FCͷٕज़ͷڧྗ͞ w
ਓͰΔ͜ͱͷྑ͞ w ձ͠ͳ͕Βͬͨ΄͏͕ਐΜͩؾ͕͢Δ
ײdjade_halcyond Կ͔͕ॳΊͯͷܦݧͩͬͨ ɾΞϓϦέʔγϣϯʹ͍ͭͯ৮ΕΔ ! ɾ৮Εͨ͜ͱͷͳ͍ݴޠ ! ɾҰͭͷίʔυΛ̏ਓͰಡΉ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠