Mobile Application Development Lecture Notes PDF
Document Details
Uploaded by BelievableBoston
SLIIT University
Tags
Related
Summary
This document is a lecture about mobile application development. It covers various aspects of mobile app development, including the different mobile operating systems such as Android and iOS, along with advantages and disadvantages, and relevant tools.
Full Transcript
Mobile Application Development Mobile Application Development Mobile Platforms and Application Development fundamentals Faculty o...
Mobile Application Development Mobile Application Development Mobile Platforms and Application Development fundamentals Faculty of Computing Mobile Application Development Lecture Plan Introduction to App Development Mobile Platforms and Application Development fundamentals Mobile Interface Design Concepts and UI/UX Design Introduction to Android Operating System Main Components of Android Application Sensors and Media Handling in Android Applications Data Handling in Android Applications Android Application Testing and security aspects 2 Faculty of Computing Mobile Application Development Mobile Application Development Mobile App Development Cross- Native Apps Hybrid Apps Web Apps platform 3 Faculty of Computing Mobile Application Development Native Mobile Application A native mobile app is an application developed using platform-specific development tools. These apps are developed individually for each of the three popular mobile operating systems. 4 Faculty of Computing Mobile Application Development Android Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software. It is primarily designed for touchscreen mobile devices such as smartphones and tablets. Android is the most popular mobile operating system at present. Founders of android were Rich Miner, Nick Sears, Chris White, and Andy Rubin. 5 Faculty of Computing Mobile Application Development Android versions 6 Faculty of Computing Mobile Application Development Android Devices Devices using android operating system Smartphones Samsung Sony HTC Google LG Lenovo Oppo Huawei 7 Faculty of Computing Mobile Application Development Android Devices Tablets Samsung Galaxy Tab Asus ZenPad Huawei MediaPad Lenovo Yoga Tab Amazon Fire HD Sony Xperia Z4 Tablet Nvidia Shield Tablet K1 8 Faculty of Computing Mobile Application Development Android Devices TV Sony Bravia Smart TV Sharp Smart TV Philips Smart TV Smartwatch Ticwatch LG Watch Style Misfit Vapor Asus ZenWatch Fossil Q Venture 9 Faculty of Computing Mobile Application Development Android Devices Development Environments Android Studio Eclipse Apache Cordova App Inventor for Android C++ Builder Blue J FlashDevelop Titanium 10 Faculty of Computing Mobile Application Development iOS iOS is a mobile operating system created and developed by Apple Inc. It is exclusively designed for Apple hardware. It is the second most popular mobile operating system globally after Android. Founders of iOS/Apple were Steve Jobs, Steve Wozniak, and Ronald Wayne 11 Faculty of Computing Mobile Application Development iOS Devices Devices using iOS operating system iPhone iPod Touch iPad iPad Mini iPad Pro Apple TV Apple Watch 12 Faculty of Computing Mobile Application Development iOS Development Environments Xcode AppCode Apache Cordova 13 Faculty of Computing Mobile Application Development Windows Mobile Windows Mobile is a discontinued family of mobile operating systems developed by Microsoft. Its origin dated back to Windows CE in 1996, though Windows Mobile itself first appeared in 2000 as PocketPC 2000. It was renamed "Windows Mobile" in 2003, at which point it came in several versions and was aimed at business and enterprise consumers 14 Faculty of Computing Mobile Application Development Windows Mobile Devices using windows mobile operating system Dopod 515 Krome Intellekt iQ200 Mitac Mio 8390 and 8860 Motorola MPx200 O2 Xphone Orange SPV E200 and e100 QTEK 7070 and 8080 Sagem myS-7 15 Faculty of Computing Mobile Application Development Windows Mobile Development Environments Visual Studio Apache Cordova 16 Faculty of Computing Mobile Application Development Hybrid App Development Less time for development. Allows for code sharing. Tools: Blend web elements with mobile ones. Create codebase using standard web technologies (HTML, CSS, JavaScript) Examples: 17 Faculty of Computing Mobile Application Development Cross-platform mobile application development Cross-platform mobile application development refers to the development of mobile apps that can be used on multiple mobile platforms. 18 Faculty of Computing Mobile Application Development Cross-platform mobile application development Development Environments Apache Cordova PhoneGap Xamarine Ionic Framework 7 React Native Jasonette 19 Faculty of Computing Mobile Application Development Cross-platform mobile application development Advantages Codes can be reused Controls Cost Quicker development time Easier Implementation Sameness and Uniformity 20 Faculty of Computing Mobile Application Development Cross-platform mobile application development Disadvantages Loss of Flexibility Problems in platform Integration Diversity in user Interaction Poor user experience Difficulty in satisfying all users 21 Faculty of Computing Mobile Application Development App Type Native Hybrid Cross-platform Tools XCode Ionic React Native AppCode Apache Cordova Xamarin Android Studio Visual Studio Flutter Rendering Engine Native Browser Native Libraries Not much dependency on Highly dependent on Highly dependent on open-source libraries and different libraries and different libraries and platforms frameworks frameworks Debugging Native debugging tools Native + web Depends on the development debugging framework tools Codebase Separate codebase – one per Single codebase with Single codebase with platform potential platform- potential platform- specific abilities specific abilities 22 Faculty of Computing Mobile Application Development App Type Native Hybrid Cross-platform Pros Full access to device’s/ OS’s Lower development Different OS support features cost UI performance is Powerful performance Different OS support almost as fast as Native UI (updating along Code reuse native with the OS) Cost effective Code reuse Efficient App Running development Cost-effective High-quality functionality Big customization development and UX capabilities Access to all native APIs and the platform-specific functionality Cons No multi-platform support Slower performance *Slower performance High dev cost if different Limited access to OS Limited access to OS OS support is needed features features No code reuse No interaction with Poor interaction with other native apps other native apps 23 Faculty of Computing Mobile Application Development Choose a Development approach for your Mobile App 24 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Choice of Technology In advance to choosing any technology platform, one must ensure it is feasible in every way possible. Most appearing platforms are Android, iOS and Windows, and they are evolving rapidly with frequent handy updates. These platforms make it practically possible for developers to build unique features and impressive interface to deliver outstanding user experience. Choosing the right platform means your apps will be supported by numerous devices used by customers. 25 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Clear recognition of requirements Define and set your final goals where you want to reach so that you can make a clear strategy and avoid confusion down the path of development. Knowing your goals enrich your vision and helps you develop apps that hit the precise pain point. Detailed analysis of the product and target audience helps to build an effective app 26 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Dynamic Functionalities Mobile application users like to explore a heterogeneous set of interactive functionalities such as GPS, transactions, messages, responsiveness, sensors, and even audio/video. Most application use these interactive functionalities to attract users. 27 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Security and Speed Efficiency Security problems are potential threats to customers who will become the end users of the app. Choose a reliable, secure, authentic resources and industry-standard processes to build the app to ensure its highly secure. A mobile app should respond instantly to process customer requests in time. Ensure that the application is effective normal internet environment. 28 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Testing Quality and Consistency Testing the app is a crucial stage for any developer as it confirms whether or not the app is ready to deploy. An ideal app testing method must include testing on different devices of varied screen sizes in order to measure its performance and view its compatibility. Developer must also necessarily maintain the consistency while coding the app to make sure the entire mobile app development process, along with its documentation and program updates and interface, is genuine, consistent and clear. 29 Faculty of Computing Mobile Application Development Fundamentals of Mobile Application Development Introduce a Pilot Version Once the development team is confident that they have built a well-tested, mature and fully functional app, they can go for launching the pilot product. The course of ideal mobile app development must end with the launch of pilot version. It helps developers receive the feedback and responses from the users and judge the success of the app. 30 Faculty of Computing Mobile Application Development Mobile Application Design Tools (Prototyping tools) "If a picture is worth a thousand words, a prototype is worth a 1000 meetings" Tom & David Kelley 31 Faculty of Computing Mobile Application Development Mobile Application Design Tools (Prototyping tools) Invision UXPin Sketch Slicy Skala Preview PlaceIt AdobeColor FontFace Ninja Illustrator & Photoshop Omnigraffle Proto.io After Effects Fluid UI Adobe XD Figma 32 Faculty of Computing Mobile Application Development Thank you! 33 Faculty of Computing