SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
Darius Leskauskas

@KaunasPHP
HTML5 mobile apps. Tips & tricks
Apie mane
Darius Leskauskas @darles
Su WEB dirbu ~7 metus
Šiuo metu dev@iTo
Pažintis su mobile web app
● eskimi.com
● Socialinis tinklas su >10mln vartotojų
Mobile web app vs web app
● Riboti resursai:
   ○ Atmintis
   ○ Interneto greitis
   ○ CPU
● Ribota ekrano raiška
   ○ 240x320
● Didžiuliai ekrano raiškų skirtumai
   ○ 240x320 -> 1280x720
● Galybė skirtingų naršyklių ir jų versijų su
  savo "pričiūdais"
web VS native
● 90% funkcionalumo - atvaizdavimas
● Prieiga prie failų/foto kameros - nebūtina
● Ribotas biudžetas + reikalingos visos
  platformos
● Aplikacijos dizainas - paprastas
Major bugs
● Nokia S60 - nepalaiko daugiau nei 3
  sinchroninių ajax requestų.
● Nokia S60 - nepalaiko CORS
● The History API + .scrollTop was supported
  on 2.3.3 but is not on 3.0 or 4.0
● border-width: 1px - ant retinos neveikia :)
● GIF animacija neveikia daugelyje androidų
Libraries
● jQuery - veikia visur :)

   ○ Zepto - neišlipa iš RC, neveikia ant Nokia
   ○ jQTouch - neišlipa iš BETA, neturi daug naudingų
     helperių
   ○ jQuery mobile - per daug suspausta struktūra
   ○ Sencha Touch - mokamas, nėra dokumentacijos


● LESS
Extensions

● jq.history.js
   ○ History.js jQuery versija.
     ■ https://github.com/balupton/History.js
● matchMedia.js
   ○ Rezoliucijos nustatymas
     ■ https://github.com/paulirish/matchMedia.js
● mustache.js
   ○ JS template'ai
     ■ https://github.com/janl/mustache.js
Extensions

● fastClick.js
   ○ http://labs.ft.com/
● iScroll
   ○ https://github.com/cubiq/iscroll
● CanvasLoader
   ○ http://heartcode.robertpataki.com/canvasloader/
General tips
● Venkit animacijų ypač fadeIn/fadeOut
● Geriausias dizainas kurį gali nupiešti su
  HTML+CSS
● Jei naudojat tą patį canvas, nekurkit jo
  kiekvieną kartą prireikus - laikykit atmintyje
● Template'us arba generuokit su JS arba
  laikykit pačiame JS'e
● Etalonas - m.linkedin.com
● scrollTo(0,1); - paslepiam address bar
Tools
● CodeKit - minimizavimas, LESS to CSS, JS
  append/prepend
  ○ Mac OS X
● SpriteGen
  ○ http://css.spritegen.com
● NetBeans

Más contenido relacionado

Similar a Mobile web apps tips & tricks

Atviro kodo PĮ vystymo ypatumai
Atviro kodo PĮ vystymo ypatumaiAtviro kodo PĮ vystymo ypatumai
Atviro kodo PĮ vystymo ypatumaiRemigijus Kiminas
 
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutes
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutesAudrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutes
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutesAll Digital Group
 
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....Agile Lietuva
 
Lithuanian .NET User Group - Windows Phone 7 - Overview
Lithuanian .NET User Group - Windows Phone 7 - OverviewLithuanian .NET User Group - Windows Phone 7 - Overview
Lithuanian .NET User Group - Windows Phone 7 - OverviewAlan Mendelevich
 
Internet Explorer 9 Apžvalga Programuotojams
Internet Explorer 9 Apžvalga ProgramuotojamsInternet Explorer 9 Apžvalga Programuotojams
Internet Explorer 9 Apžvalga ProgramuotojamsTomas Dabasinskas
 
