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?
- Java
- C++
- Objective-C
- Swift (correct)
What is the official IDE for Android native application development?
What is the official IDE for Android native application development?
- Android Studio (correct)
- Microsoft Visual Basic
- Xcode
- Visual Studio
What aspect of mobile application design emphasizes user interaction and experience?
What aspect of mobile application design emphasizes user interaction and experience?
- Design consistency
- Mobile-first approach
- Finger-friendly interfaces
- All of the above (correct)
Which operating system was introduced by Apple in 2007 for the iPhone?
Which operating system was introduced by Apple in 2007 for the iPhone?
What is a key benefit of developing native mobile applications?
What is a key benefit of developing native mobile applications?
Which mobile operating system was launched first?
Which mobile operating system was launched first?
Which of the following must Android native applications comply with?
Which of the following must Android native applications comply with?
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?
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?
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?
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?
Which mobile operating system had a 72% market share in 2021?
Which mobile operating system had a 72% market share in 2021?
What is the estimated number of global smartphone users in 2022?
What is the estimated number of global smartphone users in 2022?
Which country leads in smartphone ownership?
Which country leads in smartphone ownership?
What percentage of travelers use mobile devices to book travel activities?
What percentage of travelers use mobile devices to book travel activities?
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?
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?
In 2020, what percentage of total app revenue did iOS contribute?
In 2020, what percentage of total app revenue did iOS contribute?
What major event in mobile technology occurred in 1973?
What major event in mobile technology occurred in 1973?
Which of the following statements about mobile application development is correct?
Which of the following statements about mobile application development is correct?
How much revenue did the global mobile ecosystem generate in 2018?
How much revenue did the global mobile ecosystem generate in 2018?
What unique event does Finland hold annually related to mobile phones?
What unique event does Finland hold annually related to mobile phones?
What year saw the creation of the first smartphone by IBM?
What year saw the creation of the first smartphone by IBM?
What is required for iOS app distribution through the Apple AppStore?
What is required for iOS app distribution through the Apple AppStore?
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?
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?
Which platform has a lower annual fee for app distribution?
Which platform has a lower annual fee for app distribution?
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?
Which is a key requirement for app information and metadata during submission?
Which is a key requirement for app information and metadata during submission?
Which programming language is used for Flutter app development?
Which programming language is used for Flutter app development?
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?
Which of the following is considered an outdated mobile development technology?
Which of the following is considered an outdated mobile development technology?
What is a primary disadvantage of mobile web application development?
What is a primary disadvantage of mobile web application development?
Which tool is primarily used for front-end development on iOS devices?
Which tool is primarily used for front-end development on iOS devices?
What type of control system is Git classified as?
What type of control system is Git classified as?
Which of the following is a primary function of web servers?
Which of the following is a primary function of web servers?
What describes source control management systems?
What describes source control management systems?
Which of the following is NOT a design pattern?
Which of the following is NOT a design pattern?
What is the primary purpose of dependency management in mobile app development?
What is the primary purpose of dependency management in mobile app development?
Which tool is typically used for crash reporting in mobile applications?
Which tool is typically used for crash reporting in mobile applications?
Continuous Integration (CI) involves which of the following practices?
Continuous Integration (CI) involves which of the following practices?
Which of the following is a characteristic of mobile application testing?
Which of the following is a characteristic of mobile application testing?
What role does Fastlane play in mobile app development?
What role does Fastlane play in mobile app development?
Which of the following architectures is categorized as a behavioral pattern?
Which of the following architectures is categorized as a behavioral pattern?
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?
Flashcards
Mobile Technology
Mobile Technology
The technology used for cellular communication encompassing advancements in data transfer speeds (1G to 5G), hardware like processors, RAM, storage, sensors, and SIM cards, and functionalities like phone calls, GPS, internet access, music playback, and gaming.
Mobile Application Development
Mobile Application Development
The process of developing applications for mobile devices, emphasizing user experience and functionalities tailored to the unique capabilities of smartphones.
Smartphone
Smartphone
A mobile phone with advanced computing capabilities, enabling internet access, app installations, and diverse functionalities beyond basic calling.
Smartphone Evolution
Smartphone Evolution
Signup and view all the flashcards
Global Smartphone Users
Global Smartphone Users
Signup and view all the flashcards
US Smartphone Usage
US Smartphone Usage
Signup and view all the flashcards
Mobile Reviews
Mobile Reviews
Signup and view all the flashcards
Mobile Internet Dominance
Mobile Internet Dominance
Signup and view all the flashcards
iOS
iOS
Signup and view all the flashcards
Xcode
Xcode
Signup and view all the flashcards
Swift
Swift
Signup and view all the flashcards
Android OS
Android OS
Signup and view all the flashcards
Android Studio
Android Studio
Signup and view all the flashcards
Java
Java
Signup and view all the flashcards
Kotlin
Kotlin
Signup and view all the flashcards
Material Design
Material Design
Signup and view all the flashcards
Android's dominance
Android's dominance
Signup and view all the flashcards
App revenue growth
App revenue growth
Signup and view all the flashcards
Birth of mobile phones
Birth of mobile phones
Signup and view all the flashcards
First smartphone
First smartphone
Signup and view all the flashcards
Birth of Palm OS
Birth of Palm OS
Signup and view all the flashcards
Symbian's dominance
Symbian's dominance
Signup and view all the flashcards
Java ME for mobile apps
Java ME for mobile apps
Signup and view all the flashcards
Blackberry OS
Blackberry OS
Signup and view all the flashcards
What is a Hybrid Mobile App?
What is a Hybrid Mobile App?
Signup and view all the flashcards
What is Responsive Design?
What is Responsive Design?
Signup and view all the flashcards
What is Source Control?
What is Source Control?
Signup and view all the flashcards
What is SVN?
What is SVN?
Signup and view all the flashcards
What is Git?
What is Git?
Signup and view all the flashcards
What is Backend Development?
What is Backend Development?
Signup and view all the flashcards
What are Web Servers?
What are Web Servers?
Signup and view all the flashcards
What are Database Management Systems (DBMS)?
What are Database Management Systems (DBMS)?
Signup and view all the flashcards
What are Design Patterns?
What are Design Patterns?
Signup and view all the flashcards
What is the Singleton Design Pattern?
What is the Singleton Design Pattern?
Signup and view all the flashcards
What is the Builder Design Pattern?
What is the Builder Design Pattern?
Signup and view all the flashcards
What is the Adapter Design Pattern?
What is the Adapter Design Pattern?
Signup and view all the flashcards
What is the Facade Design Pattern?
What is the Facade Design Pattern?
Signup and view all the flashcards
What is the Command Design Pattern?
What is the Command Design Pattern?
Signup and view all the flashcards
What is the Observer Design Pattern?
What is the Observer Design Pattern?
Signup and view all the flashcards
What is Dependency Management?
What is Dependency Management?
Signup and view all the flashcards
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.