Your SlideShare is downloading. ×
Android Development: Approach for Agile Teams
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android Development: Approach for Agile Teams

2,344
views

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 …

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,344
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
2
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. Android• A great mobile platform• Easy to learn SDK• Lot of apps• But… Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 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. 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. 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. 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. 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. 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. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 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. 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. 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. 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. 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. 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. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 17. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 18. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 19. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 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. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 22. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 23. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 24. Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 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. 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. What’s next?• Continuous integration• Automated function tests Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
  • 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.