Various frameworks that can build mobile apps exist. Lots of developers use Cordova or Phonegap. These tools wrap an HTML page into an app. These apps are called hybrid, as they combine HTML pages with mobile apps. The user interface is not native and can give a bad user experience.
Other tools have a native interface, which gives a good look and feel. Titanium, NativeScript, and React Native do this. With these tools, less code can be shared between a web app and mobile app. With React Native, apps can be written using the React framework.
In NativeScript, programmers have access to all native APIs. The disadvantage of this is that the programmer would write platform-specific code. NativeScript also includes wrappers around these classes, which work on both Android and iOS. For instance, the Button
class, which we used in this chapter, is a wrapper around android.widget.Button
on Android and UIButton
on iOS.