1 Developing Applications for ios Lecture 1: Mobile Applications Development Radu Ionescu Faculty of Mathematics and Computer Science University of Bucharest
2 Content Key concepts of mobile applications development Limitations of mobile devices Features of mobile devices General advices Overview of the mobile environments Requirements ios Overview ios Technology Layers
3 Introduction Mobile applications development is the process of building software applications for small handheld devices such as mobile phones, personal digital assistants, tablets, etc.
4 Introduction Platforms for mobile applications: Android, ios, BlackBerry OS, Windows Phone, HP webos, Symbian, etc. Mobile applications are pre-installed on phones during manufacturing, or downloaded by customers from various mobile software distribution systems: App Store (ios), Android Market (Android), OVI Store (Nokia), etc.
5 Key concepts Smartphones and tablets are becoming the computer of choice for more and more people. Despite the attention paid to mobile development in the last years, a lot of developers still lack the basics when it comes to building mobile applications. Many developers are just used to the desktop.
6 Key concepts Even if it may be easy to make an application, it is hard to create a good user experience. Mobile devices have different limitations and features compared to the desktop computers. The emergence of mobile devices and their smaller screens means some serious adjustments in perspective.
7 Key concepts We need to make a transition to a new perspective.
8 Limitations of mobile devices Smaller screen: Instead of building for large PC screens (13 to 27 inches wide), developers could be dealing with a 2 to 5 inches wide Android, iphone or BlackBerry screen. Because of the screen size constraint, every pixel counts to some degree. Even the ipad's larger screen (7.3 by 9.5 inches) needs to be considered differently because the screen resolution is still less that of most desktop monitors.
9 Limitations of mobile devices Less memory and bandwidth: Mobile devices really do not have a lot of memory. Although a typical PC can have 4-8 GB of memory, a smartphone might have just 128 MB. (e.g.: developers loading 100 images onto a phone would run out of memory) Network connectivity for smartphones and tablets incurs limits on downloading. Memory, space and battery life are some of the parameters that have to be taken into account when you develop all your apps.
10 Limitations of mobile devices Different user interaction: Mobile devices have no mouse. The physical keyboard is much smaller or even missing. This means mobile applications don't respond to double clicks or keyboard shortcuts. Most smartphones can interact using touch screens or capacitive displays. This can also be a feature.
11 Features of mobile devices Better user interaction: Most smartphones can interact using touch screens or capacitive displays. Capacitive displays enable the use of multi-touch gestures which allow a natural interaction with the device. (e.g.: pinch-open to zoom in, pinch-close to zoom-out, swipe to delete, etc.)
12 Features of mobile devices Using multi-touch gestures
13 Features of mobile devices Using built-in devices: Most smartphones have built-in devices such as: camera, accelerometer, gyroscope, GPS, compass, etc. Mobile applications should make use of this capabilities whenever this is possible. Detecting the device orientation using the accelerometer (to adjust the display) can be used for creating a better user experience. Building augmented reality applications requires the GPS, the compass, the camera and even the accelerometer.
14 Features of mobile devices Using built-in devices for mobile applications
15 General Advices Focus on user experience: reduce navigation for users, go with defaults, remember what users did last time. Choose carefully between native and web development: web-based development is less expensive and not as complex, but it doesn't deliver the kind of experience the user might expect. Think about how to take advantage of location: location services enable developers to offer a more customized experience.
16 General Advices Design and code for touch interfaces: developers need to understand the user flows first, then translate the basis of touch interfaces into coding language. Expect users to make mistakes: developers should anticipate users pressing the wrong buttons. Smaller size of smartphones and unfamiliar users guarantee input mistakes. Mobile applications should be more tolerant and recover without extra effort.
17 Simple can be harder than complex: You have to work hard to get your thinking clean to make it simple. But it s worth it in the end because once you get there, you can move mountains. - Steve Jobs
18 Overview of the mobile environments Each of the platforms for mobile applications has an IDE which provides tools to allow a developer to write, test and deploy applications into the target platform environment. An alternative to native applications are web-based mobile applications which are less expensive to build. This alternative represents a trade-off between cost and user experience.
19 Android Developers can use Eclipse or NetBeans IDEs to build applications using the Java programming language. Android is based on a Linux kernel with libraries and APIs written in C. There are more than apps available for Android, that can be downloaded from online stores such as Android Market.
20 Windows Phone Developers can build applications with Visual Studio 2010 IDE using the C# programming language. Windows Phone is the successor of Windows Mobile. It's a new mobile operating system compared to Android and ios. The applications are available in the Windows Phone Marketplace.
21 ios Integrated with Xcode IDE. Developers must have Intelbased Mac computers and Mac OS X Snow Leopard or Lion installed. ios applications are based on a propretary programming language, called Objective-C. This is an OOP language derived from C. ios is based on a UNIX kernel with libraries written in C and Objective-C.
22 Requirements Must have an Intel-based Mac with Snow Leopard or Lion installed. Hardware: iphone 4/4S/5, ipod Touch 4th/5th Generation, ipad 1/2/3 Textbook: Apple online documentation Prerequisites: Object-Oriented Programming
23 Requirements Object-Oriented Terms: Class (description/template for an object) Instance (manifestation of a class) Message (sent to objects to make them act) Method (code invoked by a Message) Instance Variable (object-specific storage) Inheritance (code-sharing mechanism) Superclass/Subclass (Inheritance relationships) Protocol (non-class-specific method declaration)
24 What will I learn in this course? How to build cool ios apps: Easy to build even for very complex applications. Join a vibrant development community. Real-life Object-Oriented Programming: The heart of Cocoa Touch is 100% object-oriented. Application of MVC design model. Many computer science concepts applied in a commercial development platform: Databases, Graphics, Multimedia, Multithreading, Animation, Networking and much more. We want you to be able to go on and sell products on the AppStore.
25 ios Overview ios comprises the operating system and technologies that you use to run applications natively on devices, such as ipad, iphone, and ipod Touch. Although it shares a common heritage and many underlying technologies with Mac OS X, ios was designed to meet the needs of a mobile environment, where users needs are slightly diferent. Some technologies are available only on ios, such as the Multi-Touch interface and accelerometer support.
26 ios SDK Overview The ios SDK contains the code, information, and tools you need to develop, test, run, debug, and tune applications for ios. Xcode provides the launching point for testing your applications on an ios device, and in ios Simulator. ios Simulator is a platform that mimics the basic ios environment but runs on your local Macintosh computer.
27 Platform Components Tools Language [label settextcolor:[uicolor bluecolor]]; Frameworks Core Data Foundation Map Kit Core Motion Design Strategies MVC UI Kit
28 ios SDK Overview Xcode and ios Simulator:
29 ios Technology Layers The kernel in ios is based on a variant of the same basic Mach kernel that is found in Mac OS X. On top of this UNIX kernel are the layers of services that are used to implement applications on the platform. This layering gives you choices when it comes to implementing your code.
30 ios Technology Layers The Core OS and Core Services layers contain the fundamental interfaces for ios, including those used for accessing low-level data types, network sockets, and so on. On the upper layers you find more advanced technologies. For example, the Media layer contains the fundamental technologies used to support 2D and 3D drawing, audio, and video.
31 ios Technology Layers Core OS: OSX Kernel Power Management Mach 3.0 Keychain Access BSD Sockets Certificates POSIX Threads File System Security Bonjour and DNS Services
35 Practical Advice The starting point for any new project is the Cocoa Touch layer, and the UIKit framework in particular. When deciding what additional technologies to use, you should start with frameworks in the higher-level layers. The higher-level frameworks make it easy to support standard system behaviors with the least amount of effort on your part. You should fall back to the lower-level frameworks only if you want to implement custom behavior that is not provided at a higher level.
36 Next Time MVC Design Concept Introduction to Objective-C Objective-C Example
v ios Mobile Operating Systems is an open source operating system widely used on smartphones and tablets. has been available under a free and open source software license from October 21, 2008 and until
Mobility Introduction Android Duration 16 Working days Start Date 1 st Oct 2013 Day 1 1. Introduction to Mobility 1.1. Mobility Paradigm 1.2. Desktop to Mobile 1.3. Evolution of the Mobile 1.4. Smart phone
Chapter 1 Introduction to ios Development Objectives: Touch on the history of ios and the devices that support this operating system. Understand the different types of Apple Developer accounts. Introduce
Mobile Application Development Lecture 14 ios SDK 2013/2014 Parma Università degli Studi di Parma Lecture Summary ios operating system ios SDK Tools of the trade ModelViewController MVC interaction patterns
ICAPRG601A Develop advanced mobile multi-touch applications Release: 1 ICAPRG601A Develop advanced mobile multi-touch applications Modification History Release Release 1 Comments This Unit first released
Bachelor s Thesis Degree Programme in Information Technology Specialization: Internet Technology 2014 Razaq Adeleke Shonubi COMPARING APPLE S IOS WITH SAMSUNG S BADA MOBILE SOFTWARE DEVELOPMENT PLATFORMS
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
Android in opposition to iphone Kavita Sharma Ph.D Student Singhania University, Rajasthan Abstract-- The paper is an analysis and comparison of the android mobile OS with the iphone which have ruled the
Module Title: Software Development A: Mobile Application Development Module Code: SDA SDA prerequisites: CT1, HS1, MS001, CA Award of BSc. In Information Technology The Bachelor of Science in Information
Introduction of ios Application Development & Swift Programming Language Presented by Chii Chang firstname.lastname@example.org Outlines Basic understanding about ios App Development Development environment: Xcode IDE Foundations
Mobile App Design and Development The course includes following topics: Apps Development 101 Introduction to mobile devices and administrative: Mobile devices vs. desktop devices ARM and intel architectures
June 2012 Native ipad Apps? Why should I care? What makes the ipad (and its sibling the iphone) so special? Why do users seem to love working on the device? The overwhelming reaction to both of these questions
CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup Emmanuel Agu What is Android? Android is world s leading mobile operating system Google: Owns Android, maintains it, extends
Basic Android Development Course ID: Page 1 Last Updated 12/15/2014 Basic Android Development ITG Software Engineering Course Overview: This 5 day course gives students the fundamental basics of Android
Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7 Jeff Linwood 1st Chapter, Early Release Introduction... 3 Prerequisites... 3 Introduction to Mobile Apps...
Developing and deploying mobile apps 1 Overview HTML5: write once, run anywhere for developing mobile applications 2 Native app alternative Android -- Java ios -- Objective-C Windows Mobile -- MS tools
Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
ios App Development for Everyone Kevin McNeish Getting Started Plugging into the Mother Ship Welcome! This is the part of the book where you learn how to get yourself and your computer set for App development
Mobile Operating Systems Week I Overview Introduction Mobile Operating System Structure Mobile Operating System Platforms Java ME Platform Palm OS Symbian OS Linux OS Windows Mobile OS BlackBerry OS iphone
Objective C and iphone App 6 Months Course Description: Understanding the Objective-C programming language is critical to becoming a successful iphone developer. This class is designed to teach you a solid
These slides are by Dr. Jaerock Kwon at. The original URL is http://kettering.jrkwon.com/sites/default/files/2011-2/ce-491/lecture/alecture-01.pdf so please use that instead of pointing to this local copy
Mobile Application Development Introduction Fermion is an outsourced product development company. Our competencies lie in setting up dedicated offshore software development teams for outsourced product
SECOND EDITION Learning ios Programming Alasdair Allan Beijing Cambridge Farnham Koln Sebastopol O'REILLY Tokyo Table of Contents Preface ix 1. Why Go Native? 1 The Pros and Cons 1 Why Write Native Applications?
Developing for the ios Platform Engineer Bainomugisha email@example.com Software Languages Lab. Vrije Universiteit Brussel, Belgium Smartphones Shipments vs PCs You really can t afford to ignore the smartphone
Table of Contents 1. Preface 2. About iphone ios 5 Development Essentials Example Source Code Feedback 3. The Anatomy of an iphone 4S ios 5 Display Wireless Connectivity Wired Connectivity Memory Cameras
PERSONALISED APPLICATION DEVELOPMENT FOR ANDROID MOBILE PHONES N. Leo Bright Tennisson Department of Computer Applications Valliammai Engineering College firstname.lastname@example.org ABSTARCT: This paper gives
Issues in Android on Mobile Platform and Their Resolution 1 Monika A. Ganpate, 2 Dipika R. Shinde 1, 2 Institute of Management and Computer Studies, Thane (West), India, University of Mumbai, India Abstract:
DATABASES AND INFORMATION SYSTEMS H.-M. Haav, A. Kalja and T. Robal (Eds.) Proc. of the 11th International Baltic Conference, Baltic DB&IS 2014 TUT Press, 2014 215 Issues of Hybrid Mobile Application Development
Current and Future Mobile Platforms Hendika Sugiharto Berlin Institute of Technology, Germany email@example.com June 30, 2010 Abstract This paper gives the reader overview about nowdays most used
Cell Phone Operating Systems The first smartphone was the IBM Simon and was designed in 1992. The phone themselves have changed. The most important changes are in the Operating System (OS) Operating Systems
MA-WA1920: Enterprise iphone and ipad Programming Description This 5 day iphone training course teaches application development for the ios platform. It covers iphone, ipad and ipod Touch devices. This
The story so far: Teaching Mobile App Development at PG level at Londonmet Dr. Yanguo Jing Principal Lecturer in Computing University Teaching Fellow Faculty of Computing, London Metropolitan University
COLLIN COLLEGE COURSE SYLLABUS COURSE INFORMATION COURSE NUMBER: ITSE 1371 COURSE TITLE: IOS PROGRAMMING I COURSE DESCRIPTION: This course is intended to prepare the student for development of ios devices,
Using the Jive for ios App TOC 2 Contents App Overview...3 System Requirements... 4 Release Notes...5 Which Version Am I Using?... 6 Connecting to Your Community... 11 Getting Started...12 Using Your Inbox...13
ios Development Tutorial Nikhil Yadav CSE 40816/60816: Pervasive Health 09/09/2011 Healthcare iphone apps Various apps for the iphone available Diagnostic, Diet and Nutrition, Fitness, Emotional Well-being
Literature Review: Starting Mobile Application Development for E-Sports Portal Hayoung Noh Computer Science Honours Programme University of Cape Town 13 May 2014 Abstract Constant demand for mobile applications
1. Subject introduction 2. Mobile / Tablet OSs 3. Software Installation 4. Introduction to Android OS 5. Using Android OS / Devices 6. Eclipse debug with Android app 7. Components of the Android Application
International Journal of Advancements in Research & Technology, Volume 2, Issue3, March-2013 1 Comparative Study of Different Mobile Operating Systems T.N.Sharma, Mahender Kr. Beniwal, Arpita Sharma ABSTRACT:
Flash ios Apps Cookbook 100 practical recipes for developing ios apps with Flash Professional and Adobe AIR Christopher Caleb PUBLISHING BIRMINGHAM - MUMBAI Preface 1 Chapter 1: Getting Started with ios
Here to take you beyond Mobile Application development using Android Course details Mobile Application Development using Android Objectives: To get you started with writing mobile application using Android
Android Architecture Alexandra Harrison & Jake Saxton Overview History of Android Architecture Five Layers Linux Kernel Android Runtime Libraries Application Framework Applications Summary History 2003
6 Mobile Operating Systems Figure 6.1. Windows Phone 7 s hub-based interface, made up of live tiles and information aggregation Every phone needs some type of operating system to run its services: making
Flash vs HTML5 ipad, a revolutionary device Apple Lightweight and portable Sufficient battery life Completely Wireless Convenient multitouch interface Huge number of apps (some of them are useful) No Flash
ArcGIS Runtime SDKs for ios and Android David Cardella @dcardella Agenda What are the ios and Android Runtime SDKs Who is it for? What can you do with the API? Deploying your apps How do you get started?
Recommended Browsers Skyward recognizes the diverse Operating Systems, Devices, and Internet browsers our customers are using. While we want every customer to have the best possible experience, we recognize
geniu po About Geniusport: GeniusPort is a Pioneer and India's No. 1 Training Center for Mobile Technologies like Apple ios, Google Android and Windows 8 Applications Development. A one stop destination
OVERVIEW Logbook9.fmp12 is a data file that can be run interchangeably on an iphone, ipad, ipod touch, PC or Mac. It can be used to collect information about clinical cases that may subsequently be collated
Android Development Lecture 0 Mobile Development Introduction Università Degli Studi di Parma Lecture Summary 2 Introduction and Motivations Mobile device History/Timeline Market Growth (Causes / Effects)
apple Xcode 4.2 Includes SDKs for Mac OS X 10.7 Lion and ios 5 Contents Introduction About SDKs Installation Deprecation Notice Introduction Xcode is the complete developer toolset for creating applications
CS378 -Mobile Computing Android Overview and Android Development Environment What is Android? A software stack for mobile devices that includes An operating system Middleware Key Applications Uses Linux
research: technical implemenation topic: digital publication of the annually c/kompass information brochure on iphone/ipod touch with the target to have an advantage over the printed version possible solutions:
Introduction to cross-platform mobile development with Clément Guérin Licence Professionnelle Création Multimédia March 6, 2012 Clément Guérin Introduction to Titanium 1/ 43 Outline Introduction Smartphones
Cloud Computing for Education Workshop 2012 Copyright REZA CURTMOLA, NJIT Why Should You Learn This? Learn some useful software and services Backup and sync your materials for teaching Data reliability
Cross-Platform Mobile Apps Solution Prepared by Kevin Mullins CEO and Chief Developer Appracatappra, LLC. 709 Gale Street #8 Seabrook, TX 77586 firstname.lastname@example.org http://appracatappra.com Table
Table of Contents Table of Contents... 1 Installation... 2 Obtaining the Installer... 2 Installation Using the Installer... 2 Site Configuration... 2 Feature Activation... 2 Definition of a Mobile Application
1 III. The most important things you need to know about iphone app/game development There are lots of people who think they possess the quality to make a fundamental change on Apple s itunes store, but
Technology Services...Ahead of Times Enterprise Application on ipad Diaspark, 60/2 Babu Labhchand Chhajlani Marg, Indore M.P. (India) 452009 Overview This white paper talks about the capabilities of ipad
The 8 th International Scientific Conference elearning and software for Education Bucharest, April 26-27, 2012 10.5682/2066-026X-12-115 TRADE-OFFS IN DEVELOPING HIGHLY INTERACTIVE MLEARNING CONTENT USING
Mobile Application Development ITP 342 (3 Units) Fall 2013 Objective This course teaches how to develop applications for mobile devices such as iphones and ipads (ios). We will go through the process of
Writing your first Application for ArcGIS Runtime SDK for ios and Android Aditya Mehta & Thomas Binu, GISTEC Agenda The ArcGIS System for Mobile Native Applications ios Runtime SDK Display Maps Perform
Chapter 2 The Mobile Device and Operating System Landscape 50 billion connected devices by 2020. Ericsson, 2010 Networked computers. Connected devices. Mobile devices. Machine-to-machine (M2M). On-the-Go
Android Mobile App Building Tutorial Seidenberg-CSIS, Pace University This mobile app building tutorial is for high school and college students to participate in Mobile App Development Contest Workshop.
Tablets in Data Acquisition Introduction In the drive to smaller and smaller data acquisition systems, tablet computers bring a great appeal. Desktop personal computers gave engineers the power to create
Android (Basic + Advance) Application Development You will learn how to create custom widgets, create animations, work with camera, use sensors, create and use advanced content providers and much more.
Android Lecture 1 Learning Android Marko Gargenta Final Project Jan/Feb: ARM March: Android Apr: Final project Complexity Sense the world Analysis Service delivery Hands-on A fun project built-up through
CREATING ANDROID AND IPHONE APPLICATIONS Richard Wagner WILEY Wiley Publishing, Inc. INTRODUCTION xv CHAPTER 1: INTRODUCING FLASH DEVELOPMENT FOR MOBILE DEVICES 3 Expanding to the Mobile World 3 Discovering
IJISET - International Journal of Innovative Science, Engineering & Technology, Vol. 2 Issue 6, June 2015. www.ijiset.com Android 5.0: Lollipop OS ISSN 2348 7968 Meenakshi M.Tech Student, Department of
with with Student Getting Started Guide TABLE OF CONTENTS Table of Contents FIRST STEPS TO ENSURE SUCCESS... 3 Ensure System Requirements are met on Your Computer... 3 Find Out Which Operating System Is
Mobile Game and App Development the Easy Way Developed and maintained by Pocketeers Limited (http://www.pocketeers.co.uk). For support please visit http://www.appeasymobile.com This document is protected
Answers to Your Frequently Asked Questions About the Microsoft Office365 Program for Pasadena City College Faculty and Staff Microsoft Student Advantage What is the Microsoft Office365 Program for Pasadena
TECHNOLOGIES MOBILE STRATEGY CONFIDENTIAL AND COPYRIGHT NOTICE The information contained in this document is the exclusive property of IMQS Software (Pty) Ltd. and any respective copyright owners. This
ios Technology Overview Contents About the ios Technologies 7 At a Glance 7 The ios Architecture is Layered 7 The ios Technologies Are Packaged as Frameworks 8 ios and OS X Share Many of the Same Frameworks
ios App for Mobile Website Documentation What is IOS App for Mobile Website? IOS App for Mobile Website allows you to run any website inside it and if that website is responsive or mobile compatible, you
Hands- On Training for Android and ios Software Developers Hands- On Training Conquers the Learning Curve Your mobile development projects are important. We give you the knowledge and skills to get started