Lecture7 - Software-Construction-BSSE5
Lecture7 - Software-Construction-BSSE5
Lecture7 - Software-Construction-BSSE5
(Lecture 7)
Concept of Mobile Applications, Tools, and Trends
Mobile Application Development Process
• Initiation
• Design
• Development
• Acceptance
• Support
Initiation
• Initiation talks about the transition of the project from sales team to
technical team
• Where they do initial project kick off with the client and sales team to
understand the requirement.
DESIGN
• PROCESS FLOW
• The Process Flow chart provides a visual representation of the steps in a
process.
• Flow charts are also referred to as Process Mapping or Flow Diagrams.
• WIRE FRAME
• Elements visible on each of the screen of the mobile application are discussed
and noted down as wireframes.
DESIGN
• STORYBOARD
• Everything including the images to be shown, icons appearing, theme, color,
background, etc is a part of storyboard.
• ARCHITECTURE DESIGN
• Planning and development of application architecture is performed.
• Coding is done to transform the idea to a real application.
• TEST PLANNING
• The application is tested for bugs by running various programs, performing
checks at different conditions to ensure it is robust and flawless.
DEVELOPMENT
• PROTOTYPE
• The app is still in proof-of-concept phase and only core functionality, or
specific parts of the application are working.
• Major bugs are possible.
• ALPHA
• Core functionality is generally completed (built, but no fully tested).
• Major bugs are still possible in ALPHA release
• Outlying functionality may still not be present.
DEVELOPMENT
• BETA
• Most of the functionality completed in this release.
• Implementation of some light testing and bug fixing.
• Major known issues may still be present.
• RELEASE CANDIDATE
• All functionality is completed and tested.
• With the exception of new bugs.
TESTING
• FINAL BUILD
• It’s incredibly important to test your application early and often on actual
devices.
• Even devices with the same hardware specs can vary widely in their behavior.
• FINAL RELEASE
• Thoroughly tested the application during this phase
• Finally made available to end users.
SUPPORT
• Customer support is a range of customer services to assist customers
in making cost effective and correct use of a product.
• It includes assistance in planning, installation, training,
troubleshooting, maintenance, upgrading, and disposal of a product.
What A Client Wants??
• Fast And Transparent Communication
• Excellent UI/UX Designs
• Bug Free Coding
• ROI (Return on Investment) Optimization
• Tech Expertise
• Fast Time to Market
• Customer Support or Life Time Support
Benefits of Mobile Apps
• Business point of view • Customers / Users point of view
• Accessibility • Easy to Use
• Loyalty and Customer Retention • Instant notifications
• Visibility • Different apps with different
• Brand Recognition benefits
• One stop interaction platform • Time effectiveness
• Information on finger tips
3 Types of Mobile Apps
• Web Apps
• Runs on web browsers on mobile phones (Chrome, Mozilla Firefox, Safari)
• Build using HTML / CSS / JavaScript
• Advantages
• Easy to build and maintain
• Use any web technology / web programming language
• Cheaper than native and hybrid apps
• Single app for all platforms
• Disadvantages
• Need to run in a browser (High level dependency)
• Slower than native apps
• Less interactive and less intuitive
• No application start icon on mobile desktop (Bad user experience)
• Cannot be submitted to app store
• Cannot interact with device utilities
Responsive Web Apps
3 Types of Mobile Apps
• Native Apps
• Most common types of mobile apps
• Build for specific platform (Android, iOS, Windows Phones)
• Build using native programming languages (Java, Swift, Objective C)
• Advantages:
• Faster than web and hybrid apps
• Distributed in app store
• Interactive and intuitive
• Interacts with device utilities
3 Types of Mobile Apps
• Native Apps
• Disadvantages:
• Single platform
• Developed in complex and harder programming languages
• Expensive
• Hard to maintain
3 Types of Mobile Apps
• Hybrid Mobile Apps
• Combination of web and native mobile apps
• Build in HTML / CSS / JavaScript
• Runs inside of container / webview
• Advantages:
• Easy to build
• Much cheaper than native apps
• Single app for all platforms (Cross-platform apps)
• No browser needed
• Usually access device utilities using APIs
• Faster to develop than native apps
3 Types of Mobile Apps
• Hybrid Mobile Apps
• Disadvantages:
• Slightly slower than native apps
• More expensive than web apps
• Less interactive than native apps
• Not as many plugins to interact with devices
3 Types of Mobile Apps
Technologies for Hybrid Apps
• React Native
• Flutter
• Xamrine
• Ionic
• Mobile Angular UI
• Cordova / Phonegap
• Sencha Touch