e-Business - Mobile development trends

721 views

Published on

Published in: Technology, Business
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
721
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

e-Business - Mobile development trends

  1. 1. DITF LDILietišķo datorsistēmu programmatūrasprofesora grupae-Business SolutionsBasic Trends of ModernSoftware Development
  2. 2. Vladimir Kotov Basic Trends of Modern Software DevelopmentMobile Development Trends
  3. 3. Vladimir Kotov Basic Trends of Modern Software Development 3Need an App ...
  4. 4. Vladimir Kotov Basic Trends of Modern Software Development 4
  5. 5. Popular Devices in Latvia
  6. 6. Versions in Latvia
  7. 7. Version StatisticsDecember 2012
  8. 8. Version StatisticsDecember 2012
  9. 9. Vladimir Kotov Basic Trends of Modern Software Development 13Smartphone OS Market ShareIDC, 2012 v. 2011
  10. 10. Vladimir Kotov Basic Trends of Modern Software Development 14Cross-platform MobileDevelopmentApplication types● Native● Web● Hybrid● Cross-compile
  11. 11. Vladimir Kotov Basic Trends of Modern Software Development 15Native AppsBuilt for a specific platform with the platform SDK, tools andlanguages, typically provided by the platform vendor
  12. 12. Vladimir Kotov Basic Trends of Modern Software Development 16Native Apps+● Speed and reaction● Native looknfeel● Native API● Debug + Profile-● Only 1 platform● New language?● Costs● App review time
  13. 13. Vladimir Kotov Basic Trends of Modern Software Development 17When to use native app ?● Use native app if ...● You want to achieve native look and feel● You need top performance● You want to be on the app store(s)
  14. 14. Vladimir Kotov Basic Trends of Modern Software Development 18The Mobile “Server-side” WebUses HTML, JavaScript, CSS and runs in a devices browser
  15. 15. Vladimir Kotov Basic Trends of Modern Software Development 19The Mobile “Server-side” Web● Responsive Design● Dynamically loads HTML content and assets● Serves same HTML content and assets for everydevice and then scales via CSS using media queries– e.g. @media screen and (max-width: 650px)
  16. 16. Vladimir Kotov Basic Trends of Modern Software Development 20The Mobile “Server-side” Web
  17. 17. Vladimir Kotov Basic Trends of Modern Software Development 21The Mobile “Server-side” Web+● Existing tools● No license fees● All platforms withbrowser, even yourold Nokia● Search engine-● No app stores● Limited platformaccess (camera,calendar, etc)● As fast as yourbrowser, networklatency
  18. 18. Vladimir Kotov Basic Trends of Modern Software Development 22The Mobile “Client-side” WebUses HTML5 + JavaScript and runs in a devices browser
  19. 19. Vladimir Kotov Basic Trends of Modern Software Development 23The Mobile “Client-side” Web● Sencha Touch● JQueryMobile● JQTouch● KendoUI● GWT Mobile
  20. 20. Vladimir Kotov Basic Trends of Modern Software Development 24The Mobile “Client-side” Web+● Existing tools● No license fees● All platforms withbrowser● Search engine-● No app stores● Limited platformaccess (camera,calendar, etc)● As fast as yourbrowser, networklatency
  21. 21. Vladimir Kotov Basic Trends of Modern Software Development 25The Mobile “Client-side” Web● Use the client-side web if ...● Need something that looks like an app, butcare less for the sensors of your phone● You want to prototype a service● You need crossplatform app (not native)
  22. 22. Vladimir Kotov Basic Trends of Modern Software Development 26Hybrid AppHTML5 + JavaScript with a wrapper that gives it nativecapabilities
  23. 23. Vladimir Kotov Basic Trends of Modern Software Development 27Hybrid App● Run inside a nativecontainer to leverage thedevice’s browser engine(but not the browser)● Web-to-nativeabstraction layerenables access todevice capabilities
  24. 24. Vladimir Kotov Basic Trends of Modern Software Development 28Hybrid App+● Existing tools● No license fees● All platforms withbrowser● Search engine-● As fast as yourbrowser, networklatency
  25. 25. Vladimir Kotov Basic Trends of Modern Software Development 29Hybrid App● Use hybrid approach if ...● You want to build your app based on HTML5● And need access to the phones hardware
  26. 26. Vladimir Kotov Basic Trends of Modern Software Development 30Interpreted and cross-compile
  27. 27. Vladimir Kotov Basic Trends of Modern Software Development 31Interpreted and cross-compile● Appcelerator Titanium– JavaScript -> Native + Hybrid JS● MonoTouch– C# -> Native● Apache Thrift– Thrift definition -> Native● QT
  28. 28. Vladimir Kotov Basic Trends of Modern Software Development 32Interpreted and cross-compile● Use interpreted or cross-compiled app if ...● You want to use “one language to build themall”● Need access to the phones hardware● Need semi- or truly native look and feel /performance
  29. 29. Vladimir Kotov Basic Trends of Modern Software Development 33Decision● Factors● App size and type● Platforms● Developers skills● Budget● Monetization● User experience● Importance of updates
  30. 30. Vladimir Kotov Basic Trends of Modern Software Development 34Decision
  31. 31. Vladimir Kotov Basic Trends of Modern Software Development 35Android platformAndroid is a Linux-based operating system and asoftware stack designed for mobile devicesKey ApplicationsHome, Phone, BrowserApplication FrameworkJava layer system servicesMiddlewaresLibraries, Dalvik VMOperating systemLinux kernel
  32. 32. Vladimir Kotov Basic Trends of Modern Software Development 36Android platformDeveloped by Google*2005 – purchased Android Inc2007 – established Open Handset Alliance (OHA)2012 – Oracle v. Google on Java APICompatibilityDefinitionDocumentto certify devicesSDK + toolsto createapplications
  33. 33. Vladimir Kotov Basic Trends of Modern Software Development 37Android platformMain hardware platform for Android is ARM● support for x86 from the Android x86 projectAdvanced RISC Machine● 7.9 billion shipped in 2011– 95% smartphones– 90% hard disk drives● Reduced instruction set computing (RISC)● Lower costs, Less heat, Less power usage● Reduced complexity and simpler design● Good interfacing to many devices
  34. 34. Vladimir Kotov Basic Trends of Modern Software Development 38Android Anatomy
  35. 35. Vladimir Kotov Basic Trends of Modern Software Development 39Android Linux KernelAndroid kernel based on Linux 2.6 and 3.x (Android 4.0)● Why Linux?● Great memory and process management● Permissions-based security model● Proven driver model● Support for shared libraries● Open source
  36. 36. Vladimir Kotov Basic Trends of Modern Software Development 40Android Linux KernelAndroid “is not Linux”● Users never see Linux sub system● Not the full set of standard Linux utilities● August 2011, Linus Torvalds - "eventually Android andLinux would come back to a common kernel, but it willprobably not be for four to five years"
  37. 37. Vladimir Kotov Basic Trends of Modern Software Development 41Android Linux KernelAndroid patch of kernel enhancements● Power Management● Ashmem● Binder IPC● Low Memory KillerDecember 2011 - Android MainliningProject to put some Android drivers,patches and features back into theLinux kernel
  38. 38. Vladimir Kotov Basic Trends of Modern Software Development 42Android Native Libraries
  39. 39. Vladimir Kotov Basic Trends of Modern Software Development 43Android offerThe first open* and comprehensive platform for mobiledevices● an operating system, user-interface and applications● a mobile phone without the proprietary obstacles thathave hindered mobile innovation● an open-source development platform
  40. 40. Vladimir Kotov Basic Trends of Modern Software Development 44Android offer● Apps are equivalent parts of the phoneusing the same API● Reuse and replacement of applicationcomponents● GSM, EDGE, 3G, 4G, LTE data transfer● Comprehensive location-based APIs● Wi-Fi hardware access and peer-to-peerconnection
  41. 41. Vladimir Kotov Basic Trends of Modern Software Development 45Android offer● Full multimedia hardware control, medialibraries● APIs for sensor hardware● Libraries for Bluetooth and NFC● Shared data stores and APIs for contacts,social networking● Background Services, applications, andprocesses● Home-screen Widgets and Live Wallpaper

×