Android Development :Approach For Agile Teams                      Anay Kamat          Consultant/Co-Founder PresentSoft T...
Android•   A great mobile platform•   Easy to learn SDK•   Lot of apps•   But…           Copyright © 2007-2012 PresentSoft...
How many iOS based devices do you know?    Now count the number of Android devices..        Copyright © 2007-2012 PresentS...
And then there are client             expectations!• Android as a silver bullet• Mobiles devices have smaller screens, thu...
Development Anti-Patterns• Most consider Android to be something like  iOS clone  – Often forget the existence of concepts...
Android is not iOS clone• Android supports collaboration between apps• Android port of iOS app should be same as the  orig...
Layout design with XML is goodBut..  – XML was not created for that purpose  – Too verbose  – Does not directly interact w...
Fancy UI• Consider Windows and OSX applications  – They use standard UI libraries provided by the OS  – Feature rich  – Ma...
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
All this adds to development                complexity• Difficult to be Agile while developing  completely native applicat...
Java•   Tried and trusted•   Object oriented•   Powers lot of enterprise applications•   But makes it difficult to write e...
Javascript• Has some OO features• Great functional language• Good for developing event based UI apps         Copyright © 2...
HTML & CSS• Already in widespread use for building fancy  web UIs• HTML5 takes it even further         Copyright © 2007-20...
But what about performance?• Works great unless you are building games  involving heavy graphics         Copyright © 2007-...
Example• Lets take a look at a sample hybrid application  developed using Forge (Trigger.io)  – https://github.com/trigger...
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Observation• Can help to quickly build hybrid apps with  Fancy UI• But the file size of final APK is 2.9 MB• What if we do...
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Observation• Took around 4 hours to develop underlying  native bridge• APK file size : 93 KB (WOW)         Copyright © 200...
Final approach• Develop your great application using tools like  Forge/PhoneGap  – This ensures quick turnaround  – Existi...
What’s next?• Continuous integration• Automated function tests         Copyright © 2007-2012 PresentSoft Technologies Pvt....
Thank YouAbout me– Consultant/Co-Founder at PresentSoft Technologies Pvt. Ltd.– Creator of Programming Language for studen...
Upcoming SlideShare
Loading in...5
×

Android Development: Approach for Agile Teams

2,669

Published on

Developing completely native Android apps can make changes to UI difficult. This presentation talks about the hybrid approach to combine native tools, HTML5, Javascript and CSS to build good looking apps and demonstrate an approach to use custom JS bridge to reduce the apk file size with better performance.

Published in: Technology
2 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total Views
2,669
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Android Development: Approach for Agile Teams"

  1. 1. Android Development :Approach For Agile Teams Anay Kamat Consultant/Co-Founder PresentSoft Technologies Pvt. Ltd. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  2. 2. Android• A great mobile platform• Easy to learn SDK• Lot of apps• But… Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  3. 3. How many iOS based devices do you know? Now count the number of Android devices.. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  4. 4. And then there are client expectations!• Android as a silver bullet• Mobiles devices have smaller screens, thus app development should be simple• Static & Dynamic apps.. WHAT??• UI has to be fancy or should match the theme of their web app. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  5. 5. Development Anti-Patterns• Most consider Android to be something like iOS clone – Often forget the existence of concepts like “Intent”• Most of the code is for fancy UI including layouts and images for different screens and orientations• XML for purpose other than data transfer or data markup Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  6. 6. Android is not iOS clone• Android supports collaboration between apps• Android port of iOS app should be same as the original iOS app… WHY?? Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  7. 7. Layout design with XML is goodBut.. – XML was not created for that purpose – Too verbose – Does not directly interact with logical behavior • Compare “rake” with “ant” – Difficult to refactor Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  8. 8. Fancy UI• Consider Windows and OSX applications – They use standard UI libraries provided by the OS – Feature rich – Makes it easier to use new application due to familiar UI concepts• Fancy UI for mobile app – Requires more development efforts – Adds learning curve for the user Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  9. 9. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  10. 10. All this adds to development complexity• Difficult to be Agile while developing completely native application• Alternative: Hybrid Approach – Native code (Java): To power business logic and backend services – HTML &Javascript: For UI – This makes refactoring easy for both UI and backend. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  11. 11. Java• Tried and trusted• Object oriented• Powers lot of enterprise applications• But makes it difficult to write event based code – For e.g GUI Applications Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  12. 12. Javascript• Has some OO features• Great functional language• Good for developing event based UI apps Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  13. 13. HTML & CSS• Already in widespread use for building fancy web UIs• HTML5 takes it even further Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  14. 14. But what about performance?• Works great unless you are building games involving heavy graphics Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  15. 15. Example• Lets take a look at a sample hybrid application developed using Forge (Trigger.io) – https://github.com/trigger-corp/forge-template- list-and-detail Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  16. 16. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  17. 17. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  18. 18. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  19. 19. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  20. 20. Observation• Can help to quickly build hybrid apps with Fancy UI• But the file size of final APK is 2.9 MB• What if we don’t make use of frameworks like Forge/PhoneGap? – Use the same HTML/CSS and JS – Write your own JS bridge Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  21. 21. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  22. 22. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  23. 23. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  24. 24. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  25. 25. Observation• Took around 4 hours to develop underlying native bridge• APK file size : 93 KB (WOW) Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  26. 26. Final approach• Develop your great application using tools like Forge/PhoneGap – This ensures quick turnaround – Existing talent and agile practices could be used• Optimize it further (if required) using custom native bridge Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  27. 27. What’s next?• Continuous integration• Automated function tests Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  28. 28. Thank YouAbout me– Consultant/Co-Founder at PresentSoft Technologies Pvt. Ltd.– Creator of Programming Language for students • https://github.com/kamatanay/MayaLanguage– Twitter: @kamatanay– Email:anay@presentsoft.co.in– Company Home Page: http://www.prsentsoft.co.in– Personal Home Page: http://www.anaykamat.com Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.

×