Automatic Mobile App Generation

Slides:



Advertisements
Similar presentations
Developing downloadable mobile apps using HTML5 and PhoneGap Apache Callback Ron Perry, CTO, Worklight Inc.
Advertisements

Mobile Application Development Keshav Bahadoor. Part 1 Cross Platform Web Applications.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
Building Mobile Apps in the Cloud – Comparing Approaches.
Component OneJQuery MobileVisual WebGUI Comparison of three mobile site development frameworks.
1 Proprietary & Confidential Stephen Bourdeau Mobile Tech Lead TripAdvisor, LLC Hybrid App Development MoMo Mobile Camp, February 19 th, 2011.
© 2009 Research In Motion Limited Methods of application development for mobile devices.
Platform Independent Frameworks Contents Mobile App Developer’s challenges Platform Independent solutions – Mobile Web Based Apps – Cross.
Development of mobile applications using PhoneGap and HTML 5
Native vs hybrid vs web mobile Application
The PhoneGap History Doncho Minkov Telerik Academy academy.telerik.com Technical Trainer
Creation of hybrid portlet application for file download using IBM Worklight and IBM Rational Application Developer v9 Gaurav Bhattacharjee Lakshmi Priya.
Mobile Web Applications
Presented by: Lan Nguyen.  Started as cooperation with:  World Wide Web Consortium  Web Hypertext Application Technology Working Group  The future.
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
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
Java Mobile Apps with GWT & PhoneGap Josh Marinacci, webOS Developer Advocate.
Windows Reimagine d Windows 8 Data explosion Browser-based apps Natural interaction Ubiquitous connectivity Personal devices in the.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Beyond the Browser: HTML5 and the Evolving Mobile Web Chris Smith & Laurent Hasson Research In Motion.
Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University
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
Trunica Inc. 500 East Kennedy Blvd #300 Tampa, FL Cross Platform Mobile Apps With Cordova and Visual Studio 2015 © Copyright 2015.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
 Phone Gap is a mobile application development frame work based upon the open source apache cordova project. Developed by Nitobi software Bought by Adobe.
KAASHIV INFOTECH Presents INTEL XDK For Inplant Training / Internship, please download the "Inplant training registration form" from our website
| | Top 4 Benefits of Hybrid Mobile Apps.
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.
If you are thinking about developing mobile application for your customer, this is an important aspect to consider the platform.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
COMPARING CROSS-PLATFORM DEVELOPMENT APPROACHES FOR MOBILE APPLICATIONS Henning Heitkötter, Sebastian Hanschke and Tim A. Majchrzak Department of Information.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
INTRO TO MOBILE APPS 8 th period Mrs. Logan. WHAT IS AN APP? a self-contained program or piece of software designed to fulfill a particular purpose; an.
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.
What Are the Different Platforms for Enterprise Mobility Solutions?
Build Hybrid Mobile Apps with Ionic, Angular, & Cordova Brian
TECH RELATED TOPIC PRESENTATION MICROPROCESSOR: CSE341 COURSE INSTRUCTOR DR. JIA UDDIN Assistant Professor Department of Computer Science and Engineering.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
PhoneGap Cross-Platform Development Company India
跨平台 Hybrid App 開發簡介 - 使用 Visual Studio Tool for Apache Cordova + HTML/JavaScript 陳葵懋 (Ian)
Software services delivering SharePoint, Mobile, and Business Intelligence solutions Creating mobile applications that integrate with SharePoint 2013 on-
The great debate… We will have this as an ongoing theme!
A little more App Inventor and Mind the GAP!
Mobi-sites and Apps for Mobile Devices “pros & cons of each”
Introduction to Xamarin C# Everywhere
ET-570 Smart Phone Apps.
CHALLENGES IN FRONT OF MOBILE APPLICATIONS DEVELOPMENT
Becoming a Pro IN Mobile Applications Testing
Features of Authoring Tools
The world’s most advanced mobile platform
Nicho Joins Microsoft Azure Certified Program to Transform Brand Engagement, Boost Customer Acquisition and Conversions with Scalable Ease MICROSOFT AZURE.
Architecture of Android
Mobile App Development
Apache Cordova Overview
Multi-Device Hybrid Apps What, Why, and When to Use Hybrid Development Option Ervin Loh ALM Program Manager
Mobile Considerations
Survey Paper & Manuscript
Chapter: 2 Diving into Mobile: App or Website?
Myth Busting: Hosted Web Apps
Who Am I? appMobi's lead HTML5 game developer / evangelist
Apps XD.
Mobile Web Sites & Mobile Applications
Office 365 Development.
Apache Cordova What is it ? Platforms Development Architecture Plugins
CSC 581: Mobile App Development
Presentation transcript:

Automatic Mobile App Generation Yang Hu and Sophia Lou

Different Types of Apps Web App only HTML5 code Native App native languages, Objective C/Java Hybrid App HTML5 code with native features Web App- Apps that use only HTML5 code (HTML, CSS, and Javascript) and no native device features or APIs. Native App- Apps are typically written in the native language of the device/platform operating system: Android* Dalvik* Java*, iOS* Objective C, Windows* 8 Phone & Windows* Store C++ or C#. Each platform provides a different toolset for their native app developers including the materials needed for app store submission. These apps are installed directly onto the phone and can work, in most cases, with no Internet connectivity. Hybrid App- Apps where significant parts are written in HTML, but it uses native device features, such as a camera or accelerometer, and use device APIs in an HTML5 wrapper.

Kendo UI Survey, 2013 A survey of 5,000 developers revealed that when developing apps for multiple platforms, HTML was the technology of choice for the majority (41%); this compares with 36% the year before. 40% of developers also admitted that they started building a native app only to realise that HTML5 would meet their needs.

Web Apps Hybrid Apps PhoneGap framework Coding demo

HTML Strengths Cross Platform Compatibility The same HTML5 app works on different mobile operating systems iOS, Android, Windows, Blackberry… Guarantee of the same interface for every operating system The cost of development is more lower for each operating system Better suited to emerging markets such as Africa where the market tends to have a more diverse range of devices.

HTML Strengths Cross Platform Compatibility The same HTML5 app works on different mobile operating systems iOS, Android, Windows, Blackberry… Guarantee of the same interface for every operating system The cost of development is more lower for each operating system Better suited to emerging markets such as Africa where the market tends to have a more diverse range of devices.

Remote Updates are Automatic Only the latest version of the app will be seen Developers don’t have to provide support for multiple versions of the app Users don’t have to manually update the app Faster access to user analytics information Weather and shopping apps Access from the web without having to download the app Additional decrease in development cost Don’t need to share revenue with companies that build and maintain app stores

Problems The implementation is far from uniform. Implementation varies from browser to browser and from mobile platform to mobile platform. This widespread fragmentation makes it difficult for software developers to know which part of HTML5 they can use. Slow response and lag HTML5 apps can be afflicted by slowness and work erratically when a data connection is not available or is intermittent. Access to native features (camera, GPS, notifications)

Distribution- app store access and user base Different User UI Expectations Has a different user feel than the native apps that many users now expect Initial development time involved process of testing in multiple devices, and operating systems and the bug fixes involved. Lacking features Lack Digital Rights Management needed for multimedia services Doesn’t support background processing Missing secure storage and notifications outside of applications

Security Problems Code injection attacks Fracking vulnerable to XSS and code injection attacks nature of web framework can be avoided by filtering and random token Fracking untrusted web content would be able to reach local resources on device

Native Apps Native apps Preinstall programs (apps) such as address books, calendars and calculators appeared first on mobile devices. Play games and load social networks quickly better suited to take advantage of the inherent hardware and software offerings exclusively available on each operating system and device such as camera, GPS, accelerometer etc., App submission and Distribution Easier to submit for approval, validation and distribution UI Controls Pinch, Zoom, Tap, Pull, Slide and multi-touch control Graphics and Animation Support Offline Access