Diegimo etapas prasideda nuo pirmos iteracijos... (Agile Lietuva meetup 2021...
Diegimo etapas prasideda nuo pirmos iteracijos...  (Agile Lietuva meetup 2021...Diegimo etapas prasideda nuo pirmos iteracijos...  (Agile Lietuva meetup 2021...
Diegimo etapas prasideda nuo pirmos iteracijos... (Agile Lietuva meetup 2021...Alexey Kovalyov
 

Similar a Mobile web apps tips & tricks (8)

Atviro kodo PĮ vystymo ypatumai
Atviro kodo PĮ vystymo ypatumaiAtviro kodo PĮ vystymo ypatumai
Atviro kodo PĮ vystymo ypatumai
 
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutes
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutesAudrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutes
Audrius Lučiūnas. 50 labai naudingų ir Jums nežinomų įrankių vos per 25 minutes
 
Audrys Kažukauskas
Audrys KažukauskasAudrys Kažukauskas
Audrys Kažukauskas
 
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
A. Kovaliov ir A. Kublickij. Diegimo etapas prasideda nuo pirmos iteracijos ....
 
Lithuanian .NET User Group - Windows Phone 7 - Overview
Lithuanian .NET User Group - Windows Phone 7 - OverviewLithuanian .NET User Group - Windows Phone 7 - Overview
Lithuanian .NET User Group - Windows Phone 7 - Overview
 
Internet Explorer 9 Apžvalga Programuotojams
Internet Explorer 9 Apžvalga ProgramuotojamsInternet Explorer 9 Apžvalga Programuotojams
Internet Explorer 9 Apžvalga Programuotojams
 
Diegimo etapas prasideda nuo pirmos iteracijos... (Agile Lietuva meetup 2021...
Diegimo etapas prasideda nuo pirmos iteracijos...  (Agile Lietuva meetup 2021...Diegimo etapas prasideda nuo pirmos iteracijos...  (Agile Lietuva meetup 2021...
Diegimo etapas prasideda nuo pirmos iteracijos... (Agile Lietuva meetup 2021...
 
Internetinis marketingas
Internetinis marketingasInternetinis marketingas
Internetinis marketingas
 

Mobile web apps tips & tricks

  • 2. Apie mane Darius Leskauskas @darles Su WEB dirbu ~7 metus Šiuo metu dev@iTo
  • 3. Pažintis su mobile web app ● eskimi.com ● Socialinis tinklas su >10mln vartotojų
  • 4. Mobile web app vs web app ● Riboti resursai: ○ Atmintis ○ Interneto greitis ○ CPU ● Ribota ekrano raiška ○ 240x320 ● Didžiuliai ekrano raiškų skirtumai ○ 240x320 -> 1280x720 ● Galybė skirtingų naršyklių ir jų versijų su savo "pričiūdais"
  • 5. web VS native ● 90% funkcionalumo - atvaizdavimas ● Prieiga prie failų/foto kameros - nebūtina ● Ribotas biudžetas + reikalingos visos platformos ● Aplikacijos dizainas - paprastas
  • 6. Major bugs ● Nokia S60 - nepalaiko daugiau nei 3 sinchroninių ajax requestų. ● Nokia S60 - nepalaiko CORS ● The History API + .scrollTop was supported on 2.3.3 but is not on 3.0 or 4.0 ● border-width: 1px - ant retinos neveikia :) ● GIF animacija neveikia daugelyje androidų
  • 7. Libraries ● jQuery - veikia visur :) ○ Zepto - neišlipa iš RC, neveikia ant Nokia ○ jQTouch - neišlipa iš BETA, neturi daug naudingų helperių ○ jQuery mobile - per daug suspausta struktūra ○ Sencha Touch - mokamas, nėra dokumentacijos ● LESS
  • 8. Extensions ● jq.history.js ○ History.js jQuery versija. ■ https://github.com/balupton/History.js ● matchMedia.js ○ Rezoliucijos nustatymas ■ https://github.com/paulirish/matchMedia.js ● mustache.js ○ JS template'ai ■ https://github.com/janl/mustache.js
  • 9. Extensions ● fastClick.js ○ http://labs.ft.com/ ● iScroll ○ https://github.com/cubiq/iscroll ● CanvasLoader ○ http://heartcode.robertpataki.com/canvasloader/
  • 10. General tips ● Venkit animacijų ypač fadeIn/fadeOut ● Geriausias dizainas kurį gali nupiešti su HTML+CSS ● Jei naudojat tą patį canvas, nekurkit jo kiekvieną kartą prireikus - laikykit atmintyje ● Template'us arba generuokit su JS arba laikykit pačiame JS'e ● Etalonas - m.linkedin.com ● scrollTo(0,1); - paslepiam address bar
  • 11. Tools ● CodeKit - minimizavimas, LESS to CSS, JS append/prepend ○ Mac OS X ● SpriteGen ○ http://css.spritegen.com ● NetBeans