This course will be retired on June 1, 2025.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Start a free Courses trial
to watch this video
In this video we'll review what we'll cover in this course along with a discussion of the challenges of mobile development.
New Terms:
- iOS -- Apple's mobile operating system for iPhone and iPad devices.
- Android -- An open source operating system used for smartphones and tablets
- IDE -- Integrated development environment
- API -- Application programming interface
- Objective-C -- Object oriented language used by iOS
- Swift -- A general purpose programming language developed by Apple for iOS
- Java -- A general purpose programming language which is used for Android development
- C# -- A general purpose object oriented programming language developed by Microsoft
- Cordova/PhoneGap -- An application programming platform that uses JavaScript contained in a hybrid mobile app
- React Native -- A native app that uses JavaScript for the user interface and business logic
Further Reading:
Mobile device market share
List of iOS Devices
List of Android operating systems
Xamarin vs Native vs Hybrid article
Cross Platform Development Choices:
- Native is the most straightforward way to build an app but you need to understand each platform and the language it uses as well as the platform specific IDE.
- Xamarin give us native performance and controls using a single IDE and language. There are also many ways to reuse your code across platforms.
- Xamarin.Forms is a framework using Xamarin to build cross platform apps that implements many of the native controls in a platform agnostic way so we can build the interface once and it will work on all platforms. Since Xamarin.Forms uses XAML and databinding we can get a huge about of code reuse with this solution.
- Hybrid solutions like Cordova/PhoneGap using a small native app with a webview that displays HTML. The hybrid solution is very appealing and can be quickly developed but it fails on performance, maintainability, and end product quality. There are dozens of good articles on this subject.
- React Native is a framework that which uses JavaScript to interact with the native platform and render native controls. An advantage of React Native is the ability to push new updated JavaScript to our app without going through the app store review process.
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up