NativeScript UI is a set of free* components that enable implementing rich-ui applications for iOS and Android by using NativeScript. Progress NativeScript UI is built on top of natively implemented components targeting iOS and Android. Each of the components is available for download on npmjs.com as a separate package.
*Although the components are free, they are not open-source and their code is proprietary. Read the components' license for details.
In case you're interested in contributing to the code base, read the contributing options available.
Continue reading about each component below or take them for a spin with the NativeScript UI sample app on GitHub.
The SideDrawer component (known as RadSideDrawer in code and distributed through the
nativescript-ui-sidedrawer package) allows you to follow a popular application pattern and show a hidden view which contains navigation UI or common settings. With SideDrawer you may:
- Embed any content inside the sliding panel from text and icons, to sliders and filters;
- Set the control to slide in from any of the four sides of the screen;
- Pick from a large set of polished out-of-the-box transition modes;
- Achieve programmatic control over the state of the side drawer;
- Choose to cover the navigation or action bar.
NOTE: The professional ListView component is different from the ListView built in to the core NativeScript modules. Use the professional ListView if you need to take advantage of the advanced functionality listed below.
The ListView component (known as RadListView in code and distributed through the
nativescript-ui-listview package) is a virtualizing list component that provides the most needed features associated with scenarios where a list of items is used. Features include:
- Pull to refresh;
- Load on demand;
- Swipe to execute;
- Header and footer;
- Item animation when the user scrolls, and four out-of-the-box effects to choose from;
Staggeredlayout modes, allowing horizontal and vertical scrolling direction;
- Single and multiple selection modes;
- Smart defaults for many gestures: select on long press, execution of special action on swipe, reorder of items on long press and drag, refreshing the list on swipe, and loading more items only when needed.
The Calendar component (known as RadCalendar in code and distributed through the
nativescript-ui-calendar package) is a highly customizable native calendar abstraction that exposes a unified API, covering:
- Four different view modes -
- Inline and popover events;
- Vast control over styling and cell customization options.
The Chart component includes two types of charts: cartesian (known as RadCartesianChart in code) and pie (known as RadPieChart in code) and is distributed through the
nativescript-ui-chart package. It can be used to visualize data in a human-readable way through lines, areas, bars, pies, and more. Some features include:
- Wide array of accepted data types: numerical, string or
DateTimedata depending on the chart you want to visualize;
- Smooth interaction and zooming;
Various chart series options:
- Show trends with
- Compare sets of data with
- Illustrate proportions with
Donutcharts - and use
Spline Areacharts to plot data that require the use of curve fittings;
- Show relationships among values using
Bubbleseries, even use
Financialseries and indicators.
- Show trends with
- Annotations, tooltips, and trackball;
- Support for multiple axes.
The AutoComplete component (known as RadAutoCompleteTextView in code and distributed through the
nativescript-ui-autocomplete package) offers suggested options to your users based on characters they type. It provides multiple means for easy customization and data management, including:
- Suggest modes - you can choose to show suggestions in a drop-down list, one suggestion at a time in the text input, or a combination of both;
- Two distinct display modes:
Plainin which only one item can be selected, and
Tokensallowing multiple selection of suggestions (each displayed as a token);
- Token Layout modes - Wrap and Horizontal.
The DataForm component (known as RadDataForm in code and distributed through the
nativescript-ui-dataform package) provides an easy and versatile approach for building mobile forms based on a provided data object's public members. Use DataForm to:
- Bind a form to a data object with a single line of code;
- Take advantage of more than 15 built-in editors (or provide your own custom editor);
- Create groups of editors, allow them to be collapsed and style them;
- Display a form in
- Take control over collected data with built-in data validation - use a provided validator or create a custom one.
The Gauge component (known as RadRadialGauge in code and distributed through the
nativescript-ui-gauge package) allows you to display the current status of a value within a range of upper and lower bounds, illustrate progress towards a goal, or a summary of a fluctuating metric. With the gauges component you may:
- Add one or more
RadialScaleinstances to your gauge;
Barindicators to visualize a range of values or a
Needleindicator to point to a specific value;
- Include ready-to-use animations for smooth transition effects.
You can explore the Progress NativeScript UI getting started application, which is publicly available on GitHub. It contains various examples of the usage of the components. More information about how to run the application is available in its README.
In case you want to experience the native side of NativeScript and Progress NativeScript UI to the fullest, you can refer to the official sample NativeScript application. Its source code is located in this GitHub repo. You can easily check how the app works on your device by getting it from AppStore or PlayStore.
Your feedback will be highly appreciated and will directly influence the development of Progress NativeScript UI.
You can submit issues and feedback to the dedicated feedback GitHub repository.