Cross-Platform Web Development
Episode 20
Matt's freshly back from vacation to discuss developing for multiple platforms using various tools such as Apache Cordova, React Native, and Ionic. Allowing developers to use what they're familiar with, and still make apps for a variety of platforms.
Segment 1 - When to Use/Not Use Cross-Platform Development
- Cross Platform Web Development allows you to build apps in Javascript that you can then use as native apps on iOS, Android and even Windows
- This allows developers that are already familiar with JavaScript to great native experiences without having to learn new languages
- In some cases, like with Apache Cordova a team can use one single code base with some hooks for different platforms to build their application for the web, android and ios
- This allows for more agile development and smaller development teams as you don’t have resources tied up in native app development
- This issues arise when needing to perform complex multimedia tasks like constantly playing audio and video
- As we’ve experienced heavy media tasks can cause crashes in webviews where native code might perform just fine
- Just beware when decided to go with cross platform development because you can never simulate the performance of a native application, so if buttery smooth animations and lightening quick load actions are important to you, the native way is prefered
- For a small business though, like a bakery or restaurant, if they want an application that resembles their website then using a cross platform framework is ideal because it can save them money and give them the functionality they desire
Segment 2 - Cross-Platform Technologies
- Apache Cordova
- https://cordova.apache.org/
- Its free and open source
- A plugin that allows you to create native applications out of standard website code (HTML, JS, CSS)
- Provides developers the opportunity to create only one main code base for all platform
- Also the main advantages of cross platform technologies are they give you the ability to create a offline mode and access native api’s such as push notifications, file systems, etc
- It is necessary to create hooks that change how the application loads depending on if it’s on the web or if it's packaged as a native application
- React Native and Nativescript with Vue.js
- https://facebook.github.io/react-native/
- https://www.nativescript.org/vue
- Both of these frameworks allow for development on both Android and iOS
- They use a very similar structure to their corresponding technologies with some minor differences when it comes to views, as xml is used to construct layouts
- Both use JS as their scripting language
- These frameworks allow developers that a familiar with React or Vue to build Native applications that perform very close to their Obj C or Java counterparts
- Ionic
Segment 3 - Progressive Web Apps
- These are websites or web applications that with minor adjustments give the user native functionality straight for the browser
- This doesn’t require you to have to build the application and package it for a specific platform (i.e Android, iOS), the newest browsers, safari and chrome both can auto detect if you have a progressi
Published on 7 years ago