e-Business - Mobile development trends
-
Upload
vladimir-kotov -
Category
Technology
-
view
104 -
download
1
description
Transcript of e-Business - Mobile development trends
![Page 1: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/1.jpg)
DITF LDI Lietišķo datorsistēmu programmatūras
profesora grupa
e-Business Solutions
Basic Trends of Modern Software Development
![Page 2: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/2.jpg)
Vladimir Kotov Basic Trends of Modern Software Development
Mobile Development Trends
![Page 3: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/3.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 3
Need an App ...
![Page 4: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/4.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 4
![Page 5: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/5.jpg)
![Page 6: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/6.jpg)
![Page 7: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/7.jpg)
![Page 8: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/8.jpg)
Popular Devices in Latvia
![Page 9: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/9.jpg)
Versions in Latvia
![Page 10: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/10.jpg)
![Page 11: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/11.jpg)
Version Statistics
December 2012
![Page 12: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/12.jpg)
Version Statistics
December 2012
![Page 13: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/13.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 13
Smartphone OS Market Share
IDC, 2012 v. 2011
![Page 14: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/14.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 14
Cross-platform Mobile Development
Application types● Native● Web● Hybrid● Cross-compile
![Page 15: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/15.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 15
Native Apps
Built for a specific platform with the platform SDK, tools and languages, typically provided by the platform vendor
![Page 16: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/16.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 16
Native Apps
+● Speed and reaction● Native look'n'feel● Native API● Debug + Profile
-● Only 1 platform● New language?● Costs● App review time
![Page 17: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/17.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 17
When 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)
![Page 18: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/18.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 18
The Mobile “Server-side” Web
Uses HTML, JavaScript, CSS and runs in a devices browser
![Page 19: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/19.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 19
The Mobile “Server-side” Web
● Responsive Design
● Dynamically loads HTML content and assets● Serves same HTML content and assets for every
device and then scales via CSS using media queries
– e.g. @media screen and (max-width: 650px)
![Page 20: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/20.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 20
The Mobile “Server-side” Web
![Page 21: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/21.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 21
The Mobile “Server-side” Web
+● Existing tools● No license fees● All platforms with
browser, even your old Nokia
● Search engine
-● No app stores● Limited platform
access (camera, calendar, etc)
● As fast as your browser, network latency
![Page 22: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/22.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 22
The Mobile “Client-side” Web
Uses HTML5 + JavaScript and runs in a devices browser
![Page 23: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/23.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 23
The Mobile “Client-side” Web
● Sencha Touch● JQueryMobile
● JQTouch● KendoUI
● GWT Mobile
![Page 24: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/24.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 24
The Mobile “Client-side” Web
+● Existing tools● No license fees● All platforms with
browser● Search engine
-● No app stores● Limited platform
access (camera, calendar, etc)
● As fast as your browser, network latency
![Page 25: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/25.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 25
The Mobile “Client-side” Web
● Use the client-side web if ...● Need something that looks like an app, but
care less for the sensors of your phone● You want to prototype a service● You need crossplatform app (not native)
![Page 26: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/26.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 26
Hybrid App
HTML5 + JavaScript with a wrapper that gives it native capabilities
![Page 27: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/27.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 27
Hybrid App
● Run inside a native container to leverage the device’s browser engine (but not the browser)
● Web-to-native abstraction layer enables access to device capabilities
![Page 28: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/28.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 28
Hybrid App
+● Existing tools● No license fees● All platforms with
browser● Search engine
-● As fast as your
browser, network latency
![Page 29: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/29.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 29
Hybrid App
● Use hybrid approach if ...● You want to build your app based on HTML5● And need access to the phone's hardware
![Page 30: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/30.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 30
Interpreted and cross-compile
![Page 31: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/31.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 31
Interpreted and cross-compile
● Appcelerator Titanium
– JavaScript -> Native + Hybrid JS● MonoTouch
– C# -> Native● Apache Thrift
– Thrift definition -> Native● QT
![Page 32: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/32.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 32
Interpreted and cross-compile
● Use interpreted or cross-compiled app if ...● You want to use “one language to build them
all”● Need access to the phone's hardware● Need semi- or truly native look and feel /
performance
![Page 33: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/33.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 33
Decision
● Factors● App size and type● Platforms● Developers skills● Budget● Monetization● User experience● Importance of updates
![Page 34: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/34.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 34
Decision
![Page 35: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/35.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 35
Android platform
Android is a Linux-based operating system and a software stack designed for mobile devices
Key Applications Home, Phone, Browser
Application Framework Java layer system services
Middlewares Libraries, Dalvik VM
Operating system Linux kernel
![Page 36: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/36.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 36
Android platform
Developed by Google*
2005 – purchased Android Inc
2007 – established Open Handset Alliance (OHA)
2012 – Oracle v. Google on Java API
Compatibility Definition Document
to certify devices
SDK + tools
to create applications
![Page 37: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/37.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 37
Android platform
Main hardware platform for Android is ARM
● support for x86 from the Android x86 project
Advanced 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
![Page 38: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/38.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 38
Android Anatomy
![Page 39: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/39.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 39
Android Linux Kernel
Android 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
![Page 40: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/40.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 40
Android Linux Kernel
Android “is not Linux”
● Users never see Linux sub system● Not the full set of standard Linux utilities● August 2011, Linus Torvalds - "eventually Android and
Linux would come back to a common kernel, but it will probably not be for four to five years"
![Page 41: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/41.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 41
Android Linux Kernel
Android patch of kernel enhancements
● Power Management● Ashmem ● Binder IPC● Low Memory Killer
December 2011 - Android Mainlining Project to put some Android drivers, patches and features back into the Linux kernel
![Page 42: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/42.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 42
Android Native Libraries
![Page 43: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/43.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 43
Android offer
The first open* and comprehensive platform for mobile devices
● an operating system, user-interface and applications● a mobile phone without the proprietary obstacles that
have hindered mobile innovation● an open-source development platform
![Page 44: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/44.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 44
Android offer
● Apps are equivalent parts of the phone using the same API
● Reuse and replacement of application components
● GSM, EDGE, 3G, 4G, LTE data transfer
● Comprehensive location-based APIs
● Wi-Fi hardware access and peer-to-peer connection
![Page 45: e-Business - Mobile development trends](https://reader033.fdocuments.in/reader033/viewer/2022051613/54c8de4c4a7959ea728b45a0/html5/thumbnails/45.jpg)
Vladimir Kotov Basic Trends of Modern Software Development 45
Android offer
● Full multimedia hardware control, media libraries
● APIs for sensor hardware
● Libraries for Bluetooth and NFC
● Shared data stores and APIs for contacts, social networking
● Background Services, applications, and processes
● Home-screen Widgets and Live Wallpaper