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
JavaScript初心者がFirefox OSの時計アプリを読んでみた
Search
Mikio Fujita
November 15, 2014
Programming
2
460
JavaScript初心者がFirefox OSの時計アプリを読んでみた
Mikio Fujita
November 15, 2014
Tweet
Share
More Decks by Mikio Fujita
See All by Mikio Fujita
社内にアクセシビリティ改善を広める際に意識したこと
benevolent0505
0
810
GraphQLを使い続けて気づいたこと ~Hatena Engineer Seminar #21~
benevolent0505
3
2.5k
エンジニアから見た出版社との共同開発の暮らし / Hatena Engineer Seminar #13
benevolent0505
0
2.3k
マンガチームとDevOps / Hatena Engineer Seminar #11
benevolent0505
0
1k
授業でWebアプリを作っている?話
benevolent0505
0
930
日曜日といったら
benevolent0505
1
130
朝起きる
benevolent0505
1
87
休講
benevolent0505
0
1.2k
◯◯駆動開発
benevolent0505
0
180
Other Decks in Programming
See All in Programming
AIエージェントを活用したアプリ開発手法の模索
kumamotone
1
750
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
120
PHPer's Guide to Daemon Crafting Taming and Summoning
uzulla
2
1.1k
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
130
eBPF Updates (March 2025)
kentatada
0
130
PHPUnit 高速化テクニック / PHPUnit Speedup Techniques
pinkumohikan
1
1.2k
Going Structural with Named Tuples
bishabosha
0
170
Django for Data Science (Boston Python Meetup, March 2025)
wsvincent
0
240
SideKiqでジョブが二重起動した事象を深堀りしました
t_hatachi
0
240
SQL Server ベクトル検索
odashinsuke
0
120
データベースエンジニアの仕事を楽にする。PgAssistantの紹介
nnaka2992
9
4.3k
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1.1k
Featured
See All Featured
Thoughts on Productivity
jonyablonski
69
4.5k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Building an army of robots
kneath
304
45k
Automating Front-end Workflow
addyosmani
1369
200k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
For a Future-Friendly Web
brad_frost
176
9.6k
A Tale of Four Properties
chriscoyier
158
23k
Unsuck your backbone
ammeep
670
57k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
28
1.6k
The Cult of Friendly URLs
andyhume
78
6.3k
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 Կ͔͕ॳΊͯͷܦݧͩͬͨ ɾΞϓϦέʔγϣϯʹ͍ͭͯ৮ΕΔ ! ɾ৮Εͨ͜ͱͷͳ͍ݴޠ ! ɾҰͭͷίʔυΛ̏ਓͰಡΉ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