SlideShare a Scribd company logo
1 of 45
Download to read offline
DITF LDI
Lietišķo datorsistēmu programmatūras
profesora grupa
e-Business Solutions
Basic Trends of Modern
Software Development
Vladimir Kotov Basic Trends of Modern Software Development
Mobile Development Trends
Vladimir Kotov Basic Trends of Modern Software Development 3
Need an App ...
Vladimir Kotov Basic Trends of Modern Software Development 4
Popular Devices in Latvia
Versions in Latvia
Version Statistics
December 2012
Version Statistics
December 2012
Vladimir Kotov Basic Trends of Modern Software Development 13
Smartphone OS Market Share
IDC, 2012 v. 2011
Vladimir Kotov Basic Trends of Modern Software Development 14
Cross-platform Mobile
Development
Application types
● Native
● Web
● Hybrid
● Cross-compile
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
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
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)
Vladimir Kotov Basic Trends of Modern Software Development 18
The Mobile “Server-side” Web
Uses HTML, JavaScript, CSS and runs in a devices browser
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)
Vladimir Kotov Basic Trends of Modern Software Development 20
The Mobile “Server-side” Web
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
Vladimir Kotov Basic Trends of Modern Software Development 22
The Mobile “Client-side” Web
Uses HTML5 + JavaScript and runs in a devices browser
Vladimir Kotov Basic Trends of Modern Software Development 23
The Mobile “Client-side” Web
● Sencha Touch
● JQueryMobile
● JQTouch
● KendoUI
● GWT Mobile
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
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)
Vladimir Kotov Basic Trends of Modern Software Development 26
Hybrid App
HTML5 + JavaScript with a wrapper that gives it native
capabilities
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
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
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
Vladimir Kotov Basic Trends of Modern Software Development 30
Interpreted and cross-compile
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
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
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
Vladimir Kotov Basic Trends of Modern Software Development 34
Decision
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
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
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
Vladimir Kotov Basic Trends of Modern Software Development 38
Android Anatomy
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
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"
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
Vladimir Kotov Basic Trends of Modern Software Development 42
Android Native Libraries
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
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
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

More Related Content

What's hot

Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Usman Chaudhry
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Jimmin Kurichiyil
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentSenchu Thomas
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstartAlessio Ricco
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...Niklas Heidloff
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating SystemUday_Peddur
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11Niklas Heidloff
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android pptTaha Malampatti
 
Experience of game prototyping with MOAI
Experience of game prototyping with MOAIExperience of game prototyping with MOAI
Experience of game prototyping with MOAIDmitry Potapov
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI SystemsICS
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages ApplicationsNiklas Heidloff
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentationvinayh.vaghamshi _
 

What's hot (20)

Android based os
Android based osAndroid based os
Android based os
 
Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1Developing Applications for Android - Lecture#1
Developing Applications for Android - Lecture#1
 
Android
AndroidAndroid
Android
 
Aandroid
AandroidAandroid
Aandroid
 
Android introduction
Android introductionAndroid introduction
Android introduction
 
Basic Android College Seminar Presentation
Basic Android College Seminar Presentation Basic Android College Seminar Presentation
Basic Android College Seminar Presentation
 
Cross Platform Mobile Application Development
Cross Platform Mobile Application DevelopmentCross Platform Mobile Application Development
Cross Platform Mobile Application Development
 
Titanium appcelerator kickstart
Titanium appcelerator kickstartTitanium appcelerator kickstart
Titanium appcelerator kickstart
 
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
OpenNTF Webinar 05/07/13: OpenNTF - The IBM Collaboration Solutions App Dev C...
 
Mohit Jaiswal
Mohit JaiswalMohit Jaiswal
Mohit Jaiswal
 
document
documentdocument
document
 
Tizen Operating System
Tizen Operating SystemTizen Operating System
Tizen Operating System
 
XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11XPages Mobile Controls DanNotes 11/23/11
XPages Mobile Controls DanNotes 11/23/11
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
Introduction to Android ppt
Introduction to Android pptIntroduction to Android ppt
Introduction to Android ppt
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Experience of game prototyping with MOAI
Experience of game prototyping with MOAIExperience of game prototyping with MOAI
Experience of game prototyping with MOAI
 
