Mobile and Social Computing

Similar documents
Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

How To Use Titanium Studio

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Android Mobile App Building Tutorial

Making Mobile a Reality

Native apps building platform

01. Introduction of Android

Cross-Platform Mobile Apps Solution

Lecture 4 Cross-Platform Development. <lecturer, date>

JC Now. Case Study in Building an App on the Cheap. Nick O Day GIS Manager. be the exception

SYST35300 Hybrid Mobile Application Development

New Features in XE8. Marco Cantù RAD Studio Product Manager

Cross-Platform Development

Getting Started with Android Development

1) SETUP ANDROID STUDIO

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

OpenCV on Android Platforms

Introduction to cross-platform mobile development with Appcelerator Titanium

Setting up Sudoku example on Android Studio

WHITEPAPER. Pros & cons of native vs cross-platform mobile development with Xamarin

The power of root on Android emulators

MENDIX FOR MOBILE APP DEVELOPMENT WHITE PAPER

Best practices building multi-platform apps. John Hasthorpe & Josh Venman

About this Release. Introduction. Prerequisites. Installation. Using the Web SDK Packager

All About Android WHAT IS ANDROID?

Android Architecture. Alexandra Harrison & Jake Saxton

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Cross Platform Applications with IBM Worklight

MSWL Development & Tool. Eclipse IDE

Developing and deploying mobile apps

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application

Installing the Android SDK

Device Enrollment Guide

Operational Decision Manager Worklight Integration

Workshop on Android and Applications Development

imaginea white paper

Adobe Summit 2015 Lab 712: Building Mobile Apps: A PhoneGap Enterprise Introduction for Developers

Setting Up Your Android Development Environment. For Mac OS X (10.6.8) v1.0. By GoNorthWest. 3 April 2012

How To Develop Android On Your Computer Or Tablet Or Phone

Overview of CS 282 & Android

How Simple Is It To Develop a Mobile App? Uma Sudhan OpenEdge Developer 7 th Oct 2013

Develop native android apps And port to other platforms

Adobe Summit 2015 Lab 718: Managing Mobile Apps: A PhoneGap Enterprise Introduction for Marketers

Programming with Android: SDK install and initial setup. Dipartimento di Informatica: Scienza e Ingegneria Università di Bologna

Android Development Setup [Revision Date: 02/16/11]

Following statistics will show you the importance of mobile applications in this smart era,

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

Android Programming and Security

Article. One for All Apps in HTML5

Take full advantage of IBM s IDEs for end- to- end mobile development

Access the UTHSCSA Palo Alto Networks (PAN) VPN using Global Protect VPN client and Two Factor Authentication (2FA)

Introduction to IBM Worklight Mobile Platform

BI-RADS Atlas 5th Edition e-book Download Instructions (Updated: 12/11/14)

Download and Installation Instructions. Android SDK and Android Development Tools (ADT) Microsoft Windows

CSA Software Listing Table of Contents. Both Windows and Mac platforms are supported.

Additional details >>> HERE <<<

ITG Software Engineering

Module Title: Software Development A: Mobile Application Development

Lab: Developing Mobile Web Apps. Adage Technologies adagetechnologies.com

Fahim Uddin 1. Java SDK

Multi-Platform Mobile Application Development Analysis. Lisandro Delía Nicolás Galdámez Pablo Thomas Leonardo Corbalán Patricia Pesado

A Way Out of the Mobile App Development Conundrum

Your guide to building great apps. Upgrade your skills and update your tools to create the next great app

Cloud Services MDM. Control Panel Provisioning Guide

Etanova Enterprise Solutions

Available on VitalSource

Introduction to Android Development. Jeff Avery CS349, Mar 2013

Client Overview. Engagement Situation

Download and Installation Instructions. Android SDK and Android Development Tools (ADT)

QML and JavaScript for Native App Development

Developing Applications for ios

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

Access the TCNJ Palo Alto Networks VPN using the GlobalProtect VPN client

Developing with Android Studio

Basic Android Setup Windows Version

SAP Web IDE Hybrid App Toolkit Add-on

THE BUSINESS CASE FOR HYBRID HTML5 MOBILE APPS

ArcGIS Web Mapping. Sam Berg, esri

CMS, CRM, shopping carts, Web applications

The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, / X

Android 5.0: Lollipop OS

Mobile App Design and Development

Abila Nonprofit Online. Connection Guide

As it relates to Android Studio. By Phil Malone:

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

A Modular Approach to Teaching Mobile APPS Development

Lab 0 (Setting up your Development Environment) Week 1

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Mobile Application Development

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Chapter 13: Program Development and Programming Languages

How To Develop An Android App On An Android Device

How to Use the Billericay School Portal


Getting Started with VMware Horizon View (Remote Desktop Access)

Mobile App Development

Tutorial on Basic Android Setup

Cross-platform mobile development with Visual C

Transcription:

ì Mobile and Social Computing A.A. 2015/16 Lesson 1 Introduction to mobile and social computing

About me Ing. Francesco Florio Mobile designer and developer since 2009 GDG Cosenza manager Teacher for University and companies floriofrancesco@gmail.com via J.F. Kennedy, 126 Rende (CS) http://staff.icar.cnr.it/folino/msc/ http://bit.ly/msc2015-16

About the course Course goals Strong Know-how about mobile design and development Build complex and fully-featured Android applications How to develop on the ios platform Use the social networks to improve your Apps Final Exam Build a complete Android mobile application (ios?) alone or in a small group Oral examination about the course topics and the project build.

