41
Išmaniųjų telefonų programavimas

Išmaniųjų telefonų programavimasmeglinskas/m/2014_1.pdfNorint pasitvirtinti darbo sritį •Pasidaryti web puslapį, kuriame būtų šie duomenys •Pavadinimą •Pora pastraipų

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Išmaniųjų telefonų programavimas

Temos

• Mobilūs web sprendimai:• Prisitaikantis dizainas (responsive design)

• Web programėlės HTML4/javascript pagrindu (jQuery mobile)

• Web programėlės platinamos per App Store / Google play (PhoneGap)

• Modernaus programų kūrimo pagrindai:• „Barclays bank“ paskaita

• Programavimas Windows Phone įrenginiams

• Programavimas Android įrenginiams

• Programavimas iPhone įrenginiams

Apie

• Pratybos sudaro 50% pažymio

• Egzaminas sudaro 50% pažymio

• Reikalinga gauti bent pusę balų iš pratybų, kad prieiti prie egzamino

• Atlikti užduotis patartina dviejų studentų komandoms

• Pogrupiai:• iki Navalinskas Vytenis (1111090) - pirma grupė

nuo Navickas Tomas (1111062) - antra grupė

• Užduotys atliekamos pagal pasirinktas temas

Terminai

• Spalio 5 d. - prisitaikantis web dizainas ir programėlės karkasas - 1 balas

• Lapkričio 9 d. - Android 2 balai

• Gruodžio 20 d. – iPhone 2 balai

Darbo sritys, pavyzdžiai:

Elektroninė parduotuvė

Naujienų programėlė

Orų prognozės

TV programos

Užrašų knygutė

Pokalbių programa

Biržos indeksai

To-Do programa

Norint pasitvirtinti darbo sritį

• Pasidaryti web puslapį, kuriame būtų šie duomenys• Pavadinimą

• Pora pastraipų kaip suprantama sritis

• Pabraižyti keturių-penkių skirtingų ekrano langų karkasus (wireframes)

• Web puslapis turi vienodai gerai atrodyti tiek kompiuteryje, tiek mobiliam įrenginyje, t.y. naudoti prisitaikantį dizainą (bootstrap karkasis ir mediaužklausos)

Karkasai

Karkasai

Karkasai

Mobilus pasaulis

• Post-PC era• 1999 „PC plus“• 2007 „Post-PC“

• Mobilūs įrenginiai pagal naudojimą pralenks stacionarius kompiuterius jau 2015 m.

• „Mobile first“ strategija

• Mobilaus interneto greitis didėja kiekvienais metais:• 2G (2Mbps)• 3G (5Mbps)• 4G LTE (40Mbps)

Pirmas mobilus telefonas (1973 Motorola)

Apple Newton (1993)

Nokia 9000 (1996)

WAP

Java ME

Išmanus mobilus telefonas

• Išmanaus telefono pagrindiniai parametrai:• Jautrus lietimui ekranas• Moderni operacinė sistema (beveik visada analogas Desktop OS)• Pilno funkcionalumo Web naršyklė• Greitas interneto ryšys (3G arba LTE)• WiFi• Bluetooth• Akselerometrai ir kompasas• GPS• Giroskopas• Kokybiška vaizdo kamera

Mobilios operacinės sistemos

• iOS (Apple)

• Android (Samsung, HTC, Motorola, Sony, LG, ...)

• Windows Phone (Nokia -> Microsoft, HTC)

• Kitos: Firefox, Ubuntu OS

• Dar likusios: Symbian (Nokia), Windows CE (Microsoft), BlackberryOS

• Beveik visų mobilių operacinių sistemų pagrindas – UNIX• iOS – Darwin, Blackberry - QNX

Mobilių įrenginių sudedamosios dalys

• Procesorius• Energijos problemos

• Daugelio branduolių procesoriai

• Beveik visada ARM architektūros procesoriai• Apple (Newton), Qualcomm, NVIDIA, Samsung,...

• Gal, kadanors Intel (Haswell)

• GPU • Dažnai integruotas su CPU

Mobilių įrenginių sudedamosios dalys

