Many ways to Android Development
Kashif Razzaqui
You can call me 'K' for short
Yes that's really short!
If foul language bothers you,
     you better leave now
Now!
Fuck
Always wanted to say that
on a presentation without losing my job!

                   :)
Say that a lot in Mobile Development
Before we start
We want to hire you! No, not really
CEO – Bhavin Turakhia – nice guy
Enough chatter
Lets talk development
Mobile Dev is never just one platform
Unless you are an apple fanboi!
Apple sucks!
Because its closed source
Just like Windoze
Yes yes, I am Kashif 'Linux' Razzaqui
Don't make a face
Your android is all Linux
3 Codebases – turns out not
the worst thing in the world




            Yes, I couldn't give a flying fuck for a windoze phone
One codebase === Awesome;;;;;




          Extra semi colons just to fuck with Javascript
Little did we know
Very Little
.
One sucky language is not
equal to another sucky language
Java   =   Objective C
Javascript to the rescue

All phones come with browsers
Just kidding, who has
Javascript ever rescued
All phones have a webview, yay!




                   Just our luck, browsers everywhere
Enter HTML5 love
   And JS love

        Appstore problems

Android markets – Amazon and Google




                     If you love those you must try bondage sex!
Good fuckin idea
6 months later
We are fucked!
Here is what happened
Phonegap

Embed webview in a vanilla native app and use its
                   bindings

    Didn't support BB then, supports BB now

Notifications not really Androidish – but we wrote
                    one, easy.

           Android Menu not available

                 Overall not bad
Dojox.mobile
              Familiar but Nascent

       Not enough native looking controls

  Chat View - We couldn't pin it to the bottom
     Fuckin webview for mobile is different
Some jazz about viewports and calculating heights
                    All jarry!

             Scrolling not native like

                 Not BB friendly
We are fucked!
Customary lolcat
nd
2 picture for 'funny' on Google
Sencha Touch to the rescue
Just kidding again
Sencha Touch


               Nice native looking
Not BB friendly, couldn't give a starving rats ass!
 Scrolls beautifully – until you give it some data
     Very Extensible but not easy to modify
 Java influenced – hierarchy taller than Everest
  Some ugly-ass shit – Android password field
                  Extra textbox!
                   DOM is slow
     Tried flyweight for Roster – did not fly!
             Better than dojox.mobile
We are fucked!
No, wait not yet!
Titanium to the rescue
Guess what?
Just kidding
Titanium Mobile
   Its Javascript but no webview – yay?!
 Bad experience with Chat.pw for Desktop
     Different API for iOS and Android
             Poor fucking code
 BOSH library needs DOM – webview back!
          Native controls – good!!
            Code doesn't work
          Dev environment sucks!
            Build scripts suck!!
        Android menu – no not really
Thought we might fix Titanium – died a little

       No one gives a fuck about BB
We are fucked!
Fuck one codebase
In theory there is no difference
 between theory and practice.
      In practice there is.
                       --Lotsa folks
Native
Works but its Java
   And XML
If you like Java you are
     a sadistic mofo
DocumentBuilderFactory

   DocumentBuilder

      Document

       Element

         Node

    NodeHashMap

    I need hashish!!
So much typing
So fucking much typing
We are fucked!
But atleast we can scroll now :)
Native


No eventloop! (acyclo) – NIO

        Threaded :(

   Activities & Services

       Back button

      Zygote is cool

        No excuses
So what's my unfuck
Many ways to Android developement

          Just kidding
Questions?

Many ways to Android Development - a rant!