OVERVIEW OF NATIVE MOBILE APPS AND APPCELERATOR TITANIUM IDE

Slides:



Advertisements
Similar presentations
Introduction to Mobile Computing Dr. Frank McCown Harding University Spring 2010 An Overview of Mobile Devices and Developing Mobile Applications.
Advertisements

*
Mobile & Tablet Development for Business. Background and Some Facts IPhone revenue greater than all of Microsoft's Android activations hit 1.3M per day.
Contents Different O.S. and platforms. Different programming languages. Possibilities for mobiles. GPS, digital compass, accelerometer,… Augmented reality.
D4.3 Additional Applications iPad Application – Facebook Integration George Chrysochoidis i-sieve technologies ltd. PATHS Project Review, 12th March 2014,
Mobile App Development Using: Presented by Tyler Richey Images from
Intro to Android and iOS CS-328 Dick Steflik. The Players Android – Open source mobile OS developed ny the Open Handset Alliance led by Google. Based.
So. . . According to the Global Developer Survey ’13 conducted by Telerik, over 5000 developers said that they developed apps using HTML5 in 2012 and 90%
Building Mobile Apps in the Cloud – Comparing Approaches.
Who are these guys? Bruce Pulley Senior Mobile Applications Developer Andrew Rumbley Senior.
Introduction to Mobile Computing Dr. Frank McCown Harding University Fall 2011 An Overview of Mobile Devices and Developing Mobile Applications This work.
1 Mobile Computing Background Copyright 2014 by Janson Industries Can be viewed at:
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Development of mobile applications using PhoneGap and HTML 5
Native vs hybrid vs web mobile Application
MOBILE APP DEVELOPMENT Presented by Md. Zakaria Chowdhury CEO, Webcraft Bangladesh Director, Sylhet IT Academy.
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
UFCFX5-15-3Mobile Device Development UFCFX Mobile Device Development An Introduction to the Module.
Chapter 1: Voilà! Meet the Android. Smartphones –Can browse the Web –Allow you to play games –Use business applications –Check –Play music –Record.
Using JavaScript for Mobile App Development No Objective C or Java required! July 5th, 2011.
Introduction to Mobile Computing CSE 390 Fall 2010.
Lightning Talk Fred Rodriguez Nguyen Do CPSC 473 May 6, 2012.
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Chapter 1: Voilà! Meet the Android
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
Introduction to Mobile Programming. Slide 2 Overview Fundamentally, it all works the same way You get the SDK for the device (Droid, Windows, Apple) You.
Applied Pervasive Computing Presentation : Mobile Interaction Devices.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
Developing Cross-Platform Applications with Visual Studio 2015
Developer TECH REFRESH 15 Junho 2015 #pttechrefres h Strategies for Developing Cross-Platform Applications Dinis Vieira.
Mobile web Sebastian Lopienski IT Technical Forum 29 June 2012.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
CROSS PLATFORM MOBILE APPLICATION DEVELOPMENT Nick Randolph (Built to Roam) SESSION CODE: DEV-WPH314 (c) 2011 Microsoft. All rights reserved.
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Using NativeScript to develop native apps for IOS and Android
Created by Presented by James Schultz Titanium. What is Titanium? An open, extensible development environment for creating beautiful native apps across.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
If you are thinking about developing mobile application for your customer, this is an important aspect to consider the platform.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
Introduction to Mobile Computing Dr. Frank McCown Harding University Fall 2011 An Overview of Mobile Devices and Developing Mobile Applications This work.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
Understanding Mobile Devices, Interactions, and Tools Lesson 1.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
APP DESIGN AND DEVELOPMENT WITH THE IONIC FRAMEWORK Chuck Leone
#SummitNow Alfresco Mobile SDKs in Action 06 November, 2013 Mike Hatfield Lead Engineer Mobile Apps, Alfresco.
Phonegap API & Phonegap Bridge CIS 136 Building Mobile Apps 1.
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Introduction to Mobile Computing
A little more App Inventor and Mind the GAP!
ET-570 Smart Phone Apps.
Architecture of Android
Mobile App Development
Introduction to Mobile Web Applications
Apache Cordova Overview
Development-Introduction
Survey Paper & Manuscript
Mobile App Development
Apps XD.
12/5/2018 HCI SNS College of Engineering Department of Computer Science and Engineering Mobile Application Development Presented by S.Yamuna AP/CSE.
Android Developer Fundamentals V2
Apache Cordova What is it ? Platforms Development Architecture Plugins
Presentation transcript:

OVERVIEW OF NATIVE MOBILE APPS AND APPCELERATOR TITANIUM IDE

Native apps vs mobile web apps Native apps – Install from app store – Binary executables are stored on the phone – Executables directly interact with the user Mobile web apps – Install by hitting web page, maybe bookmarking – Binary executables are stored on a server – Executables generate HTML+CSS+JS for browser

A multitude of mobile devices Ancient days-Personal Digital Assistants (PDAs) – Psion Organizer, Simon (first smartphone-1992), PalmPilot, Apple Newton – Typical limitations of PDAs… No support for making phone calls Inaccurate touch input (needed a stylus) Short battery life (recharge every day) Limited wireless support (usually had to "dock")

