MOBILE APPLICATION DEVELOPMENT
SE415
COURSE DESCRITION:
Upon successful completion of this course, students will be able to
develop mobile applications for both Android and IOS platforms. This
course will be primarily taught with WINDEV 2024
PREQUISITES:
Learners are required to have programming constructs and
fundamental notions of programming
Recommending textbooks:
Clean code; a handbook of agile software craftsmanship by Robert C.
Martin
The WINDEV mobile 24 documentation
Module one:
INTRODUTION TO MOBILE APPLICATION DEVELOPMENT:
Introduction to mobile platforms:
Overview of Mobile Operating Systems (Android, IOS)
Mobile Application Ecosystem (App Stores, Marketplaces)
Mobile Application Development Life Cycle
Introduction to WINDEV MOBILE 24:
Overview of the WINDEV Mobile development environment
Key features and benefits of using WINDEV Mobile
Project creation and basic project structure
Module two: CORE CONCEPTS AND PROGRAMMING
FUNDAMENTALS
User Interface(UI) Design Principles:
Mobile UI design best practices..
Designing for different screen sizes and resolutions.
User experience(UX) considerations.
WINDEX Mobile Programming Fundamentals:
Working with the WINDEV Mobile editor
Data types and variables
Control structures (if-else, loops)
Functions and procedures
Event handling
Module three: ADVANCED FEATURES AND TECHNIQUES:
Mobile Application Components:
Working with maps, GPS, and location services.
Integrating with device sensors (camera, accelerometer, gyroscope)
Implementing multimedia features (audio, video, images)
User Authentication and Security:
Implementing user login and registration
Data encryption and security measures
API integration (RESTful APIs)
Cross-Platform Development:
Developing applications compatible with both Android and IOS
Testing and debugging applications on different devices.
Module four: PROJECT DEVELOPMENT AND DEPLOYMENT
Project planning and Design.
Application Development and Testing.
App Store Submission
NOTE: Each participant is expected to choose a project for the courses.
SECTION
Course materials - The foundation of our learning journey.
Module 1: INTRODUCTION TO MOBILE APPLICATION
DEVELOPEMT
TOPIC 1: Introduction to mobile platforms
1. Mobile Programming: The process of writing software applications
specifically designed to run on mobile devices such as smartphones
and tablets.
2. Native Application: An application developed specifically for a
particular mobile operating system (e.g., Android, IOS) using the
platform’s native programming languages and development tools.
3. Hybrid APP: This is an application that combines elements of native
and web technologies. They are built using web technologies (HTML,
CSS, JavaScript) and then packaging into a native container, allowing
them to access device features.
4. Web-Based Apps: Applications that run within a web browser on
mobile devices. They are essentially mobile-optimized websites.
5. Mobile Devices: Portable electronic devices with computing and
communication capabilities, such as smartphones and tablets.
6. Mobile Application (Apps): Software applications designed to run
on mobile devices, providing various functionalities like
communications, entertainment, productivity, and more.
7. Mobile Terminals: A general term for mobile devices used for
communication and data access.
TOPIC 2: Understanding Mobile Platforms
1. ANDROID:
OPEN-SOURCE Mobile operating system developed by Google.
Powers a vast majority of smartphones and tablet worldwide.
Known for its flexibility and customization options.
Example: Android OS is used in devices from Samsung, Google, Xiaomi,
and many other manufacturers.
Originally developed by Android Inc, a startup acquired by Google in
2005.
First commercial version released in 2008. android 1.0 Astro
Based on the Linux kernel (core), providing a strong foundation for
open-source development and customization.
NOTE: Kernel(linux 2.6) + shell(java) == Android(OS):
Open Handset Alliance(OHA)
A consortium of technology and mobile companies formed in
November in 2007 to develop open standards for mobile devices, leading
to the creation and subsequent release of Android. The OHA aimed to
foster collaboration and innovation with the mobile industry.
2. IOS
Proprietary mobile OS developed by Apple
Renown for its user-friendly interface, strong app influence
ecosystem and high level of security.
First introduced in 2007 with the launched of the first iPhone
Developed exclusively by Apple for its own devices, providing a
tightly integrated hardware and software experience.
Known for
TOPIC 3 APP STORES: The Hub of Mobile App Distribution:
App Stores serve as crucial platform for developers to distribute their
mobile applications to a vast audience of users.
They act as centralized marketplaces where users can browse,
discover, and download apps for their devices.
Major App Stores
Google Play Store: The official app store for Android devices.
It hosts a vast collection of apps, games, books, movies, and more.
Apple App Store: The official app store for iOS devices (iPhone,
iPad, iPod)
Known for its stringent review process and curated selection of apps.
BENEFIT OF APP STORES
For Developers For Users
Revenue Generation App Quality and Safety
Brand Building Convenient Updates
Direct User Feedback Secure Payment Processi
Wider Reach Easy App Discovery
User reviews and ratings
TOPIC 4: MOBILE APP DEVELOPMENT LIFE CYCLE:
The Mobile App Development Life Cycle (MADLSC):
Definition:
It is a structured process that guides the creation, testing , and
deployment of mobile applications. It ensures a systematic approach to
app development, minimizing risks and maximizing the chances of
success.
STAGES OF MADLSC
Planning:
Define app Goals: What problem does the app solve? What value
does it provide to users?
Identify target audience: Who are the intended users of the app?
Define app features: What functionalities will the app include?
Design:
Create user interface (UI) designs: Develop visually appealing and
user friendly screens and layouts.
Create user Experience (UX) designs: Consider how users will
interact with the app and ensure a smooth and intuitive user flow.
Development:
Write code: implement the app functionality using the chosen
programming languages and development tools.
Integrate APIs and Build the App: Compile the code and create
installable app packages.
Testing:
Thoroughly test the app for bugs, errors, and usuability issues.
Conduct user testing to gather feedback from real users.
Deployment:
Submit the app to app stores for review and approval
Prepare marketing material and launch the app
Maintenance:
Regularly update the app with new features, bug fixes, and security
problems.
Monitor app performance and user feedback.
Address user issues and provide support.