From HTML5 to Native Before- mobile website (m.facebook.com) was wrapped in code to run on iOS and Android hardware Able to send updates to the app multiple times a day to fix problems Support of many devices (7,000+ devices) HTML5 app still exists on some platforms including Windows Phone, BlackBerry, and Android After- change to Native development App opens faster, without a lag Scrolling is smoother Photos are uploaded instantly

Before- mobile website (m. facebook Before- mobile website (m.facebook.com) was wrapped in code to run on iOS and Android hardware more and more people are spending more time in the app, and the app is running out of memory. trying to get some of the animations — the spinners and the way they work — getting that smoothness, we felt like we needed native to really do that well. One is tooling support — having a debugger that actually works, performance tools that tell you where the memory is running out.

Comparison on development

Comparison on features

Web Apps Hybrid Apps PhoneGap framework Coding demo

Hybrid Apps Often offer a good trade-off between the ease of developing HTML5 apps and the performance of native apps. Generally, hybrid apps are built using web technologies such as HTML, CSS and JavaScript and then ‘wrapped’ in a native container. The popular PhoneGap framework does this and has been used for a number of popular apps By 2016, 50% of mobile apps will be hybrid

Architecture of a hybrid app Native container Creates instance of UIWebView android.webkit.WebView / etc. Navigates to main html file Implements listener/handler for requests coming from JS code Activates JS code when necessary HTML5/CSS3/JS code: Implements UI and app logic Activates native handlers through OS-specific mechanism (custom URL scheme) Receives responses through JS handlers

Hybrid Apps

Strengths Cross-Platform Support Lower Development Costs Hybrid Apps help achieve the look and feel of the native apps as well as the functionality at lower development costs by taking advantage of the platform specific frameworks to reduce the time and resources required to build these apps. Device Access Hybrid apps offer full-integration with the various UI controls available on devices such as pinch, touch and zoom and features such as camera, geo-location, contact list, file upload, accelerometer. Access to App Store Hybrid Apps, like native apps can be submitted to the app stores for approval and distribution, enabling reach a larger audience.

Successful Hybrid Apps Netflix is a great example because they handle their UI across devices in HTML (mobile, web and Playstation 3) but also combine it with native technologies for e.g. video playback.

Twitter has been very successful in using HTML5, CSS3 and JavaScript to make hybrid applications that run fast and that feel as smooth as a native app. The whole point of using HTML5 is to keep users constantly updated on their friends and followers Unlike Facebook, Twitter’s use of multiple coding has made for a better, smoother app than either a native app or an HTML5-only app could deliver.

Hybrid Cons Slower Performance Limited Graphical support for heavy graphics and animation Revenue Loss

Choosing your Tradeoffs Business Goals Target users and their preferences Budget Constraints User Interface (UI) controls App Store Accessibility Graphics Support Speed and seamless operation Access to hardware/software features native to a device/operating system Web Connectivity Development Skills

Quiz Performance Data storage Development Skills Complicated Gestures Distribution Web Apps Slow Shared SQL HTML, Javascript, CSS No Web Hybrid Apps Native Apps Fast Secure local storage Objective-C/ Java Yes App store

Web Apps Hybrid Apps PhoneGap framework Coding demo

Development Hybrid Apps: Phone Gap Requirement node JS Xcode or Visual Studio http://phonegap.com/install/

Architecture of a hybrid app PhoneGap – Open Source Framework The de-facto standard for hybrid app development Now in transition into becoming “Apache Callback” Provides: A template implementation for the native container Implementation of the JS<->Native bridge for 6 mobile OSs OS-independent JS APIs for activating device functions

PhoneGap Architecture

PhoneGap Architecture

PhoneGap architecture Advantage: Can be easily ported between different platforms PhoneGap WebView HTML CSS JavaScript Device Accelerometer Camera Compass Contacts File Geolocation Notification … addJavascriptInterface() Disadvantage: Need to build the bridge between JavaScript and native resources

Web Apps Hybrid Apps PhoneGap framework Coding demo

Phone Gap Demo

Backups

(a) (b) (c) (d) (e) (f) (g) (h)

HTML5-based Mobile App Hybrid apps

Overview of HTML5-based Mobile App