Rise of the smartphone Vastly improved capabilities – Sensors: GPS, accelerometers, gyroscopes, accurate touch input, camera, etc. – Output: High-resolution screens, good audio – Chipsets: Good CPU, wireless+3G, flash RAM Plenty of options… – iOS, Android, Blackberry, Windows, Ubuntu, …

Survey of over 2000 developers (2010 Q4 Mobile Developer Report)Q4 Mobile Developer Report

Job openings as of Q AndroidiOS On dice.com On indeed.com Android Software Engineer salary: $96,000 iOS Software Engineer salary: $102,000 Starting salaries

Android rising… the death of iOS? "We estimate million Android smartphones were shipped globally in Q4 2012, nearly doubling from 80.6 million units in Q4 2011," said Neil Mawston, executive director at Strategy Analytics. " Android's share of the global smartphone market has surged from 51% to 70% over the past year, crushing Symbian, Bada and other platforms in its wake. Almost half-a-billion Android smartphones were shipped in total worldwide during " Android is clearly the undisputed volume leader of the smartphone industry at the present time."

Don’t be so sure…

Lessons from the market Platforms come and go from fashion – iOS -> Android -> ? – What is next? Gotta keep your code from going stale Gotta keep your skills from going stale Problem: non-portable native code

Differences between one platform and another and another and another and another and another and… Physical differences – Screen size – Textual input – Scrolling Stylistic differences – “Back” and “Cancel” buttons – Placement of navigation bar – Colors

How to target multiple platforms? Option 1: Write platform-independent code, interpose libraries Option 2: Write platform-independent code, compile to platform Option 3: Platform-specific frameworks

Option 1: Write platform-independent code, interpose libraries Some random platform Your code Platform-specific binary libraries This is basically how JavaScript works in mobile web apps (each browser implements the ECMA specification for JavaScript and implements specified objects with binary libraries)

Platform-independent frameworks Option 1: just libraries, no compiler – jQTouch – pure HTML+CSS+JS – PhoneGap – HTML+CSS+JS + binary libraries

Option 2: Write platform-independent code, compile to platform Some random platform Your code Compiler Platform-specific binary This is basically how C++ works (a compiler for each platform compiles the source code into binary format accepted by the target operating system and hardware) Runtime library

Platform-independent frameworks Option 2: compiler – Appcelerator – write JS, compile to binary – Adobe Air – write ActionScript, compile to Flash In practice, both of these require platform- specific runtime libraries, even though they theoretically could compile code to pure binaries that would not require any runtime library.

Option 3: Platform-specific frameworks Some random platform Platform-specific code Compiler Platform-specific binary You need different code for every platform… and probably still need runtime libraries as well. Runtime library Some random platform Platform-specific code Compiler Platform-specific binary Runtime library

Option 3: Platform-specific frameworks Examples of platform-specific frameworks – XCode – compiles Objective C to iOS binaries – Android SDK – compiles Java to Android binaries

Pros and cons OptionProsCons Platform-indep.: libraries-Use existing JS skills -Very easy to get started -Nearly 100% portable -Lowest performance -Limited API access Platform-indep.: compiler-Probably use your JS skills -Better performance -Some access to binary API -Moderately easy to learn -Nearly 100% portable Platform dependent code-Best performance -Access to full binary API -Maybe new language -Relatively hard to learn -Nearly 0% portable

Overview of Appcelerator Titanium Example of Option 2: Write (mostly) platform- independent code, compile to platform Write code in JS Compile to target platform – Works reasonably well for Android & iOS – Some minor differences between platforms

A few Titanium APIs Accelerometer Camera Compass Contacts Database Facebook Files Geolocation Gestures Gyroscope Map Network Preferences Sound Touchscreen UI widgets XML & JSON

(Crossing out APIs that are hard to access in just a mobile web app) Accelerometer Camera Compass Contacts Database Facebook Files Geolocation Gestures Gyroscope Map Network Preferences Sound Touchscreen UI widgets XML & JSON

Pros & cons of choosing Titanium as an example in this class Pros – You already know JS – we can focus on mobile – You can use Titanium on Windows, Linux, Mac – You can compile to Android or iOS Cons – Deploying Titanium to emulator slow Other options: Either (a) work on a Mac and deploy to the iOS emulator, or (b) buy a cheap Android device

What is next for you… Windows + Linux users – Install Oracle JDK, set PATH and JAVA_HOME – Install Firefox – Install Appcelerator’s Titanium Studio – Install Android SDK Mac users – Install Xcode – Install Appcelerator’s Titanium Studio – Optional: Install Android SDK

Images used in this presentation zes/l/in/photostream/ zes/l/in/photostream/ izes/s/in/photostream/ izes/s/in/photostream/ content/uploads/2012/01/android-share-of-smartphone- operating-system-market-nov e jpg content/uploads/2012/01/android-share-of-smartphone- operating-system-market-nov e jpg ne%20developer%2C+android%20developer%2C+mobile% 20web%20developer%2C+blackberry%20developer ne%20developer%2C+android%20developer%2C+mobile% 20web%20developer%2C+blackberry%20developer n/photostream/ n/photostream/