600 likes | 706 Views
Introduction. App Dev For Mobile Devices NASRULLAH. Mobile application development.
E N D
Introduction App Dev For Mobile Devices NASRULLAH
Mobile application development • Mobile application development is the process by which application software is developed for small low-power handheld devices such as e phones. These applications are either pre-installed on phones during manufacturing, or downloaded by customers from various mobile software distribution platforms
Mobile Operating System • A mobile operating system (mobile OS) is the operating system that controls a mobile device. • Modern mobile operating systems combine the features of a personal computer operating system with touchscreen, cellular, Bluetooth, WiFi, GPS mobile navigation, camera, video camera, speech recognition, voice recorder, music player, Near field communication, personal digital assistant (PDA), and other features.
Top 10 mobile os • Symbian OS – Nokia’s Cell Phone operating system • Android OS – Google’s free, open-source cellphone operating system • iPhone OS (iOS ) – Apple’s mobile operating system • BlackBerry OS – Proprietary mobile operating system, developed by Research In Motion for its BlackBerry • Windows Phone 7 ( Windows Mobile ) – Mobile operating system developed by Microsoft • Palm OS (Garnet OS)- mobile operating system initially developed by Palm • Palm webOS – Mobile operating system from HP/Palm • Bada - Mobile operating system developed by Samsung Electronics • Maemo OS – from Nokia (open source, GPL) • MeeGo OS – from Nokia and Intel (open source, GPL)
Android, Blackberry and J2ME uses Java Language for their development but their applications are not portable because of different hardware, SDK and API. Windows Phone 7 requires Windows Operating system for its development, the Visual Studio (only supported IDE for Windows Phone) and Emulator also works only in Windows environment. C# is the language of Windows Phone 7 which is not used by any other platform. iPhone requires Macintosh Operating System and XCode is the IDE for iPhone. Objective C is used for the development of iOS
Native vs hybrid vs webmobile Application Application Development For mobile Devices
Native app • A native application works only on the platform for which it was created • Native apps were originally developed by Apple, which had various programs built in Objective C to run specifically on their mobile OS. Later, Android developed their native apps in Java, which worked only on the Android platform.
Mobile web apps • Web Applications – Designed to Operate on Multiple Platforms • Web apps, however, do not connect with native apps and cannot make use of APIs or native hardware features like cameras and microphones. Consequently, many companies are reluctant to fully convert to HTML 5.
Mobile hybrid app • A Hybrid app is a native app operating within a web browser • It provides the same functionality and efficiency for the user, but saves the developer from the tedious process of creating multiple native apps for a single project • Industry experts predict HTML5 will become more prevalent because of its versatility and efficiency
Mobile Web Development javascript frameworks • jQuery Mobile jQuery Mobile, a framework that will help you rapidly and confidently develop mobile app user interfaces across popular mobile device platforms like iOS and Android, is perhaps the most popular project out there.
Mobile Web Development javascript frameworks • Titanium Mobile This powerful and robust mobile web development framework allows you to use your existing HTML, CSS and JavaScript knowledge to make native-like mobile apps for iOS and Android. • M-Project The-M-Project is another solid JavaScript framework that takes advantage of new HTML5 features for easier and better mobile app development. The framework follows the popular model-view-controller (MVC) software architecture pattern, which is a huge selling point for many developers.
PhoneGap • PhoneGap is opensource mobile development framework to build mobile application using javascript,HTML5 ,and CSS3. • The resulting application will by hybrid • Neither it would be native nor it is web based.
Mobile Web Development javascript frameworks • DHTMLX Touch • DHTMLX Touch, a free HTML5/JavaScript framework optimized for touchscreen devices, brings you the ability to craft beautiful mobile web apps quickly. • The DHTMLX Touch UI Designer is a visual editor for building mobile user interfaces, and it’ll help you construct top-notch UIs with minimal coding
javaScript libraries for mobile web development • jQTouch: a jQueryplugin specifically for Android and iOS devices. • jqpad: a web development framework built and optimized for iPad development. • iUI: a user interface framework for making iPhone-like web apps. • Sencha: an HTML5 mobile web development framework (suggested by Steven Roussey)
Native Apps Android
Android • Android is an open source software stack that includes the operating system,middleware and the key mobile applications along with a set of API libraries.
Android • A free open source operating system for mobile devices • An open source development platform for creating mobile applications. • Devices, particularly mobile phones, that run the android operating system and the applications created for it.
What is Android • A software platform and operating system for mobile devices • Based on the Linux kernel • Founded by OHA but goggle leads the project • Possibility to write applications in other languages and compiling it to ARM native code (support of Google? No) • Unveiling of the Android platform was announced on 5 November 2007 with the founding of OHA
Android • Android devices comes in all shapes and sizes • Smartphones • Tablets • E-reader devices • Netbooks • Mp4 Players • Internet TVs
Introduction • Android is an operating system based on Linux with a Java programming interface. • The Android Software Development Kit (Android SDK) provides all necessary tools to develop Android applications. This includes a compiler, debugger and a device emulator, as well as its own virtual machine to run Android programs. • Android is officially guided by the Open Handset Alliance. In reality Google leads the project. • Android allows background processing, provides a rich user interface library, supports 2-D and 3-D graphics using the OpenGL libraries, access to the file system and provides an embedded SQLite database.
Open handset alliance • The Open Handset Alliance (OHA) is a consortium of 84[firms to develop open standards for mobile devices • Welcome to the Open Handset Alliance™, a group of 84 technology and mobile companies who have come together to accelerate innovation in mobile and offer consumers a richer, less expensive, and better mobile experience. Together we have developed Android™, the first complete, open, and free mobile platform.
introduction • What is the Open Handset Alliance (OHA)? It's a consortium of several companies
History of Android The OHA was established on 6 November 2007, led by Google with 34 members including mobile handset makers, application developers, some mobile carriers and chip makers. Android, the flagship software of the alliance, is based on an open source license and competes against mobile platforms from Apple, Microsoft, Nokia (Symbian), HP (formerly Palm), Research In Motion, and Samsung Electronics (bada).
Android Stack Android operating system is like a cake consisting of various layers. Each layer has its own characteristics and purpose. Linuix,native libraries Dalvik
The APK • An application is a single APK (application package) file. An APK file roughly has three main components. It consists of all your Dalvik executable code (Java code compiled automatically to Dalvik executable) plus all your resources (everything that is not code, such as images, layouts, etc.). Additionally, it may contain some native code as well. Dalvik executable: this is all your Java source code compiled down to Dalvik executable. This is the code that runs your application. • Resources: resources are everything that is not code. Your application may contain number of images, audio/video clips, as well as numerous XML files describing layouts, language packs, and so on. Collectively, these items are resources. • Native libraries: optionally, your application may include some native code, such as C/C++ libraries. These libraries could be packaged together with your APK file.
Intro to development framework • Android applications are written with java as programinglangurage but executed by a custeom virtual machine called Dalvikrather than by a java VM. • Each android application runs in a separate process with in its own Dalvik instance ,relinquishing all responsibility for memory and process management to the Android run time,which stops and kills process as necessary to manage the resources
continued • Dalvik and android run time sits at the top of the linux kernel that handles the lowlevel hardware interaction,including the drivers and memory management ,while a set of APIs provides access to all the underlying services ,features and hardware.
Step 1 • To get started you need to download and install the following • The Android SDK • Java Development kit ( 6) • You can download jdk 6.0 from here http://www.oracle.com/technetwork/java/javase/downloads/index.html
(Step 2)Download and installing SDK • Android development home page http://developer.android.com/sdk/index.html You need atleast on SDK platform ,you can do this ,you can do this by on Windows by running SDK Setup.exe.
Step 3:- You have to download eclipse with ADT plug-in To download the eclipse http://www.eclipse.org/downloads/
Using the eclipse plugin The ADT plugin for elipse simplifies your Android development by integrating the development tools directly into IDE,
If you are behind a firewall (such as a IBA firewall), make sure that you have properly configured your proxy settings in Eclipse. In Eclipse, you can configure proxy information from the main Eclipse menu in Window >Preferences > General > Network Connections.
Window > Preferences> Android modify your ADT preferences in Eclipse to point to the Android SDK directory:(very important)