Tishk International University Faculty of Education Computer
16 Slides1.49 MB
Tishk International University Faculty of Education Computer Education Department Introduction to Mobile Application Saia Hasan Mobile Application I CED 315/A Fall 2023-2024 Computer Education Department 4/10/2022
Learning outcome In the end of this lecture student will be able to: Understand the usage of mobile application and Crossplatform applications. List the advantage and disadvantage of developing Crossplatform applications. Predict the Factors Affecting Mobile App Development
Outline Introduction Cross-platform Advantage of Cross-platform Disadvantage of Cross-platform Factors Affecting Mobile App Development What to Expect References Next lecture
Coursebooks Computer Education Department 4
Introduction What is Mobile Application? A mobile application is a software application designed to run on mobile devices such as smartphones and tablets. Mobile applications can be used to provide users with quick access to information, services, and tools, and can be a convenient way to stay connected and engaged with the world around us. Computer Education Department 5
Introduction Native apps and hybrid apps are two different types of mobile applications. Native apps are developed specifically for a particular mobile platform, such as iOS or Android, using the platform's native programming language and tools. Hybrid apps, on the other hand, are developed using web technologies such as HTML, CSS, and JavaScript, and then wrapped in a native container that allows them to be installed and run on a mobile device. Computer Education Department 6
Introduction Here are some differences between native apps and hybrid apps: Native Apps: Hybrid Apps: Developed using the platform's native programming language and tools. Developed using web technologies such as HTML, CSS, and JavaScript. Can take full advantage of the device's hardware and software features. Can have limited access to the device's hardware and software features. Can provide better performance and user experience. Can have performance and user experience issues due to the limitations of web technologies. Can be more expensive and timeconsuming to develop. Can be less expensive and timeconsuming to develop. Require separate development for each platform. Can be developed once and deployed on multiple platforms. Computer Education Department 7
Cross-platform Cross-platform refers to the ability of software or applications to run on multiple operating systems or platforms. This means that a single application can be developed to work on different devices, such as smartphones, tablets, and computers, regardless of the operating system they use. Cross-platform development can be achieved using different programming languages and frameworks, such as React Native, Xamarin, and Flutter Computer Education Department 8
Cross-platform Every framework adopts different strategies to maximize the benefits and minimize or get rid of the drawbacks. The perfect product doesn’t exist, and very likely we will never have one, but there are some high quality frameworks you’ve probably already heard: Flutter: Created by Google, it uses Dart; React Native: Created by Facebook, it is based on JavaScript; Xamarin: Created by Microsoft, it uses the C#; Firemonkey: Created by Embarcadero, it uses Delphi. Computer Education Department 9
Advantage of Cross-Platform Nowadays companies tend to consider cross-platform solutions in their development stack mainly for three reasons: 1. Faster development: working on a single codebase; 2. Lower costs: maintaining a single project instead of many (N projects for N platforms); 3. Consistency: the same UI and functionalities on any platform. All those advantages are valid regardless the framework being used. Computer Education Department 10
Disadvantage of cross-platform There’s the need to also consider the other side of the coin because a cross-platform approach also has some drawbacks: 1. Lower performances: a native app can be slightly faster thanks to the direct contact with the device. A cross-platform framework might produce a slower application due to a necessary bridge required to communicate with the underlying OS; 2. Slower releases: when Google or Apple announce a major update for their OS, the maintainers of the cross-platform solution could have the need to release an update to enable the latest features. The developers must wait for an update of the framework, which might slow down the work. Computer Education Department 11
Factors Affecting Mobile App Development When creating a mobile application, there are several factors to consider, including: 1. User needs and preferences: It is important to understand the target audience and their needs, preferences, and behaviors. This can be achieved through user research, surveys, and feedback. 2. Platform and device compatibility: The application should be designed to work on different platforms and devices, such as iOS and Android, and should be optimized for different screen sizes and resolutions. 3. User interface and user experience: The application should have a userfriendly interface and provide a positive user experience. This can be achieved through good design practices, such as using clear and consistent navigation, providing feedback, and minimizing user input. Computer Education Department 12
Factors Affecting Mobile App Development 4. Performance and reliability: The application should be fast, responsive, and reliable, and should not crash or freeze. This can be achieved through good coding practices, such as optimizing code and minimizing memory usage. 5. Security and privacy: The application should be secure and protect user data and privacy. This can be achieved through good security practices, such as using encryption and authentication, and complying with data protection regulations. 6. Testing and feedback: The application should be tested thoroughly before release, and feedback from users should be collected and used to improve the application over time. Computer Education Department 13
What to Expect in this course In this course we are using Flutter Framework Dart Programming language Visual Studio Code(VS code) IDE Computer Education Department 14
References Vaquero-Melchor, D., Bernardos, A.M., & Bergesio, L. (2020). SARA: A Microservice-Based Architecture for Cross-Platform Collaborative Augmented Reality. Applied Sciences. Sarinho, V.T., Azevedo, G.S., & Boaventura, F.M. (2018). Providing an IM CrossPlatform Game Engine for Text-Messaging Games. 2018 17th Brazilian Symposium on Computer Games and Digital Entertainment (SBGames), 2122128. Souza, R.P., Coimbra, G.T., Figueiredo, L.J., Silva, F.A., & Silva, T.R. (2021). Mobile Application Recommendation based on Demographic and Device Information. Proceedings of the Brazilian Symposium on Multimedia and the Web. Computer Education Department 15
Next Lecture Introduction to Dart and Flutter Computer Education Department 16