SlideShare a Scribd company logo
1 of 28
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.
Android
•   A great mobile platform
•   Easy to learn SDK
•   Lot of apps
•   But…




           Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
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.
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.
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.
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.
Layout design with XML is good
But..
  – 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.
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.
Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
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.
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.
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.
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.
But what about performance?
• Works great unless you are building games
  involving heavy graphics




         Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
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.
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 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.
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 © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
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.
What’s next?
• Continuous integration
• Automated function tests




         Copyright © 2007-2012 PresentSoft Technologies Pvt. Ltd., All Rights Reserved.
Thank You

About 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.

More Related Content

What's hot

How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?Jurgis Kirsakmens
 
Mobile application development
Mobile application developmentMobile application development
Mobile application developmentVivek Chaturvedi
 
Custom software-development-company
Custom software-development-companyCustom software-development-company
Custom software-development-companyEcho Innovate IT
 
Mobile application development company
Mobile application development companyMobile application development company
Mobile application development companyjohnniewalk1
 
Mobile app development company in hyderabad
Mobile app development company in hyderabadMobile app development company in hyderabad
Mobile app development company in hyderabadVersatile Mobitech
 
Mobile app development
Mobile app developmentMobile app development
Mobile app developmentSwetha Gowda
 
8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App 8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App Cheryl Lawson
 
Android App Design And Develop Proposal PowerPoint Presentation Slides
Android App Design And Develop Proposal PowerPoint Presentation SlidesAndroid App Design And Develop Proposal PowerPoint Presentation Slides
Android App Design And Develop Proposal PowerPoint Presentation SlidesSlideTeam
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App DevelopmentApppli Ltd.
 
Beginner's Guide To App Stack
Beginner's Guide To App StackBeginner's Guide To App Stack
Beginner's Guide To App StackNitish Garg
 
Mobile Solutions for Publishers & Authors
Mobile Solutions for Publishers & AuthorsMobile Solutions for Publishers & Authors
Mobile Solutions for Publishers & AuthorsSeshu Karthick
 
Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?Aaron Saunders
 
Industry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndustry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndianAppDevelopers
 

What's hot (20)

Rules For Modern Web App Development
Rules For Modern Web App DevelopmentRules For Modern Web App Development
Rules For Modern Web App Development
 
How much does it cost to build a mobile app?
How much does it cost to build a mobile app?How much does it cost to build a mobile app?
How much does it cost to build a mobile app?
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Android app development
Android app developmentAndroid app development
Android app development
 
Custom software-development-company
Custom software-development-companyCustom software-development-company
Custom software-development-company
 
Mobile application development company
Mobile application development companyMobile application development company
Mobile application development company
 
Mobile app development company in hyderabad
Mobile app development company in hyderabadMobile app development company in hyderabad
Mobile app development company in hyderabad
 
Mobile app development
Mobile app developmentMobile app development
Mobile app development
 
XongoLab Technologies LLP
XongoLab Technologies LLPXongoLab Technologies LLP
XongoLab Technologies LLP
 
8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App 8 Steps to Creating a Mobile App
8 Steps to Creating a Mobile App
 
Android App Design And Develop Proposal PowerPoint Presentation Slides
Android App Design And Develop Proposal PowerPoint Presentation SlidesAndroid App Design And Develop Proposal PowerPoint Presentation Slides
Android App Design And Develop Proposal PowerPoint Presentation Slides
 
Mobile App Development
Mobile App DevelopmentMobile App Development
Mobile App Development
 
For complete, think Hotovo
For complete, think HotovoFor complete, think Hotovo
For complete, think Hotovo
 
Beginner's Guide To App Stack
Beginner's Guide To App StackBeginner's Guide To App Stack
Beginner's Guide To App Stack
 
Mobile Solutions for Publishers & Authors
Mobile Solutions for Publishers & AuthorsMobile Solutions for Publishers & Authors
Mobile Solutions for Publishers & Authors
 
Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?Mobile Application Workshop - So You Want To Build a Mobile App?
Mobile Application Workshop - So You Want To Build a Mobile App?
 
