34
Unicsovics Milán [email protected] slideshare.net/thesnapdragon

Firefox OS presentation

Embed Size (px)

Citation preview

Page 1: Firefox OS presentation

Unicsovics Milá[email protected]/thesnapdragon

Page 2: Firefox OS presentation

Okostelefon eladások a világon (%), forrás: Gartner

Page 3: Firefox OS presentation

Firefox OS

➵ Customer: "A friend told me I'm using a thing

called 'Linux'. What is it?"

➵ Tech Support: "An operating system."

➵ Customer: "Like Firefox right?"

Page 4: Firefox OS presentation

Firefox OS● egy mobil OS, mely a böngészőbe bootol be

● alacsony ár:○ fejlődő országok ellátásának képessége

● 3 havonta frissülő főverzió○ rendszerfrissítések telepítése over-the-air

● csak webes technológiák használata○ meglévő webfejlesztési ismeretek használata

○ ~> natív alkalmazás használati élmény

○ write once, deploy everywhere

Page 5: Firefox OS presentation
Page 6: Firefox OS presentation

Mozilla WebAPI: https://wiki.mozilla.org/WebAPI

Page 7: Firefox OS presentation

WebAPI példa

Page 8: Firefox OS presentation

WebUSB draft

Page 9: Firefox OS presentation

● app = bármely web alkalmazás + manifest

● publikálási lehetőségek:○ hosted app

○ packaged app (.zip fájlban)

● packaged alkalmazások típusai:○ plain

○ privileged

○ certified

Alkalmazások és a Firefox Marketplace

Page 10: Firefox OS presentation

Manifest példa

Page 11: Firefox OS presentation

Architektúra röviden

● Gonk: kernel + HAL

● Gecko: böngészőmotor○ futtatókörnyezet (pl.: Javascript motor)

● Gaia: teljes felhasználói felület○ ez is HTML, CSS, JS

Page 12: Firefox OS presentation
Page 13: Firefox OS presentation

Gecko● nyílt forrású, többplatformos böngészőmotor

● Netscape később Mozilla fejlesztésében

● tartalmaz: networking stack, graphics stack,

renderelő motor,

JS virtuális gép

Page 14: Firefox OS presentation

Böngészők részesedése, forrás: statcounter.com

Page 15: Firefox OS presentation

Partnerek

Page 16: Firefox OS presentation

Fejlesztői telefonok

Geeksphone Keon Geeksphone Peak

Page 17: Firefox OS presentation

Első fecskék

Alcatel One Touch Fire

Méret: 114 x 62 x 12.5 mm

Kijelző: 320 x 480 pixel, 3.5 inch

Chipset: Qualcomm MSM7225A Snapdragon

CPU: 1.0 GHz Cortex-A5

GPU: Adreno 200

Mem.: 512 MB ROM, 256 MB RAM

Akkum.: Li-Ion 1200 mAh

ZTE Open

Page 18: Firefox OS presentation

HTML5 és a mobil web

… I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there.

Mark Zuckerberg, 2012

Page 19: Firefox OS presentation

HTML5 és a mobil web

… I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there.

Mark Zuckerberg, 2012

… And it's not that HTML5 is bad. I'm actually, on long-term, really excited about it.

Mark Zuckerberg, 2012

People use this platform as the basis for tremendous creativity. There's incredible innovation happening out there, and people thinking of all kinds of amazing things, at any moment.

Sir Tim Berners Lee, 2013

Page 20: Firefox OS presentation

Workflow

● a szoftver minőségét a fejlesztés

folyamatának minősége határozza meg

● Yeoman: eszközkészlet és munkafolyamat

modern webalkalmazások fejlesztéséhez

Page 21: Firefox OS presentation

Yeoman eszközkészlet● Yo

○ scaffolding tool○ sablon generátor○ konfigurációs fájlok előállítása a fejlesztéshez

● Bower○ dependency management tool○ JS, CSS függőségek intelligens kezelése

● Grunt○ task runner tool○ preview: webszerver + live reload○ test: egység, és integrációs tesztek futtatása○ build: uglify, minify

Page 22: Firefox OS presentation

Yo példák# teljes frontend alkalmazás$ yo webapp

# teljes Wordpress blog környezet$ yo wordpress

# teljes AngularJS projekt$ yo angular myapp

# AngularJS Controller$ yo angular:controller myController# AngularJS View$ yo angular:view myView

Page 23: Firefox OS presentation

Bower, Grunt példák# Bower keresés, telepítés, update$ bower search jquery$ bower install jquery$ bower update

# Grunt live reload server indítása$ grunt server

# Grunt test$ grunt test

# Grunt project build$ grunt build

Page 24: Firefox OS presentation

Responsive design

● sokféle felbontást használnak az eszközök

● elrendezés dinamikusan változik a

felbontástól függően

● Twitter Bootstrap○ CSS keretrendszer

○ tipográfia, űrlapok, gombok, navigáció és egyéb

grafikus komponensek

○ opcionális JS kiegészítés

Page 25: Firefox OS presentation

Bootstrap példák #1

Page 26: Firefox OS presentation

Bootstrap példák #2

Page 27: Firefox OS presentation

Bootstrap példák #3

Page 28: Firefox OS presentation

AngularJS

● MVC Javascript keretrendszer a Google-től

● deklaratív programozás -> GUI

○ kétirányú adatkötés a HTML-lel -> modell alapján automatikusan frissül a view

○ DOM-tól való függetlenség -> tesztelhetőség

● imperatív programozás -> üzleti logika○ megvalósítás controller-ekben○ backend: REST, JSONP

Page 29: Firefox OS presentation

AngularJS #2

● meghatározza a fejlesztési munkafolyamatot1. UI tervezése, deklaratív implementáció

2. Üzleti logika fejlesztése

3. Tesztelés

● egység, és integrációs tesztek:○ Jasmine: viselkedés alapú tesztelést tesz lehetővé

○ DOM-tól független

○ tesztek futtatása automatikusan (TDD, BDD)

Page 30: Firefox OS presentation

AngularJS GUI

Page 31: Firefox OS presentation

AngularJS üzleti logika

Page 32: Firefox OS presentation

AngularJS tesztelés

Page 33: Firefox OS presentation

Köszönöm a [email protected]/thesnapdragon

Page 34: Firefox OS presentation

Felhasznált anyagok● http://www.slideshare.net/daf182 (Nagy Gergő)● http://www.slideshare.net/matenadasdi1/firefox-os-weekend (Nádasdi

Máté)● http://www.slideshare.net/janjongboom (Jan Jongboom)● http://olavhn.github.io/shower/intro2.html (Olav Nymoen)● http://www.slideshare.net/KAMI911 (Szalai Kálmán)● http://slides.openjck.com/s/firefox-os/ (John Karahalis)