CST 594 Mobile Computing Kavitha Elamparith Pratibha Channamsetty Eshwari Mente Shruti Shivashankaraiah Pranay Mahendra Adit Shah Naveen Kumar.

Slides:



Advertisements
Similar presentations
UBIQUITY V3 An extensible platform for creating dynamic, customized, and geocentric native mobile applications.
Advertisements

Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
OneBridge Mobile Data Suite Product Positioning. Target Plays IT-driven enterprise mobility initiatives Extensive support for integration into existing.
New Release Announcements and Product Roadmap Chris DiPierro, Director of Software Development April 9-11, 2014
UNIT-e futures and UNIT-e Mobile Ben Potter Systems Architect.
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%
Mobile at USC Common Solutions Group University of Minnesota, June 2011.
Building Mobile Apps in the Cloud – Comparing Approaches.
Amanda Silver Director of Program Management Visual Studio Tools for Client Applications Cross-Platform Development using Visual Studio.
XProtect® Expert 2013 Product presentation
DEV392: Extending SharePoint Products And Technologies Through Web Parts And ASP.NET Clint Covington, Program Manager Data And Developer Services - Office.
Fast Track to ColdFusion 9. Getting Started with ColdFusion Understanding Dynamic Web Pages ColdFusion Benchmark Introducing the ColdFusion Language Introducing.
Working With Data on Titanium Local Data Remote Data Titanium Data Options:
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of Creating Eclipse plug-ins.
Microsoft ASP.NET AJAX - AJAX as it has to be Presented by : Rana Vijayasimha Nalla CSCE Grad Student.
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
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Native vs hybrid vs web mobile Application
Amazon EC2 Quick Start adapted from EC2_GetStarted.html.
Project Rickshaw SEARCH - FIND - GO. Project Rickshaw TEAM MEMBERS KEVIN AUGUSTINO – MATT FOX – DAVID MOORE SPONSORS KARASU TECHNOLOGIES - ERIK PAUL -
Windows.Net Programming Series Preview. Course Schedule CourseDate Microsoft.Net Fundamentals 01/13/2014 Microsoft Windows/Web Fundamentals 01/20/2014.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Architecture Of ASP.NET. What is ASP?  Server-side scripting technology.  Files containing HTML and scripting code.  Access via HTTP requests.  Scripting.
Copyright © cs-tutorial.com. Introduction to Web Development In 1990 and 1991,Tim Berners-Lee created the World Wide Web at the European Laboratory for.
Introduction CIS 136 Building Mobile Apps 1. What is a mobile app? 2  Computer program  Designed for small devices  Smartphones  Tablets  Other handhelds.
UB Mobile Past and present Demo of UB Mobile 2.0 Technologies used (and not used) UB Mobile Advisory Council.
Introducing NativeScript [Pavel Kolev Software Telerik: a Progress company]
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
In addition to Word, Excel, PowerPoint, and Access, Microsoft Office® 2013 includes additional applications, including Outlook, OneNote, and Office Web.
London April 2005 London April 2005 Creating Eyeblaster Ads The Rich Media Platform The Rich Media Platform Eyeblaster.
Developing Enterprise Mobile Apps with Xamarin Loren Horsager CEO, Mobile Composer.
Data File Access API : Under the Hood Simon Horwith CTO Etrilogy Ltd.
Tutorial 121 Creating a New Web Forms Page You will find that creating Web Forms is similar to creating traditional Windows applications in Visual Basic.
1 Tradedoubler & Mobile Mobile web & app tracking technical overview.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
What’s new in Kentico CMS 5.0 Michal Neuwirth Product Manager Kentico Software.
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
Copyright © 2012 UNICOM Systems, Inc. Confidential Information z/Ware Product Overview illustro Systems International A Division of UNICOM Global.
Bizfss File Sync and Sharing Solution, Built on Microsoft Azure, Allows Businesses to Sync, Share, Back Up Using Their Own Cloud Storage MICROSOFT AZURE.
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
Intro to Datazen.
Introduction TO Network Administration
Created by Presented by James Schultz Titanium. What is Titanium? An open, extensible development environment for creating beautiful native apps across.
UNDERSTANDING YOUR OPTIONS FOR CLIENT-SIDE DEVELOPMENT IN OFFICE 365 Mark Rackley
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
August Video Management Software ViconNet Enterprise Video Management Software Hybrid DVR Kollector Strike Kollector Force Plug & Play NVR HDExpress.
 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.