Website design company
Website design companyWebsite design company
Website design company
 
Industry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile ApplicationIndustry Experts on How to Build Really Good Mobile Application
Industry Experts on How to Build Really Good Mobile Application
 
4 Things Only Experts Know About Android App Development
4 Things Only Experts Know About Android App Development4 Things Only Experts Know About Android App Development
4 Things Only Experts Know About Android App Development
 

Similar to Android Development: Approach for Agile Teams

Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentÖzcan Zafer AYAN
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...Mobiloitte
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross devicePhuong Nguyen
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela developmentjobandesther
 
Steeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceSteeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceVMware Tanzu
 
Huned_Hita_latest
Huned_Hita_latestHuned_Hita_latest
Huned_Hita_latestHuned hita
 
What Mobile Development Approach Makes Sense
What Mobile Development Approach Makes SenseWhat Mobile Development Approach Makes Sense
What Mobile Development Approach Makes SenseDipesh Mukerji
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsBarcoding, Inc.
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopmentPrabhat gangwar
 
Brownbag on basics of node.js
Brownbag on basics of node.jsBrownbag on basics of node.js
Brownbag on basics of node.jsJason Park
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run ThroughMike Hartington
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Alen Leit
 
Should you say no to HTML5?
Should you say no to HTML5?Should you say no to HTML5?
Should you say no to HTML5?Kony, Inc.
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2Olivier Eeckhoutte
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationJoseph Labrecque
 

Similar to Android Development: Approach for Agile Teams (20)

Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Introduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App DevelopmentIntroduction to Cross-Platform Hybrid Mobile App Development
Introduction to Cross-Platform Hybrid Mobile App Development
 
Flutter vs Ionic: Which framework is better for cross platform application d...
Flutter vs Ionic: Which framework is better  for cross platform application d...Flutter vs Ionic: Which framework is better  for cross platform application d...
Flutter vs Ionic: Which framework is better for cross platform application d...
 
Development mobile app cross device
Development mobile app cross deviceDevelopment mobile app cross device
Development mobile app cross device
 
Introduction to Eqela development
Introduction to Eqela developmentIntroduction to Eqela development
Introduction to Eqela development
 
Steeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET RenaissanceSteeltoe and the Open Source .NET Renaissance
Steeltoe and the Open Source .NET Renaissance
 
Huned_Hita_latest
Huned_Hita_latestHuned_Hita_latest
Huned_Hita_latest
 
Intro to web development
Intro to web developmentIntro to web development
Intro to web development
 
HTML5 / Mobile Web
HTML5 / Mobile WebHTML5 / Mobile Web
HTML5 / Mobile Web
 
What Mobile Development Approach Makes Sense
What Mobile Development Approach Makes SenseWhat Mobile Development Approach Makes Sense
What Mobile Development Approach Makes Sense
 
Post Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development PlatformsPost Windows Mobile: New Application Development Platforms
Post Windows Mobile: New Application Development Platforms
 
Cross platform mobile application devlopment
Cross platform mobile application devlopmentCross platform mobile application devlopment
Cross platform mobile application devlopment
 
Brownbag on basics of node.js
Brownbag on basics of node.jsBrownbag on basics of node.js
Brownbag on basics of node.js
 
Mobile Delivery Run Through
Mobile Delivery Run ThroughMobile Delivery Run Through
Mobile Delivery Run Through
 
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
Kendo UI workshop introduction - PUG Baltic Annual Conference 2017
 
Mobile Web Apps
Mobile Web AppsMobile Web Apps
Mobile Web Apps
 
Should you say no to HTML5?
Should you say no to HTML5?Should you say no to HTML5?
Should you say no to HTML5?
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2Olivier meetup-boston-2013-jan-21-v2
Olivier meetup-boston-2013-jan-21-v2
 
Impact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher EducationImpact of Adobe Edge Tools and Services in Higher Education
Impact of Adobe Edge Tools and Services in Higher Education
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Recently uploaded (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Android Development: Approach for Agile Teams

  • 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 good But.. – 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 You About 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.