About the tutoring The tutoring (~ 36 hours) will be divided into: Introduction to ios development Social network Android development Introduction to the different mobile platforms

Lesson 1 - Topics Mobile world, today How to choose a mobile platform How to create an App How to start developing

Mobile world, today There are more connected mobile devices than people on earth One years ago: 7,22 billions of mobile device connected versus 7,2 billions of people on earth Mobile devices overtook deskop/laptop devices on consumption of data traffic Web E-commerce Social network Multimedia Gaming Advertising

Mobile world, today The main actors in the world of the mobile operating systems

Mobile world, today Source: https://netmarketshare.com

Development approaches Native Use the official platform SDK and the development language (i.e. Java for Android, Objective-C or Swift for ios, etc ) No code reused for multi-platform applications Better user experience (UI and performance) All platform features are available

Development approaches Cross-platform Multi-platform applications are written with a single language (ie. Javascript, actionscript, C#) and compiled/built for each platforms Ionic: http://ionicframework.com/ AppAccelerator: http://www.appcelerator.com/ Xamarin: https://xamarin.com/ Code reuse (~ 80%) Not good user experience Not all features are available Stability problems during platform upgrade

Limits of the mobile development One single application active Applications can run in background but their behaviours are limited (in time and resources) An application runs in a single and fixed window A limited set of devices are trying to go beyond this limit Mobile applications have limited resources i.e. memory, display, battery and so on Applications have a well defined lifecycle For security reasons, applications run in a sandbox with specific permissions granted by the user

Which mobile platform? Android Is the most diffused mobile OS Development is free Open-source Documentation, tutorials and guides are public access SDK, IDE and tools are available for free for all desktop os (windows, osx, linux) To distribute via Play Store a license is required (about 35$ una tantum) but it is facultative. Alternative markets Development based on well-known technologies Java & XML C/C++ for native development (Android NDK) Android system is evolving constantly

Which mobile platform? ios Is the most remunerative OS Is a closed platform Development is expansive Documentation, tutorials and guides are public access, but IDE and tools are available only for the latest versions of Mac OS X Subscription to the Apple developer portal costs 99 /year and it is mandatory to distribute applications via AppStore Development is based on specific languages Objective-C and Swift Devices are expansive ios ecosystem is evolving constantly

Android and ios ecosystems From mobile to pervasive computing

Create an App How to evaluate if an idea is so good to spend time and money in its development? The idea is valid if: users have a reason why to download it Give exclusive functionalities and contents Resolve a specific problem in a simple way Could be necessary for specific activities take advantage of mobile device features Geolocation Push notifications Mobility

Create an App There are diffent categories of mobile applications Health Productivity News Social networking Multimedia Gaming Each of this categories has specific features and behaviours Take a look about competitors Is there an App like mine? Why is my App better than its competitors?

Getting started with ios Official documentation https://developer.apple.com/library/ios/navigation/ Udacity online free course (~ 24 hours) https://www.udacity.com/course/intro-to-ios-app-development-withswift--ud585 Free swift 2.1 ebook https://itunes.apple.com/it/book/swift-programming-language/ id1002622538?mt=11 Other books http://www.amazon.it/ios-programming-fundamentals-swift-basics/ dp/1491936770/

Getting started with Android Official documentation http://developer.android.com/ Udacity free access course material https://www.udacity.com/course/android-development-for-beginners-- ud837 https://www.udacity.com/course/developing-android-apps--ud853 Almost all books are focused on Android 4.0. They are a good point to start development, but more changes will be introduced in Android 6.0 Marshmallow.

Getting started with Android IDE and developing tools https://developer.android.com/sdk/index.html

Getting started with Android Android Build System (adb) Toolkit used to compile, test and run applications Before this task are based on ANT, now is based on Gradle extension for Android The build files are named build.gradle There are one file for the project and one for each module Groovy syntax Define all features and dependencies of project and modules. It also allow to add business logic during build time. References http://developer.android.com/tools/building/plugin-for-gradle.html http://www.gradle.org/ http://groovy.codehaus.org/

Getting started with Android Run your application Device It is racommended to have a real device Cheap devices are ok, but certified by Google and with android 4.0 or above Emulator Android Emulator Official emulator with all features enabled (i.e. google play services) Can emulate smartphone, tablet, wear, tv Good performance only with high-performance PCs Genymotion Third part emulator, free to use (with personal license) A small set of smartphone and tablet emulated (no wear or tv) Very good performance https://www.genymotion.com/

Run your first Android Application Install and configure Android Studio From Quick Start menu choose: Start a new Android Studio project

Run your first Android Application Fill the form and press the Next button

Run your first Android Application Choose the target of the App and press the Next button

Run your first Android Application Choose a template, i.e. a Scrolling Activity

Run your first Android Application Fill the form and press the Finish button

Run your first Android Application Run the application, clicking the play button in the toolbar near the module name

Run your first Android Application

Run sample applications From Quick Start menu choose: Import an Android code sample This task required internet connection!

Run sample applications Choose an example and press Next button

Run sample applications Clicking the finish button, the code will be download from the repository to the Project location defined and automatically loaded into the IDE.

Version control system Create a repository for your projects Version control system (like git, svn, mercurial) Help distributed development (i.e. merging codes) The code is protected from accidental damages Version control system helps developers to control the code growing, and allow to go back to previous versions (if it's necessary) Android Studio contains an integrated git client Bitbucket offers unlimited free and private repositories https://www.bitbucket.org