ITS Lunch & Learn November 13, What is Office 365? Office 365 is Microsoft’s software as a service offering. It includes hosted and calendaring.
Mobile Application Development Kevin Payne & Andi Saputra JWH Group.
CHAPTER 9 File Storage Shared Preferences SQLite.
Best 5 Mobile App Development Tools for Developer's to think beyond the Limitation.
丁建文 國立高雄應用科大資管系副教授 兼任計網中心軟體發展組組長 跨平台行動應用軟體開發技術 : HTML5 & Mobile JavaScript Framework 暨南大學.
APP DESIGN AND DEVELOPMENT WITH THE IONIC FRAMEWORK Chuck Leone
Build Cross-Platform Mobile Apps Using Visual Studio A Telerik webinar by Jeffrey T. Fritz March 27, 2014 AND.
DreamFactory for Microsoft Azure Is an Open Source REST API Platform That Enables Mobilization of Data in Minutes across Frameworks and Storage Methods.
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
A little more App Inventor and Mind the GAP!
Geospatial Research & Solutions GIS.ASU.EDU
App Configuration, Customization or Development
Apache Cordova Overview
Platform as a Service.
Testing REST IPA using POSTMAN
Mobile App Development
Chapter 2: System Structures
Office 365 Development.
#01# ASP.NET Core Overview Design by: TEDU Trainer: Bach Ngoc Toan
Web Application Development Using PHP
Presentation transcript:

CST 594 Mobile Computing Kavitha Elamparith Pratibha Channamsetty Eshwari Mente Shruti Shivashankaraiah Pranay Mahendra Adit Shah Naveen Kumar

Integrating mobile apps with ERP data systems 46% Developing apps quickly 43.3% Testing and Quality Assurance 36.8% Compelling Experiences 34.9% Supporting multiple platforms from a common codebase 33.3% Cross platform development 32.8% Supporting multiple platforms 27.7%

Why Titanium? Faster Development Develop native applications 20% faster than writing in the native language Code Reuse Reuse 60%-90% of developed code when supporting multiple platforms Reduce Cost Most apps take at least six months of full-time work and cost between $20,000 and $150,000 to develop. Reduce cost of development cross-platform by using a JavaScript based SDK

History Appcelerator in Atlanta, Georgia - Jeff Haynie (CEO) and Nolan Wright (CTO) New HQ in Mountain View, CA - raised $6.2 M from Storm Ventures and Lary Augustin Titanium launched at the Apples WWDC developers downloaded Appcelerator in 48 hrs - iPhone- and Android-based mobile applications in June April - BlackBerry, iPad-based tablet apps - raised $9M in Series B form Sierra Ventures and eBay.

History - (continued) Acquired Aptana Inc and Particle Code New Office in Beijing, China - Europe HQ opens in UK - Acquired Cocoafish and Nodeable - Launched Appcelerator Cloud Services (ACS) - Launched Titanium 3.0 Appcelerator Announces CODESTRONG 2012 Mobile Conference To Be Held in San Francisco Opens an office in SFO 408,612 registered developers have launched 51,208 apps

Growth Chart

1.5 Million Developers k Apps in the Wild - 20 Million Active Users Making Titanium a Leading Mobile Development Platform among many

Appcelerator Titanium Open source SDK, Tools (Apache) Cross-platform (Win32, OSX, Linux) Based on WebKit Modular and extensible Supports JavaScript, Python, Ruby

Titanium Overview Applications are built entirely in JavaScript Cross Platform !== “Write Once, Run Everywhere” Cross Platform == “Write Once, Adapt Everywhere” Best Practices – Protect global scope – Be modular – Keep code DRY – (Don’t Repeat Yourself) Similar to rich web based client applications – Sophisticated UI controls – Client-side Data Models – Local Storage and focused remote data access Component Oriented, Event Driven

Products Titanium Mobile Develop Native iPhone, Android, and iPad apps with full access to each device’s APIs. Titanium Mobile Develop Native iPhone, Android, and iPad apps with full access to each device’s APIs. Titanium Desktop Build Desktop apps that can be deployed with one code base on the PC, Mac, or Linux platforms. Titanium Desktop Build Desktop apps that can be deployed with one code base on the PC, Mac, or Linux platforms. Appcelerator Network Cloud services used for testing, packaging, distribution, and analytics. Appcelerator Network Cloud services used for testing, packaging, distribution, and analytics. Titanium Alloy It is an MVC framework used to develop applications in a structured way

Architecture

Product Architecture

Pros and Cons 1.Rapid prototyping 2.JavaScript 3.Cross-platform 4.Growing community

