Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
FirefoxOS.cljs 
ClojureTRE/2014
Hello, everyone! 
Timo Sulg 
Clojure journeyman 
@timgluz 
TauhoLabs 
VersionEye
Intro
ƒ
Gaia 
Gonk 
Kernel&HAL
ClojureScript 
on top of 
FirefoxOS 
The best part
Apis 
● 3 permission levels (web, priviliged, certified) 
● HTML5 (http://caniuse.com) 
● Communication 
● Hardware 
● Oth...
➔ HTML5 APIs 
➔ Alarm API 
➔ Push API 
➔ Archive API 
➔ Network information 
➔ Ambient light sensor 
➔ Proximity sensor 
➔...
Example: deviceorientation
APIS 
➔ Contacts 
➔ Browser 
➔ Device storage 
➔ TCP Socket 
➔ systemXHR 
➔ …. 
Privileged applications 
Publishing 
App-s...
Certified applications - only OEM partners, money helps too 
APIS 
Telephony 
Wifi 
Camera 
SMS 
Network stats 
….
Webactivities 
How i can call, send sms or take pics? 
Delegate.
Example: phoneWord
“Use the source!”
Pult: remote control
Pult: code 
● pult 
○ websocket + chord 
○ core.async 
● pult-server 
○ http-kit 
○ java.awt.Robot
Pult: structure 
$> lein new foxy pult 
● clojurescript 
● manifest file 
● repl configuration 
● gitignore
Happy 25th anniversary!!
Final remarks 
● no inline code 
● no inline CSS 
● no eval() 
● (main arg1) 
● 3rd part libraries may not work 
● workflo...
Epilogue
Epilogue 
Not “cutting edge”, 
unbeatable HW/price, 
open & popular platform
IPhone1 vs FxOs
Good fit for: 
● apps 
● startup founders 
● testing mobile sites 
● IoT 
● Kickstarter DIY 
○ Hackable 8-bit sound genera...
Recap 
HTML5 runtime 
Many APIs 
Clojure 1.st class citizen 
hacker friendly 
affordable
● Pult, https://github.com/tauho/pult 
● App center, https://developer.mozilla.org/en-US/Apps 
● APIs, https://developer.m...
Building FirefoxOS apps with Clojurescript
Building FirefoxOS apps with Clojurescript
Upcoming SlideShare
Loading in …5
×

Building FirefoxOS apps with Clojurescript

1,803 views

Published on

Short talk how to build FirefoxOS application in Clojurescript and there're not much slides - most of time is spent on live-demo;

Published in: Technology
  • Be the first to comment

Building FirefoxOS apps with Clojurescript

  1. 1. FirefoxOS.cljs ClojureTRE/2014
  2. 2. Hello, everyone! Timo Sulg Clojure journeyman @timgluz TauhoLabs VersionEye
  3. 3. Intro
  4. 4. ƒ
  5. 5. Gaia Gonk Kernel&HAL
  6. 6. ClojureScript on top of FirefoxOS The best part
  7. 7. Apis ● 3 permission levels (web, priviliged, certified) ● HTML5 (http://caniuse.com) ● Communication ● Hardware ● Others
  8. 8. ➔ HTML5 APIs ➔ Alarm API ➔ Push API ➔ Archive API ➔ Network information ➔ Ambient light sensor ➔ Proximity sensor ➔ …. WebApis for regular applications Regular Applications default hosted packaged
  9. 9. Example: deviceorientation
  10. 10. APIS ➔ Contacts ➔ Browser ➔ Device storage ➔ TCP Socket ➔ systemXHR ➔ …. Privileged applications Publishing App-store Verified certified
  11. 11. Certified applications - only OEM partners, money helps too APIS Telephony Wifi Camera SMS Network stats ….
  12. 12. Webactivities How i can call, send sms or take pics? Delegate.
  13. 13. Example: phoneWord
  14. 14. “Use the source!”
  15. 15. Pult: remote control
  16. 16. Pult: code ● pult ○ websocket + chord ○ core.async ● pult-server ○ http-kit ○ java.awt.Robot
  17. 17. Pult: structure $> lein new foxy pult ● clojurescript ● manifest file ● repl configuration ● gitignore
  18. 18. Happy 25th anniversary!!
  19. 19. Final remarks ● no inline code ● no inline CSS ● no eval() ● (main arg1) ● 3rd part libraries may not work ● workflow: web > simulator > device
  20. 20. Epilogue
  21. 21. Epilogue Not “cutting edge”, unbeatable HW/price, open & popular platform
  22. 22. IPhone1 vs FxOs
  23. 23. Good fit for: ● apps ● startup founders ● testing mobile sites ● IoT ● Kickstarter DIY ○ Hackable 8-bit sound generator ○ smart watering controller ○ $100 red button with API
  24. 24. Recap HTML5 runtime Many APIs Clojure 1.st class citizen hacker friendly affordable
  25. 25. ● Pult, https://github.com/tauho/pult ● App center, https://developer.mozilla.org/en-US/Apps ● APIs, https://developer.mozilla.org/en-US/docs/WebAPI ● Style guide, https://www.mozilla.org/en-US/styleguide/products/firefox-os/ ● Getting started guide, http://buildingfirefoxos.com/ ● Can I use HTML5 feature: http://caniuse.com/ ● Phone specs: http://www.thephonedatabase.com/Search_For_Phones_Running_Firefox_OS Links

×