• Flash duomenų saugykla• Daug mažesnė ir daug lengvesnė nei diskai• Daug patikimesnė• Duomenų pasiekimo laikas yra daug trumpesnis nei disko• Naudoja mažiau energijos• Bet – lėtesnis įrašomo greitis ir ribotas įrašymo ciklų skaičius

• Atmintis• Ribotas kiekis• Nenaudojamas swap mechanizmas• Net egzistuojant didelės atminties įrenginiams reikia taikytis prie prasčiausių

iOS

• Uždara operacinė sistema skirta tik Apple įrenginiams:• iPhone

• iPad

• iPod touch

• Apple TV

• Pagrindas OS X, skirtas ARM įrenginiams

• Programavimo aplinka: XCode ir Objective-C arba Swift

• Programavimo kompiuteris - Mac

iOS 1.0

Šaltinis: http://www.theverge.com

iOS 1.1 - iTunes

iOS 2.0 – App Store, iOS SDK

iOS 3.0 – copy/paste, push notifications

iOS 3.2 - iPAD

iOS 4.0 – multitasking, FaceTime, aukštos rezoliucijos ekranai

iOS 5.0 - Siri

iOS – 6.0 Apple maps

iOS 7.0 – nauja vartotojo sąsaja

iOS versijos

1.0 2007

2.0 2008 App Store

3.0 2009 Copy/paste

4.0 2010 Multitasking

5.0 2011 iCould, Siri

6.0 2011 Apple Maps

7.0 2013 Nauja vartotojo sąsaja

Android

• Atvirojo kodo OS sukurta Google ir skirta mobiliems įrenginiams• Jei tiksliau, tai nupirkta Google 2005 metais

• Populiariausia operacinė sistema

• Pagrindas – Linux 2.6

• Programavimo kalba Java, kuri paleidžiama Dalvik arba ART virtualioje mašinoje. Galima prisijungti sukompiliuotą kodą.

• Programavimo aplinka Eclipse arba Android Studio

• Nemokama operacinė sistema

Android versijos

• 1.0 - 1 - 2008 metai

• 1.6 - 4 - 2009 m. – Donut

• 2.2 - 8 - 2010 m. – Froyo – JIT kompiliavimas, Chrome V8 varikliukas naršyklėje, Wi-Fi hotspot palaikymas

• 3.0 - 11 - 2011 m. – Honeycomb – planšečių palaikymas, nauja vartotojo sąsaja, daugelio branduolių procesorių palaikymas

• 4.0 - 14 - 2011 m. – Ice Cream Sandwich – apjungianti telefonus ir planšetes

• 4.4 paskutinė naudojama versija

• 5.0 naujausia anonsuota versija

• http://en.wikipedia.org/wiki/Android_version_history

Android versijos

1.0 1 2008

1.6 4 2009 Donut

2.2 8 2010 Froyo – JIT kompiliavimas, Chrome V8 varikliukas naršyklėje, Wi-Fi hotspotpalaikymas

3.0 11 2011 Honeycomb – planšečių palaikymas, nauja vartotojo sąsaja, daugelio branduolių procesorių palaikymas

4.0 14 2011 Ice Cream Sandwich – apjungianti telefonus ir planšetes

4.3 18 2013 Jelly Bean

4.4 19 2014 Kit Kat

Material design

Material design (2)

Windows Phone

• 7.0, 7.5, 7.8 versijos remiasi Windows CE

• 8.0, 8.1 versija remiasi Windows 8

• Windows Phone 8 programos salyginai nesunkiai perdaromos tarp Windows Phone – Desktop Windows

• Programavimas: .NET arba HTML5/Javascript

• Vis dar nedidelis populiarumas 3%

• Pagrindinis gamintojas – Nokia (dabar jau Microsoft dalis)

Metro UI

• Principai paimti iš Šveicarų tipografijos dizaino

Metro UI

• Patirtis iš aerouostų, geležinkelio stočių ir kitų viešų žymėjimų

Metro UI

Blackberry

• QNX pagrindas (UNIX microkernel)

• Nykstanti kompanija

• Programavimas:• C/C++, QT, HTML5, Adobe Air, Android

Firefox OS

• HTML5 pagrindas

• Mažiausios kainos telefonams