Cons 1.Increasing complexity Development complexities (and costs) rise more than proportionally to application complexity increases 2.No Freemium StoreKit, a module to enable In-App Purchase to Apple’s App Store, poorly documented and it seems to work only partially. unstable for production use 3.Laggy Obviously you can have the most smooth, fast and comfortable user experience possible only with apps developed with a native development environment.

ProductHost Operating System RAM Titanium StudioAll1GB (contiguous) Latest Android SDKOS X1.5GB (contiguous) Latest Android SDKWindows1GB (contiguous) Latest Android SDKUbuntu1.5GB (contiguous) System Requirements Memory:

Operating SystemMin VersionMax Version Apple Mac OS X 10.7 (Lion) 10.6 (Snow Leopard) supported for SDK 2.1.X and earlier (Mountain Lion) WindowsWindows 7Windows 8 Ubuntu Linux10.04 LTS (Lucid Lynx)12.04 (Precise Pangolin) System Requirements Operating System:

 Valid Appcelerator Network account.  Download the installer from: Downloading & Installing

Launch the installer

Things to setup

Installing native sdks

Installing android sdk

Launching Titanium Studio

Android SDK Manger

Packages to install

Operating System Package NamePackage Version Download Location OS XgitLatest( ) scm.com/downlo ad/mac WindowsmsysgitLatest( ) scm.com/downlo ad/win UbuntugitLatestDefault Repositories Useful software Git (optional, but recommended)

Importing a Sample Project

Creating a new project

New Titanium mobile project

Selecting template

Project File system Layout

Configuring the tiapp xml file

Run the project

How Titanium Works Code your pages “Run” Titanium SDK Running! Project in XCode/ObjC (in simulator)

Window structure window view

Titanium Features Native UI – Real Native tables, tabs, sliders and views Rich Media APIs – Local and streaming audio and video, media recording Local and streaming – Native Maps, compass and Geo location Open Source and Extensible – Extend titanium with custom modules in native code.

Cont.. Local and Remote Data – Local SQL database, Light weight Key/Value store, XHR. Integrated Analytics – Baked-in analytics APIs to measure results and behavior. Social APIs – Integrated Face book connect and YQL. Development Tools – Development and distribute your app for multiple platform from a single tool.

Native UI controls Use native UI controls through a JavaScript interface

UI in Native and Titanium Application iOS Phones have one screen resolution. Building Android apps require you to take the various screen sizes and aspect ratio into account. Titanium relies on native controls and UI. We write code in JavaScript, using special API that builds the UI controls. Recent addition of commonJS module made developing apps more fast and modular.

Cont.. Writing same code for both the UI makes thing difficult to handle. Reasons: 1. They have different screen resolution 2. Different controls 3. iOS takes 45% of the screen, while android has more dropdowns. So In Titanium we create separate UI modules that communicate with same code.

Common APIs

Media Stream or package audio and video content same for both platforms

Accelerometer Use advance gesture and track movement to create groundbreaking user interface.

Geo location Use Geo location to leverage your user’s position in the world

Face book connect Facebook module is available which uses new authentication features on both Android and iOS as well as a new set of methods to retrieve and submit data. We can either use 1.Titanium.Facebook.authorize() method 2.Facebook LoginButton (Titanium.Facebook.createLoginButton()) on to your view and, when the user clicks it, we’ll handle calling ’authorize’. Set Titanium.Facebook.appid to your Facebook application id before initiating authorization For more basic permission set Titanium.Facebook.permissions property to an array of the permissions you need.

Cont..

The Pizza App Main Javascript files: 1.App.js 2.Main.js 3.Crust.js 4.Toppings.js 5.Details.js 6.End.js

1. Display Clock 2. Create view 3. Create Scrollable view 4. Navigate 5. Animate 6. Fire an Event 7. Handle an Event How to ?

 Listening to Custom events  Adding the Toppings List  Persisting Crust Selection

Working With Data on Titanium Titanium Data Options: Local Data Remote Data

Working With Local Data Titanium Local Storage Options: Application Properties File System Database To use a device's local storage, Titanium provides * Titanium.App.Properties :ideal for storing application-related settings * Titanium.Filesystem :facilitates file and directory manipulation * Titanium.Database :gives access to local SQLite databases Each of these enable data to persist on a device across application restarts, power cycles, re-installation and even migration to a new device.

What kind of data storage should I use? Application Properties – data consists of simple key/value pairs data is related to the application rather than the user data does not require other data in order to be meaningful or useful Filesystem – the data is already provided in file format the data is an image file

Database – There are many similar data items Items of data relate to each other require flexibility over how the data will be presented when you retrieve it the data accumulates over time, such as transaction, logging or archiving data

