Mobile Applications


           EBEC Zagreb Dani inženjera
             Viktor Fonić, BEST Zagreb
iOS & Android
Worldwide          Europe                   USA

                    15%                      8%
  21%     27%
                             40%
15%                                    39%          53%
                  45%
        37%




                iOS          Android
                Others       Nokia


                                             gs.statcounter.com
Becoming a developer
• $99 / year
• Requires Mac
• $25 one-time
• Dev-tools work cross-platform
Application types

• Native applications
• Web applications
• Hybrid applications
Native applications
Web applications
Hybrid applications
Native applications
 Developer tools
Developer tools
    iOS                   Android

•   XCode             •   Eclipse IDE

•   Objective-C       •   Java

•   CS193p Stanford   •   Huge amount of tutorials

•   WWDC videos       •   Google I/O videos

•   iOS Simulator     •   Android Emulator
XCode
XCode

• Great UI builder
• Integrated source control plugin
• Dedicated for iOS & OS X development
Eclipse
Eclipse

• XML UI builder
• Various plugins
• Dedicated for Java
Objective-C
Objective-C

• C-like language (actually nothing like you’ve
  seen before)
• Low-level (fast)
• Constantly improved by Apple
Java (Android)
Java (Android)

• Java - objective-oriented language
• High-level (slower)
• Language developed by Oracle for general
  purpose
Hybrid applications

• Sencha Touch
• PhoneGap
• Titanium
2011        2012                 2013

4%          9%                  14%




 96%             91%                  86%




       Desktop         Mobile


                                gs.statcounter.com
HTML5
Progressive
   enhancement
          /
Graceful degradation
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//
EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//
EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-
transitional.dtd">
<!doctype html>
<meta charset=”utf-8”>
<meta name=”viewport”
 content=”width=device-width, initial-scale=1,
  maximum-scale=1”>
<link rel=”stylesheet” href=”style.css”>
<link rel=”stylesheet” href=”tablet.css”
 media=”only screen and (min-width: 481px)”>
<link rel=”stylesheet” href=”desktop.css”
 media=”only screen and (min-width:769px)”>
<!doctype html>
<html lang=”hr”>
 <meta charset=”utf-8”>
 <meta name=”viewport” content=”width=device-
 width, initial-scale=1, maximum-scale=1”>
 <link rel=”stylesheet” href=”style.css”>
 <link rel=”stylesheet” href=”tablet.css”
    media=”only screen and (min-width: 481px)”>
 <link rel=”stylesheet” href=”desktop.css”
    media=”only screen and (min-width:769px)”>
 ....
 ....
</html>
<input type=”...”>
        email
         url
      number
       range
        date
       search
<input type=”email”>
<input type=”url”>
<input type=”number”>
<input type=”tel”>
<input />

placeholder
  required
 autofocus
     id
<label for=”...”>
<form action=”index.html” method=”post”>
  <label for=”name”>Ime i prezime: </label>
      <input type=”text” name=”name” id=”name”
        required placeholder=”e.g. Jack Daniel’s” />
  <label for=”email”>Email: </label>
      <input type=”email” name=”email” id=”email”
        required placeholder=”mail@mail.com” >
  <label for=”comment”>Komentar: </label>
      <input type=”text” name=”comment”
        id=”comment” required
        placeholder=”Upišite komentar” />
  ...
</form>
Video
<video src=”video/trailer.mp4” controls=”true”
poster=”picture.jpg” width=”300” height=”200” />
CSS3
Normalize & Reset
Links
Pagination
Pagination
JavaScript
jQTouch, Wink, NimbleKit, Titanium, M-Project,...
Publishing an app


• App Store - 3-4 week for app approval
• Google Play - couple of hours
App revenues


• App Store - 70%
• Google Play - 70%
311% > 12.9%
Final thoughts

• iOS is still no.1
• Android is catching up
• Windows Phone also
• Don’t exclude BlackBerry
Thank you!

                Viktor Fonić
             twitter: @vfonic
        facebook: viktor.fonic
          linkedin: viktor.fonic

Mobile Applications