Date post: | 28-Jan-2015 |
Category: |
Technology |
Upload: | sarankumar-rajagopal |
View: | 653 times |
Download: | 1 times |
1
Mobile Technologies
History of Phones
2
Alexander Graham Bell (1876)
Everyday life‘s tools
3
Computer
Fax
Radio
Music player
Word processor Credit cards
Everyday life‘s tools
4
Computer
Fax
Radio
Music player
Word processor
Smart phone
Mobile phones are first introduced in mid 1980s
Additional features can be installed
Mobile applications
• Banking (check balance, make transaction)• Restaurant (order and payment)• Mobile Payment (ticket, vending machine)• Tourism: tourist guide• Education: mobile learning• Entertainment: interactive digital art• Scientific: controlling and monitoring
5
There are Many types of mobile operating systems (OS) are available for Smartphone’s, that including: Android, BlackBerry OS, webOS, iOS, Symbian, Windows Mobile, Bada, etc.Among the most popular are the Apple iPhone, Android, and blackberry.
Mobile Operating System
6
Up-Coming Mobile OS
• Aliyun OS from Alibaba/AliCloud (cloud based)• BlackBerry 10 from RIM• Firefox OS from non-profit organization Mozilla
Foundation (open source, GPL)• Tizen from non-profit organization The Linux
Foundation (open source, GPL) Logo’s
Mobile Operating System
• Android from Google Inc.(free and open source)• Bada from Samsung Electronics (closed source,
proprietary)• BlackBerry OS from RIM (closed source, proprietary)• iOS from Apple Inc. (closed source, proprietary, on top
of open source Darwin core OS)• S40 (Series40) from Nokia (closed source, proprietary)• Symbian OS from Nokia and Accenture (open public
license)• Windows Phone from Microsoft (closed source,
proprietary)
7
Top Five Worldwide Total Mobile Phone Vendors, Q1 2012
Rank Manufacturer Shipments Year-over-year Change
1 Samsung 42.2% 267.0%
2 Apple 35.1% 88.7%
3 Nokia 11.90% -50.8%
4 RIM 9.70% -29.7%
5 HTC 6.9% -23.3%
Others 39.1% 59.6%
Market share
8
iOS - Introduction
• iOS is Apple’s mobile operating system derived from Mac OS X. Developed originally for iPhone it has since been shipped on the iPod Touch and iPad as well.
• In iOS, there are four abstraction layers:• The core OS layer, The core services layer, The Media layer, The
Cocoa touch layer.• The iPhone SDK contains the code, information and tools which
need to develop, test, run, debug and the applications for iOS.• The Xcode tools provide the basic editing, compilation, and
debugging environment for the code, Xcode also provides the launching point for testing applications
9
Company/developer Apple inc.Programming C,C++,Objective-COS family Mac OS X/UNIX likeKernel Type Hybrid (Darwin)Default user interface Cocoa Touch (MultiTouch, GUI)Supported Platforms ARM(iPhone, iPod Touch and iPad)
10
• The release of Xcode 3.1, Xcode is the development environment for the iOS SDK. IPhone applications, like iOS and OS X, are written in Objective-C, Action Script, Xcode, Flash Builder, Flash, Photoshop, Blender, Eclipse, Java, Microprocessor programming (Propeller, BASIC, and PIC), Cocoa, Agile, Usability, Web Services, JavaScript, jQuery, Social Web Trends and MXML. IOS based on cloud called has iCloud
iOS – Development Tools
11
Cocoa in the architecture of iOS
The application-framework layer of iOS is called Cocoa Touch.
IPhone SDK - New Project
12
• Android is Based on Linux Kernel.• Developed by Google and later open Handset Alliance.• Open Source under the Apache 2 License.• Android is kernel based on the Linux kernel 2.6 and Linux
Kernel 3.x (Android 4.0 onwards), with middleware, libraries and APIs written in C, C++, Java. Architecture: ARM, MIPS, Power Architecture, x86. Package manager: APK.
13
Android OS - Google
14
Android - System Architecture
• BlackBerry OS developed by Research in Motion (RIM).• The BlackBerry platform is perhaps best known for its native support for
corporate email, through MIDP 1.0 and, more recently.• A subset of MIDP 2.0, which allows complete wireless activation and
synchronization with Microsoft Exchange, Lotus Domino, or Novell GroupWise email, calendar, tasks, notes, and contacts, when used with BlackBerry Enterprise Server. The operating system also supports WAP 1.2.
• The OS provides support for Java MIDP 1.0, WAP 1.2. Kernel type: Java virtual machine
• Third-party developers can write software using the available BlackBerry API classes, although applications that make use of certain functionality must be digitally signed.
• C++ Standard Library or Java API contained in the JDK or JRE, of one of the editions of the Java Platform. The three editions of the Java Platform are Java ME (Micro edition), Java SE (Standard edition), and Java EE (Enterprise edition).
• APIs are defined according to a Java Specification Request (JSR), and sometimes some of these APIs are later included in the core APIs of the platform (the most notable example of this kind is Swing)
15
BlackBerry OS
16
Java virtual machine
• Windows Phone is a family of mobile operating systems developed by Microsoft
• Microsoft created a new user interface, featuring its design language called Modern Style UI.
• Metro is an internal code name of a typography-based design language created by Microsoft, originally for use in Windows Phone 7. Early uses of the Metro principles began as early as Microsoft Encarta 95 and MSN 2.0, and later evolved into Windows Media Center and Zune.
• Package manager: Zune Software, from various independent developers made using XNA Game Studio or OpenZDK, which use C# and C++ respectively
• Kernel type: Monolithic (Windows CE) (Windows Phone 7), Hybrid (Windows NT) (Windows Phone 8)
• Supported platforms: Qualcomm Snapdragon (Based on ARM V.7 or later)
17
Windows Phone
18
Monolithic kernel - Windows Phone
• Symbian switched to using standard C++ with Qt as the main SDK, which can be used with either Qt Creator or Carbide.c++.
• Qt supports the older Symbian/S60 3rd (starting with Feature Pack 1, aka S60 3.1) and Symbian/S60 5th Edition (aka S60 5.0) releases, as well as the new Symbian platform. It also supports Maemo and MeeGo, Windows, Linux and Mac OS X
• Application development can be done using Python (see Python for S60), Adobe Flash Lite or Java ME.
• Symbian devices can also be programmed using Python, Java ME, Flash Lite, Ruby, .NET, Web Runtime (WRT) Widgets and Standard C/C++. Visual Basic programmers can use NS Basic to develop apps for S60 3rd Edition and UIQ 3 devices.
19
Symbian
20
Monolithic kernel - Symbian
21
Comparison of Mobile OSFeature iOS Android webOS
WindowsMobile
Windows PhoneBlackBerry
OS
Company Apple
Open Handset Alliance/ Google
Palm, Inc (HP)
Microsoft Microsoft RIM
OS Family Darwin Linux LinuxWindows CE 5.2
Windows CE 7 / Windows NT 8
Mobile OS
Supported CPU Arch
ARM
ARM, MIPS, Power Architecture, x86
ARM ARM ARM ARM
ProgramC, C++, Objective-C
C, C++, Java CMany, C++, .NET, Lazarus
7+: XNA(.NET C#), Silverlight, native C/C++(only for vendors and partners) 8+: XNA(.NET C#), VB.NET, Silverlight, native C/C++, WinRTP (XMLA), DirectX
Java
Package manager
iTunes APK
App Catalog (Official)Preware (3rd party homebrew)
Windows Mobile Device Center/ ActiveSync
Zune SoftwareBlackBerry Desktop Manager
• Search Code for Android:• Android, brightcove, Kernal, Aurasma, Java, Node.js, Ruby, UX,
OOD, C/C++, Linux kernel modules, JEE, Web Services, Apache, AJAX, Javascript, jQuery, HTML5, JSON, REST, XML, SOAP, SVN, cloud computing, EC2, JavaScript, Maven, ant, Hudson, SVG, VML, hybrid, CISSP, J2ME, Brew, NDKs/SDKs, XSD, API, Sql, XSD, Tapestry, spring, Objective-C, OOD, SQLite, Test-Driven Development(TDD) Python, Django, HTML/CSS, Javascript, Node.js, jQuery UI, JS, IDE, MATLAB
• Search Code for iOS:• Objective-C, Action Script, Xcode, Flash Builder, Flash,
Photoshop, Blender, Eclipse, Java, Microprocessor programming (Propeller, BASIC, and PIC), Cocoa, Agile, Usability, Web Services, JavaScript, jQuery, Social Web Trends and MXML. IOS
22
Search String
Job Title: Mobile DeveloperLocation: Philadelphia, PA
• Strong background in mobile design patterns, HTML and Javascript• Experience developing with iPhone SDK, Cocoa, Interface Builder,
Objective-C and Xcode OR Eclipse, Java and Android Libraries• Familiarity with using Web APIs and with Cross Platform Mobile
Development techniques is a plus • Experience with mobile video or commerce is highly desired• Experience creating pure native iOS, Android apps.• Solid understanding and hands on programming in any object
oriented languages like JAVA, C++.• Proficient in web development, AJAX, Javascript, jQuery and HTML5• Experience developing mobile apps using PhoneGap and/or Sencha
Touch• Solid understanding of JSON, REST, XML and SOAP• Involved with all aspects of the software development lifecycle:
Design, Documentation, Implementation, Delivery, etc.• Experience with source control like SVN is a plus
23
JD - iOS Developer
Job Title: Sr Mobile Apps Developer - iPhone/iOSLocation: San Francisco, CA
Qualifications• Experience developing Mobile Applications using Native and Web
technologies• Strong experience with iOS (Android a plus). Proven ability in iOS
development• 3+ years of experience with shipping Mobile Apps.• Expert experience with Objective-C• Strong experience in HTML5, JavaScript, Jquery, Node.js,
Backbone.js and other Mobile Web technologies• Experience creating and consuming REST web services with JSON
output.• Experience building rich client-side applications based on REST APIs • Experience with Java and Android development is a huge plus• Experience with multiple mobile platforms highly preferred• Strong grasp of CS fundamentals, algorithms, data structures, and
design patterns
24
JD - iOS Developer
Job Title: Sr. Android Software EngineerLocation: San Jose, CARequired Skills:• Expert experience in Android application development.• 7+ years of experience in software development (design and
implementation).• Delivered killer apps to a huge user base.• Proficient with Java/C++.• Strong Android SDK experience.• Ability to understand and Parse XML, JSON and Serialized data..• Ability to work in a fast paced, iterative development environment
with short turn-around times.• Advanced software architecture and design skills, including object
oriented design.• Strong communication skills with the ability to understand and
explain technical issues to a non-technical audience.• Familiarity with fundamental web and mobile technologies (HTML5,
CSS, and JS etc) is a plus.
25
JD – Android Developer