Application Properties Reading and Writing Properties - six sets of get/set methods for handling six different data types: getBool() / setBool(): for booleans (true, false) getDouble() / setDouble(): for double-precision floating point numbers getInt() / setInt(): for integers getList() / setList(): for arrays getString() / setString(): for strings

Filesystem Storage Objects Titanium.Filesystem is the top level Filesystem module used for reading and saving files and directories on the device. Titanium.Filesystem.File is the file object which supported common filesystem based operations such as create, read, write, delete, etc.

Properties Data storage locations: applicationDataDirectory: A read-only constant that indicates where your application data directory is located. Place application-specific files in this directory. resourcesDirectory: A read-only constant where your application resources are located tempDirectory: A read-only constant that indicates where your application can place temporary files

Filesystem Storage cont... Filesystems Methods getFile( ): return a file path as a Titanium.Filesystem.File object read(): return the contents of file as blob write(): write the contents to file deleteFile(): delete the file exists(): return true if the file or directory exists on the device move(): move the file to another path rename(): rename the file nativePath(): return the fully resolved native path

Database and file system Pre requisites: SQLite Database Easy ways to create a sqlite database - – SQLite Manager (Firefox add on) – SQLite database Browser. Place your database file in the resource folder in your titanium project. The database installation will reference that folder to install your database.

SQLite Databases SQLite3 is the latest version of the mobile SQL-based relational database management system (RDMS), chosen by Apple, Google and RIM to provide local data storage on their mobile devices. Objects Titanium.Database the top level Database module. The Database module is used for creating and accessing the in- application Database. Titanium.Database.DB is the Database instance returned by Titanium.Database.open or Titanium.Database.install. Titanium.Database.ResultSet is the ResultSet instance returned by invoking a database SQL execute.

SQLite Databases Database Methods open( ): open a database. if it doesn't yet exist, create it. execute( ): execute a SQL statement against the database and returns a ResultSet. close( ): close the database and release resources from memory. install( ) : installs the database on the device/emulator ResultSet Methods isValidRow( ): return true if the row is a valid row. fieldByName( ): retrieve a row value by field name. next( ): iterate to the next row in the result set.

Working With Remote Data Remote Data in Titanium Your Titanium application can interact with remote servers over HTTP using the HTTPClient object provided through the Titanium.Network namespace. Objects Titanium.Network.HTTPClient is the HttpClient instance returned from Titanium.Network.createHTTPClient. HTTPClient Methods open(): open the request and ready the connection. send(): send the request (Only async is currently supported). SetRequestHeader(): set the request header. Must be called after open but before send. setTimeout(): set the request timeout

RSS Reader Fetches the latest 10 items off the New York Times RSS feed and displays them in a TableView. Clicking on one of the items will open the link in a web browser. Titanium’s HTTPClient object allows remote requests similar to Ajax/JS in a web browser.HTTPClient An onload() method that handles the response of the request and an open() method in which we specify the type of request (GET/POST/PUT/DELETE) and the URL we are requesting. Finally we initiate the request by calling the send() method.

RSS Reader Even though we are coding in Javascript, we are not in a web browser environment, so the usual document and window objects do not exist. This means frameworks which make XML manipulation easy, such as jQuery and Mootools, will not work. However Titanium offers us the DOMDocument object, which acts and has a similar API to the web browser document object.DOMDocument We can get the output of the HTTP request and automatically turn it into a DOMDocument object by accessing it as this.responseXML.documentElement.

RSS Reader After the DOMDocument instance is set up, we do a simple XPath query to get the title and iterate over the items to get the data about the individual posts. Next step is to populate the TableView. To do this we create several Titanium.UI.TableViewRow objects and then append them to our TableView.Titanium.UI.TableViewRow Last step is to add functionality so that when an item in the TableView is clicked, the Android web browser will open to that specific post. Our code needs to listen for a click event on a TableViewRow and then launch a Titanium.Android.Intent. Titanium.Android.Intent

RSS Reader Click on a link

Competitors Purpose to enable cross-platform mobile application development

PhoneGap vs Titanium PhoneGap-HTML based solution. Titanium-Pure javaScript API. PhoneGap runs in a native web browser view. Appcelerator compiles to Native Code. PhoneGap promotes code re-use and easiest transition from desktop to mobile. Appcelerator higher level API for native mobile development.

Differences

How to Choose??? Options seem endless. Native app? Cross-platform solution? HTML5? Or A mix? Where should a developer to start? What should a growing business invest in? Like most things in life, it depends.