From the course: Choosing a Cross-Platform Development Tool

Value proposition

From the course: Choosing a Cross-Platform Development Tool

Start my 1-month free trial

Value proposition

- [Instructor] Developing apps for the major smartphone platforms can be frustrating. You need to be proficient in three different object oriented languages, master various different IDEs, and maintain different code bases for Android and iOS. Android apps are written in Java or Kotlin using Google's Android Studio as a development tool. iOS apps are written in Objective-C or Swift using Apple's Xcode IDE. When writing native apps for multiple platforms, each app has its own version, or code base, that needs to be developed. When updating a native app, each supported platform must be updated independently, usually by separate teams with different skill sets. Cross-platform development seeks to alleviate the pain of learning multiple languages and tools to support multiple platforms. In general, there are two types of cross-platform apps, those that use web technologies and those that are translated to native apps. Web apps are responsive web pages that live on the web and are accessed via the mobile browser. While they are convenient to create and maintain, they have some issues. They aren't available in any app store and they require a network connection to function. Progressive web apps, or PWAs, alleviate some of the shortcomings of web apps to make them feel more like native apps. Hybrid cross-platform apps make use of the built-in browser components of the platform. To create them you use HTML, CSS and JavaScript to create a web app, load your web app and the built in browser, and then package your web app so it's available in an app store. This allows you to use a single code base for multiple platforms, while allowing users to find your app in a familiar place. This course includes coverage of Cordova, one of the first hybrid cross-platform frameworks. Native cross-platform apps are called that because the code you write is automatically translated into native code by the tool. Native cross-platform apps are written in a single programming language and then translated into native code for multiple platforms. Examples of native cross-platform tools covered in this course include Flutter, Xamarin and React Native. There are many benefits to be gained through cross-platform app development, not the least of which is code reuse. Rather than learn how to do things like create UIs, handle events and business logic, and present output for each device, cross-platform development allows you to do that and more once using a single code base. This leads to apps that are, in order of magnitude, easier to maintain than separate native apps. When it's time to update your app, you modify a single set of assets, and those assets are propagated to each platform your app supports. To accomplish this, your team will need only to learn a single technology. In the case of cross-platform tools that use web technologies, that will be HTML, CSS, and JavaScript. For native cross-platform tools, it might for example be C# for Xamarin. In short, you won't need to learn multiple technologies and multiple tools. Perhaps most important is that because there is a single technology to master you'll only need a single team to support multiple platforms. This may result in significant cost savings during development.

Contents