+ All Categories
Home > Technology > e-Business - Mobile development trends

e-Business - Mobile development trends

Date post: 28-Jan-2015
Category:
Upload: vladimir-kotov
View: 104 times
Download: 1 times
Share this document with a friend
Description:
 
Popular Tags:
45
DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-Business Solutions Basic Trends of Modern Software Development
Transcript
Page 1: e-Business - Mobile development trends

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

Vladimir Kotov Basic Trends of Modern Software Development

Mobile Development Trends

Page 3: e-Business - Mobile development trends

Vladimir Kotov Basic Trends of Modern Software Development 3

Need an App ...

Page 4: e-Business - Mobile development trends

Vladimir Kotov Basic Trends of Modern Software Development 4

Page 5: e-Business - Mobile development trends
Page 6: e-Business - Mobile development trends
Page 7: e-Business - Mobile development trends
Page 8: e-Business - Mobile development trends

Popular Devices in Latvia

Page 9: e-Business - Mobile development trends

Versions in Latvia

Page 10: e-Business - Mobile development trends
Page 11: e-Business - Mobile development trends

Version Statistics

December 2012

Page 12: e-Business - Mobile development trends

Version Statistics

December 2012

Page 13: e-Business - Mobile development trends

Vladimir Kotov Basic Trends of Modern Software Development 13

Smartphone OS Market Share

IDC, 2012 v. 2011

Page 14: e-Business - Mobile development trends

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

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

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

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

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

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

Vladimir Kotov Basic Trends of Modern Software Development 20

The Mobile “Server-side” Web

Page 21: e-Business - Mobile development trends

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

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

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

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

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

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

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

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

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

Vladimir Kotov Basic Trends of Modern Software Development 30

Interpreted and cross-compile

Page 31: e-Business - Mobile development trends

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

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

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

Vladimir Kotov Basic Trends of Modern Software Development 34

Decision

Page 35: e-Business - Mobile development trends

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

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

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

Vladimir Kotov Basic Trends of Modern Software Development 38

Android Anatomy

Page 39: e-Business - Mobile development trends

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

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

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

Vladimir Kotov Basic Trends of Modern Software Development 42

Android Native Libraries

Page 43: e-Business - Mobile development trends

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

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

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


Recommended