[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems[Webinar] Automotive Media Management in Future IVI Systems
[Webinar] Automotive Media Management in Future IVI Systems
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentation
 

Similar to e-Business - Mobile development trends

Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and ToolchainVladimir Kotov
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar reportdgpune
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpointJohnLagman3
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osArnav Gupta
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versionsindiangarg
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting StartAnuchit Chalothorn
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stucbashirmacalin
 
ANDROID PPT_DAY1.ppt
ANDROID PPT_DAY1.pptANDROID PPT_DAY1.ppt
ANDROID PPT_DAY1.pptIssacPeter2
 

Similar to e-Business - Mobile development trends (20)

Android Internals and Toolchain
Android Internals and ToolchainAndroid Internals and Toolchain
Android Internals and Toolchain
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Android seminar report
Android seminar reportAndroid seminar report
Android seminar report
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Enhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_osEnhancing and modifying_the_core_android_os
Enhancing and modifying_the_core_android_os
 
Android Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and VersionsAndroid Fundamentals, Architecture and Versions
Android Fundamentals, Architecture and Versions
 
Android presentation slide
Android presentation slideAndroid presentation slide
Android presentation slide
 
Chapter1
Chapter1Chapter1
Chapter1
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
 
My android
My androidMy android
My android
 
My android
My androidMy android
My android
 
Introduction to Android.ppt
Introduction to Android.pptIntroduction to Android.ppt
Introduction to Android.ppt
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stu
 
Android technology
Android technology Android technology
Android technology
 
Gl android platform
Gl android platformGl android platform
Gl android platform
 
ANDROID PPT_DAY1.ppt
ANDROID PPT_DAY1.pptANDROID PPT_DAY1.ppt
ANDROID PPT_DAY1.ppt
 
Android
AndroidAndroid
Android
 

More from Vladimir Kotov

More from Vladimir Kotov (7)

e-Business - SE trends
e-Business - SE trendse-Business - SE trends
e-Business - SE trends
 
LDP lecture 2
LDP lecture 2LDP lecture 2
LDP lecture 2
 
LDP lecture 1
LDP lecture 1LDP lecture 1
LDP lecture 1
 
LDP lecture 5
LDP lecture 5LDP lecture 5
LDP lecture 5
 
LDP lecture 4
LDP lecture 4LDP lecture 4
LDP lecture 4
 
LDP lecture 3
LDP lecture 3LDP lecture 3
LDP lecture 3
 
Android Working in the Background
Android Working in the BackgroundAndroid Working in the Background
Android Working in the Background
 

Recently uploaded

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
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
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

e-Business - Mobile development trends

  • 1. DITF LDI Lietišķo datorsistēmu programmatūras profesora grupa e-Business Solutions Basic Trends of Modern Software Development
  • 2. Vladimir Kotov Basic Trends of Modern Software Development Mobile Development Trends
  • 3. Vladimir Kotov Basic Trends of Modern Software Development 3 Need an App ...
  • 4. Vladimir Kotov Basic Trends of Modern Software Development 4
  • 5.
  • 6.
  • 7.
  • 10.
  • 13. Vladimir Kotov Basic Trends of Modern Software Development 13 Smartphone OS Market Share IDC, 2012 v. 2011
  • 14. Vladimir Kotov Basic Trends of Modern Software Development 14 Cross-platform Mobile Development Application types ● Native ● Web ● Hybrid ● Cross-compile
  • 15. 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
  • 16. 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
  • 17. 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)
  • 18. Vladimir Kotov Basic Trends of Modern Software Development 18 The Mobile “Server-side” Web Uses HTML, JavaScript, CSS and runs in a devices browser
  • 19. 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)
  • 20. Vladimir Kotov Basic Trends of Modern Software Development 20 The Mobile “Server-side” Web
  • 21. 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
  • 22. Vladimir Kotov Basic Trends of Modern Software Development 22 The Mobile “Client-side” Web Uses HTML5 + JavaScript and runs in a devices browser
  • 23. Vladimir Kotov Basic Trends of Modern Software Development 23 The Mobile “Client-side” Web ● Sencha Touch ● JQueryMobile ● JQTouch ● KendoUI ● GWT Mobile
  • 24. 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
  • 25. 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)
  • 26. Vladimir Kotov Basic Trends of Modern Software Development 26 Hybrid App HTML5 + JavaScript with a wrapper that gives it native capabilities
  • 27. 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
  • 28. 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
  • 29. 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
  • 30. Vladimir Kotov Basic Trends of Modern Software Development 30 Interpreted and cross-compile
  • 31. 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
  • 32. 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
  • 33. 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
  • 34. Vladimir Kotov Basic Trends of Modern Software Development 34 Decision
  • 35. 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
  • 36. 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
  • 37. 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
  • 38. Vladimir Kotov Basic Trends of Modern Software Development 38 Android Anatomy
  • 39. 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
  • 40. 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"
  • 41. 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
  • 42. Vladimir Kotov Basic Trends of Modern Software Development 42 Android Native Libraries
  • 43. 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
  • 44. 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
  • 45. 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