Introduction to NativeScript Plugin
NativeScript plugin is defined as a component in software terms through which a specific feature is added into an existing computer application that is written in NativeScript. The NativeScript is an open-source framework, that developers use for the development of mobile applications used in android and iOS. NativeScript falls under the genre of cross-platform software and by the virtue of the name, it means that the application totally platforms agnostic.
Though some applications might need separate builds for separate platforms, many others run on any platform without any separate treatment. Applications built in NativeScript are built using JavaScript as the language, or for that matter of fact, any other language can also be used that can be source to source compiled to JavaScript. One such language is TypeScript.
Various NativeScript Plugin
As a matter of trivia, we know that there are more than 1500 plugins that are available in NativeScript. Here we will see the most widely used plugins in the NativeScript avenue.
Plugin Name | Description of the Plugin |
nativescript | This plugin provides command-line interface for developers to build NativeScript projects. |
@nativescript/core | This plugin provides libraries in JavaScript for developers by providing easy to use API through which iOS and android platform APIs can be accessed. |
@nativescript/hook | This plugin provides the means to install hooks into the project. The hook is a script that enables the execution of commands in the NativeScript command line. Not only that, it also simplifies the scripts’ installations and makes sure that they are saved in the right folder. |
@nativescript/webpack | This plugin enables webpack to be enabled for the programs in NativeScript. Using the webpack one can enjoy a seamless development experience along with providing an appetite for optimizations on page load time by reducing or parallelizing the requests that are made. |
proxy-lab | Proxy lab as a plugin is similar to a getter/setter function that enables developers to get, set or clear any proxy related settings in the NativeScript tooling. getProxySettings, setProxySettings, clearProxySettings are the corresponding methods that are used in this plugin. |
@nativescript/schematics | This plugin enables developers to generate components in the NativeScript applications through the schematics that are present in the plugin and through the medium of the Angular command line. |
nativescript-worker-loader | In continuation to the webpack plugin discussed, this plugin is a forked version of the official version of worker loader for webpack. Installation of the plugin can be done through executing the command: npm i -D nativescript-worker-loader. |
nativescript-intl | This plugin allows developers to use the Native date, time or any similar formatting like number formatting. This uses an API that is similar to Intl.js. |
@nativescript/tslint-rules | As the name suggests, this plugin consists of all the client rules that are required for building NativeScript applications. Tslint is a static analysis module that enables TypeScript in aligning the code to be highly readable and easy to maintain and free f any functionality errors. |
nativescript-preview-sdk | This plugin enables developers to handle communication in any NativeScript Preview application. This plugin is mostly used by the NativeScript playground and the command line interface. |
@nativescript/theme | This plugin is the home to the core NativeScript theme. This houses the light and dark themes of styling and skins to enable beautifying of the applications. In order to add the core theme styling, the core CSS needs to be loaded along with the default skin. |
nativescript-permissions | This plugin, as the name suggests takes care of the Android permissions and is applicable for any version of Android running above version 6. The plugin is launched under the MIT license which means that this plugin can be used in any type of program. The require( ) method allows the usage of the plugin and allows developers to have two courses of action. |
nativescript-dev-xcode | This plugin enables developers with the parser utility for any project files in xcodeproj. This also allows developers to edit the xcodeproject files in accordance to the needs and then write them back out. This plugin is forked from cordova-node-xcode. |
@nativescript/android | This plugin comprises of the android runtime for NativeScript applications. This runtime is analogous to a bridge that exists between the world of JavaScript and Android and performs the role of translator to the respective worlds and without which both the platforms are irrelevant to each other. |
@nativescript/ios | Likewise, to the android version we saw earlier, this plugin is for the iOS portion. Using this plugin, XCode project needs to be prepared using the command ns prepare ios and subsequent tasks of folder and workspace creation is done. |
@nativescript/xplat | This plugin is to add a value pack to Nx workspace which enables generators for additional app and also supports with architecture for other platform combinations. |
@nativescript/shared-notification-delegate | There are some shortcomings that concern the development of applications in iOS and this plugin takes care of order to prevent those shortcomings during the iOS implementation. |
@nativescript/imagepicker | This plugin enables developers to implement multiple image pickers. This plugin supports the iOS8+. Along with that, the plugin uses a QBImagePicker cocoa pod for development. For specifically android intents is used to open stock images and requires explicit permission to read file storage. |
@nativescript/firebase | This plugin is likewise another important one in the NativeScript because this will enable smooth integration of NativeScript application on the firebase platform developed by Google which is offered for application development. |
Conclusion
Here, we have tried to cover plugins that are widely used while it is related to application development and by now we would have a fair idea of the kind of plugins that might be present in the portfolio of NativeScript that enables easy working while building of application using NativeScript.