SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Ähnlich wie Many ways to Android Development - a rant!

Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScriptAndrew Fisher
 
Bringing HTML5 Video to Mobile Devices
Bringing HTML5 Video to Mobile DevicesBringing HTML5 Video to Mobile Devices
Bringing HTML5 Video to Mobile DevicesBrian Crescimanno
 
jQueryUI and HTML5 Video Play Nice
jQueryUI and HTML5 Video Play NicejQueryUI and HTML5 Video Play Nice
jQueryUI and HTML5 Video Play NiceBrian Crescimanno
 
Mistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhoneMistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhonekentbrew
 
Hello, Jo! Introduction to this lightweight HTML5 mobile app framework
Hello, Jo! Introduction to this lightweight HTML5 mobile app frameworkHello, Jo! Introduction to this lightweight HTML5 mobile app framework
Hello, Jo! Introduction to this lightweight HTML5 mobile app frameworkDave Balmer
 
Why Java Is Great - Unbiased Perspective!
Why Java Is Great - Unbiased Perspective!Why Java Is Great - Unbiased Perspective!
Why Java Is Great - Unbiased Perspective!Hariom Vashisth
 
Your Browser is Your SDK
Your Browser is Your SDKYour Browser is Your SDK
Your Browser is Your SDKmwbrooks
 
PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConfBrian LeRoux
 
RingoJS: Server-Side Javascript When Only Java Will Do
RingoJS:  Server-Side Javascript When Only Java Will DoRingoJS:  Server-Side Javascript When Only Java Will Do
RingoJS: Server-Side Javascript When Only Java Will DoDarren Cruse
 
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Gregory Starr
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applicationsX.commerce
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGapRaymond Camden
 
Federico Lox Lucignano, War of the worlds web or native both
Federico Lox Lucignano, War of the worlds web or native bothFederico Lox Lucignano, War of the worlds web or native both
Federico Lox Lucignano, War of the worlds web or native bothIxDA_Poznan
 
M is for modernization
M is for modernizationM is for modernization
M is for modernizationRed Pill Now
 
DevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceDevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceCameron Kilgore
 
Dead & Emerging Tech Panel
Dead & Emerging Tech PanelDead & Emerging Tech Panel
Dead & Emerging Tech Panelamanda etches
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for EngineersBrian LeRoux
 

Ähnlich wie Many ways to Android Development - a rant! (20)

Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
 
Bringing HTML5 Video to Mobile Devices
Bringing HTML5 Video to Mobile DevicesBringing HTML5 Video to Mobile Devices
Bringing HTML5 Video to Mobile Devices
 
jQueryUI and HTML5 Video Play Nice
jQueryUI and HTML5 Video Play NicejQueryUI and HTML5 Video Play Nice
jQueryUI and HTML5 Video Play Nice
 
Mistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhoneMistakes I Made Building Netflix for the iPhone
Mistakes I Made Building Netflix for the iPhone
 
Hello, Jo! Introduction to this lightweight HTML5 mobile app framework
Hello, Jo! Introduction to this lightweight HTML5 mobile app frameworkHello, Jo! Introduction to this lightweight HTML5 mobile app framework
Hello, Jo! Introduction to this lightweight HTML5 mobile app framework
 
Why Java Is Great - Unbiased Perspective!
Why Java Is Great - Unbiased Perspective!Why Java Is Great - Unbiased Perspective!
Why Java Is Great - Unbiased Perspective!
 
Focus
FocusFocus
Focus
 
Your Browser is Your SDK
Your Browser is Your SDKYour Browser is Your SDK
Your Browser is Your SDK
 
PhoneGap at JSConf
PhoneGap at JSConfPhoneGap at JSConf
PhoneGap at JSConf
 
RingoJS: Server-Side Javascript When Only Java Will Do
RingoJS:  Server-Side Javascript When Only Java Will DoRingoJS:  Server-Side Javascript When Only Java Will Do
RingoJS: Server-Side Javascript When Only Java Will Do
 
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
 
The near future of real web applications
The near future of real web applicationsThe near future of real web applications
The near future of real web applications
 
Gdg 3.12.2014
Gdg 3.12.2014Gdg 3.12.2014
Gdg 3.12.2014
 
Introduction to PhoneGap
Introduction to PhoneGapIntroduction to PhoneGap
Introduction to PhoneGap
 
TiPhotobook_en
TiPhotobook_enTiPhotobook_en
TiPhotobook_en
 
Federico Lox Lucignano, War of the worlds web or native both
Federico Lox Lucignano, War of the worlds web or native bothFederico Lox Lucignano, War of the worlds web or native both
Federico Lox Lucignano, War of the worlds web or native both
 
M is for modernization
M is for modernizationM is for modernization
M is for modernization
 
DevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and ScienceDevChatt 2011 - PhoneGap: For Fun and Science
DevChatt 2011 - PhoneGap: For Fun and Science
 
Dead & Emerging Tech Panel
Dead & Emerging Tech PanelDead & Emerging Tech Panel
Dead & Emerging Tech Panel
 
Phonegap for Engineers
Phonegap for EngineersPhonegap for Engineers
Phonegap for Engineers
 

Many ways to Android Development - a rant!