Podcast
Questions and Answers
Which programming language is recommended for iOS native application development since late 2014?
Which programming language is recommended for iOS native application development since late 2014?
What is the official IDE for Android native application development?
What is the official IDE for Android native application development?
What aspect of mobile application design emphasizes user interaction and experience?
What aspect of mobile application design emphasizes user interaction and experience?
Which operating system was introduced by Apple in 2007 for the iPhone?
Which operating system was introduced by Apple in 2007 for the iPhone?
Signup and view all the answers
What is a key benefit of developing native mobile applications?
What is a key benefit of developing native mobile applications?
Signup and view all the answers
Which mobile operating system was launched first?
Which mobile operating system was launched first?
Signup and view all the answers
Which of the following must Android native applications comply with?
Which of the following must Android native applications comply with?
Signup and view all the answers
What kind of tools can also be used in Android development for specific tasks?
What kind of tools can also be used in Android development for specific tasks?
Signup and view all the answers
Which mobile technology evolution has seen enhancements in data transfer speeds since the 1980s?
Which mobile technology evolution has seen enhancements in data transfer speeds since the 1980s?
Signup and view all the answers
What percentage of internet users worldwide use a mobile device to visit the Web?
What percentage of internet users worldwide use a mobile device to visit the Web?
Signup and view all the answers
Which year marked the transition where more people accessed the Internet via mobile phones than PCs for the first time?
Which year marked the transition where more people accessed the Internet via mobile phones than PCs for the first time?
Signup and view all the answers
Which mobile operating system had a 72% market share in 2021?
Which mobile operating system had a 72% market share in 2021?
Signup and view all the answers
What is the estimated number of global smartphone users in 2022?
What is the estimated number of global smartphone users in 2022?
Signup and view all the answers
Which country leads in smartphone ownership?
Which country leads in smartphone ownership?
Signup and view all the answers
What percentage of travelers use mobile devices to book travel activities?
What percentage of travelers use mobile devices to book travel activities?
Signup and view all the answers
What is the primary reason for people using mobile phones while shopping in a physical store?
What is the primary reason for people using mobile phones while shopping in a physical store?
Signup and view all the answers
Which smartphone operating system accounted for around 86% of all smartphones sold to end users in Q1 of 2018?
Which smartphone operating system accounted for around 86% of all smartphones sold to end users in Q1 of 2018?
Signup and view all the answers
In 2020, what percentage of total app revenue did iOS contribute?
In 2020, what percentage of total app revenue did iOS contribute?
Signup and view all the answers
What major event in mobile technology occurred in 1973?
What major event in mobile technology occurred in 1973?
Signup and view all the answers
Which of the following statements about mobile application development is correct?
Which of the following statements about mobile application development is correct?
Signup and view all the answers
How much revenue did the global mobile ecosystem generate in 2018?
How much revenue did the global mobile ecosystem generate in 2018?
Signup and view all the answers
What unique event does Finland hold annually related to mobile phones?
What unique event does Finland hold annually related to mobile phones?
Signup and view all the answers
What year saw the creation of the first smartphone by IBM?
What year saw the creation of the first smartphone by IBM?
Signup and view all the answers
What is required for iOS app distribution through the Apple AppStore?
What is required for iOS app distribution through the Apple AppStore?
Signup and view all the answers
Which of the following should NOT be included in app submissions to ensure compliance with review guidelines?
Which of the following should NOT be included in app submissions to ensure compliance with review guidelines?
Signup and view all the answers
Which mobile operating system was developed as a joint venture of several companies including Ericsson and Nokia?
Which mobile operating system was developed as a joint venture of several companies including Ericsson and Nokia?
Signup and view all the answers
Which platform has a lower annual fee for app distribution?
Which platform has a lower annual fee for app distribution?
Signup and view all the answers
What must be tested in your app before submission according to the review guidelines?
What must be tested in your app before submission according to the review guidelines?
Signup and view all the answers
Which is a key requirement for app information and metadata during submission?
Which is a key requirement for app information and metadata during submission?
Signup and view all the answers
Which programming language is used for Flutter app development?
Which programming language is used for Flutter app development?
Signup and view all the answers
What is a key feature of React Native in hybrid mobile application development?
What is a key feature of React Native in hybrid mobile application development?
Signup and view all the answers
Which of the following is considered an outdated mobile development technology?
Which of the following is considered an outdated mobile development technology?
Signup and view all the answers
What is a primary disadvantage of mobile web application development?
What is a primary disadvantage of mobile web application development?
Signup and view all the answers
Which tool is primarily used for front-end development on iOS devices?
Which tool is primarily used for front-end development on iOS devices?
Signup and view all the answers
What type of control system is Git classified as?
What type of control system is Git classified as?
Signup and view all the answers
Which of the following is a primary function of web servers?
Which of the following is a primary function of web servers?
Signup and view all the answers
What describes source control management systems?
What describes source control management systems?
Signup and view all the answers
Which of the following is NOT a design pattern?
Which of the following is NOT a design pattern?
Signup and view all the answers
What is the primary purpose of dependency management in mobile app development?
What is the primary purpose of dependency management in mobile app development?
Signup and view all the answers
Which tool is typically used for crash reporting in mobile applications?
Which tool is typically used for crash reporting in mobile applications?
Signup and view all the answers
Continuous Integration (CI) involves which of the following practices?
Continuous Integration (CI) involves which of the following practices?
Signup and view all the answers
Which of the following is a characteristic of mobile application testing?
Which of the following is a characteristic of mobile application testing?
Signup and view all the answers
What role does Fastlane play in mobile app development?
What role does Fastlane play in mobile app development?
Signup and view all the answers
Which of the following architectures is categorized as a behavioral pattern?
Which of the following architectures is categorized as a behavioral pattern?
Signup and view all the answers
Which of the following is a common structure for managing online Git repositories?
Which of the following is a common structure for managing online Git repositories?
Signup and view all the answers
Study Notes
Course Outline
- Mobile Application Development course, CTE-31023-01
- Topics include Introduction to Mobile Technologies and Applications, Android Development (Kotlin), iOS Development (Swift), Application Creation, User Interface Design, Intents and Broadcast Receivers, Android Networking, Files and Preferences, Databases, Background Processes, and User Experience.
Evolution of Mobile Technologies
- Mobile technology is the foundation of cellular communication.
- Data transfer speeds have evolved from 1G to 5G advancements in the 1980s.
- Mobile hardware improvements include processors, RAM, storage, sensors, and SIM cards.
- Uses for mobile devices range from phones to GPS devices, communicators, music players, and gaming consoles.
- Mobile application development is a crucial area within software, as it is the future of the field, according to Google's Eric Schmidt (2010).
Mobile Phone Evolution
- Diagrams showing the progression of mobile phone designs from early models to modern smartphones and tablets.
Smartphone Statistics
- Global smartphone users are estimated at 6.8 billion in 2022.
- US adults spend an average of 2 hours and 55 minutes on their smartphones, with 85% of Americans owning smartphones.
- 69% of internet users prefer to read reviews on their phones rather than consulting an in-store employee.
- In 2009, more people accessed the internet from a mobile phone than a PC for the first time.
- 67% of worldwide internet users access the web via mobile devices.
- The mobile ecosystem supports approximately 12 million jobs.
- 66% of smartphone users are addicted to their phones
- High global smartphone market share in China and South Korea (94% smartphone owners in South Korea, 6% non-smartphone).
- 77% of Americans and 78% of UK citizens own smartphones.
- In 2018, approximately 194 billion app downloads occurred worldwide.
- Apple is the most popular smartphone brand, followed by Samsung (approximately 30% and ~26% market share respectively).
- 88% of smartphone users use their phone while driving.
- Mobile phones are commonly used in shopping, with 80% of consumers using them while in physical stores.
- Mobile users view 4.2x more products in apps compared to mobile web sites.
- Mobile devices are widely used for travel booking, with 85% of travelers utilizing them. Apple iPhone dominated top smartphone sales in 2021.
- Android's 2021 market share was 72%, and iOS was 28%.
- In 2022, Android held ~69% of the market share to iOS's 31%.
- Huawei and Xiaomi are rapidly growing brands in the mobile sector.
- Android accounted for the majority of smartphone sales in Q1 of 2018 (approximately 86%).
- In 2021, there were approximately 3 billion active Android devices.
- The mobile ecosystem generated approximately $1.1 trillion in 2018.
- Google Play Store has over 2.5 million apps, and the Apple App Store holds around 1.8 million.
- App store revenue reached $92.1 billion in 2018, with Android and iOS revenue reaching $111 billion in 2020, showcasing a 24% year-on-year increase. iOS generated 65% of the 2020 app revenue.
Fun Facts
- Germany/Netherlands have traffic lights on the ground for distracted drivers who are on their phones.
- Finland has an annual mobile phone throwing championship.
- There are reports of Google paying Apple $9 billion in 2018 and rumors of $10-12 billion in 2020.
- Samsung earns significant profit from Apple's sales.
History of Mobile Application Development
- 1973: Motorola made the first call on a mobile phone.
- 1993: IBM launched the first smartphone.
- 1996: Palm Inc. developed Personal Digital Assistants (PDAs).
- 1998: The Symbian OS, developed by Ericsson, Motorola, Nokia, and PSION, became popular in the smartphone market until 2010, after which it was replaced by Android and iOS.
- 1999: Java ME Runtime (J2ME) mobile applications development technologies emerged.
- 2002: RIM (Research in Motion) developed the BlackBerry OS and associated technologies.
- 2002 - Windows CE, Windows Embedded Compact, and Windows Mobile (Pocket PC Devices) were introduced. Windows CE is optimized for devices with limited memory; that is, devices with minimal memory can run a Windows CE kernel. Microsoft Visual Studio and Visual Basic and C# for Windows CE applications development are also mentioned.
- 2007: Apple introduced the iPhone, using iOS (iPhone OS initially).
- 2008: HTC Dream, a Google-developed Android phone, was introduced.
- 2010: Samsung developed Bada OS. Windows Phone (WP) became a successor to Windows Mobile, but it ceased development in 2019.
Mobile Platforms and Operating Systems
- Descriptions of various operating systems (e.g., iOS, Android, Bada, Windows Phone).
- Important dates in mobile operating system development.
Smart Phone Sales
- Charts showing global smartphone unit shipments by operating system over time.
- Android and iOS market share over time.
Mobile Vendor Market Share Worldwide
- Charts showing mobile vendor market share data.
Mobile Application Design
- Guidelines for developing user-centered mobile apps
- Advice to designers to make their app designs straightforward and intuitive, complying with platform guidelines. Emphasize mobile-first approaches, including touch input, voice control, pressure sensitivity, location services, accelerometers, notifications, and augmented reality. Keeping design principles consistent and offering noticeable feedback are important pointers. App designs that prioritize finger ease and scalability are also suggested, along with a deep understanding of user psychology and motivations, including demographics, interests, and location.
Native Mobile Application Development
- Mobile application development involving native code development using platform-specific APIs.
- Different programming languages for different platforms.
- Superior performance and smoother operation compared to alternative development approaches.
- Full manufacturer support.
- Enhanced user experience tailored to the platform and its users.
- Ensured security, quality, and device compatibility.
- Expert developers are needed which may not be optimal for simple apps.
iOS Native Application Development
- Requirement to adhere to iOS Human Interface Guidelines.
- Xcode as the core development environment for debugging, testing, profiling, and distribution.
- Programmed using Objective-C or Swift standards.
- Swift, an alternative language to Objective-C, is the best choice for development tasks.
- Swift playgrounds are essential resources to enable mobile application development initiation.
Android Native Application Development
- Need to comply with Android Design Guidelines, ensuring a user-friendly approach.
- Android Studio is used as the core IDE for development, testing, debugging, profiling, and distribution.
- Command-line tools are also an option and suitable for specific tasks.
- Languages utilized include C++ (native development kit - NDK), Java, and Kotlin (software development kit - SDK).
- Kotlin was approved by Google as an Android development language in 2017 (at Google I/O).
Hybrid Mobile Application Development
- Development methodology accommodating iOS and Android platforms.
- Single codebase ensures efficient maintenance.
- Suitable for simple mobile application development.
- Frameworks like React Native, Flutter, Ionic, Framework 7, and PhoneGap.
- React Native, as a programming language, translates to native platform UI, preserving native APIs and using JavaScript.
- Flutter creates its unique UI utilizing hardware-accelerated graphics, offering a native feel and utilizing Dart.
- Kotlin Multiplatform, a hybrid approach, has its specific advantages.
- Other frameworks like Ionic, Framework 7, and PhoneGap are also mentioned in the context.
Mobile Web Application Development
- Responsive web design utilizing HTML5, CSS, and JavaScript.
- Easier maintenance compared to other approaches.
- Lower initial costs.
- Limitations include less discoverability and brand exposure.
- Poorer performance compared to native apps; does not always match the needs of specific platforms.
- Reliance on browser functionality.
Outdated Mobile Development Technologies
- Technologies no longer in use, including Symbian OS (C++ application development), Sun/Oracle J2ME application development, RIM BlackBerry OS Java development, Microsoft Windows Mobile development, Samsung Bada OS (C++ development), and Microsoft Windows Phone development.
Back-End Development Tools
- Languages like Ruby, Java, Python, PHP, Perl, Erlang, and Node.js can handle server-side scripting.
- Web server software (e.g., Apache, Microsoft IIS, NGINX) is used to manage and deliver web pages and APIs.
- Database management systems (DBMS) like Oracle, MySQL, Redis, PostgreSQL, MongoDB, and SQLite (embedded).
- Microservices platform like Docker.
- Collaboration tools (Slack, Asana, Jira, Trello).
- Emphasizes the use of HTTP/HTTPS protocols for secured communication between client and server.
Front-End Development Tools
- Tools for iOS development: Xcode.
- Tools for Android development: Android Studio.
Source Control
- Source control, tracking and managing code changes.
- Source control management (SCM) systems record the history of code and resolve merging conflicts from multiple development sources.
- Software version control systems like SVN, distributed under the Apache License
- Distributed source code management systems like Git where Git is a distributed and SVN is a centralized system. Git offers a centralized repository, a server component, and local repositories.
- Platforms like Github, GitLab, and Bitbucket are utilized to control and manage Git repositories online.
Mobile Application Architecture
- Model-View-Controller (MVC) architecture.
- Model-View-Presenter (MVP) architecture.
- Model-View-View-Model (MVVM) architecture.
- VIPER architecture.
Mobile Application Testing
- Process for testing mobile application software on different devices and platforms. Actual physical devices, as well as emulators and simulators, are often used.
- Types of testing include developer testing (component testing - unit and UI), functionality testing, performance testing, and usability testing.
- Testing phases include alpha and beta testing, often carried out before the official launch.
- Testing tools and platforms including Testflight for iOS distributions and Google Play Store for Alpha and Beta testing on Android platforms and Firebase (formerly known as Crashlytics) for crash reporting are utilized.
Continuous Integration
- Development procedure promoting integration of code to a shared repository.
- Integration frequently and testing the code after each integration to resolve any errors or conflicts early.
- Tools like Xcode Server for iOS integrations that permit automated builds within the development process.
- Utilizing tools like Jenkins Server with Fastlane can automate the build process.
- Fastlane is an open-source tool promoting simplification of Android and iOS deployment.
Mobile Release Management
- Continuous short and incremental mobile release cycles.
- Testing automation for expedited releases.
- Incremental deployment of new releases.
- Source-controlled release tagging to ensure tracking and integrity.
- Maintaining logs and records for release approval and release notes.
Mobile Application Distribution
- iOS app distribution handled via the Apple App Store (99$ annual fee) with Xcode and iTunes Connect platforms.
- Android app distribution occurs via the Google Play Store (25$ annual fee).
- Google Play Console is a major component of the Android platform.
Mobile Application Review Guidelines
- Criteria to consider during app submissions (crash testing, bug checking)
- Ensuring detailed information about the app in the metadata.
- Compliance with app store guidelines (e.g., acceptable content, operational URLs)
- Guideline adherence for purchases.
Preparations for Next Lecture
- Recommended study materials; Android Design & Quality Guidelines, with a focus on Phone and Tablet Components.
- Additional resources (links provided).
- Contact information for questions.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge on mobile application development with this quiz covering key concepts of both iOS and Android platforms. Explore the evolution of mobile technologies, user experience design, and native application benefits. Perfect for developers and tech enthusiasts!