# NativeScript/NativeScript

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/nativescript-nativescript).**

25,446 stars · 1,733 forks · TypeScript · mit

## Links

- GitHub: https://github.com/NativeScript/NativeScript
- Homepage: https://nativescript.org
- awesome-repositories: https://awesome-repositories.com/repository/nativescript-nativescript.md

## Topics

`android` `angular` `capacitor` `cross-platform` `flutter` `ios` `java` `javascript` `kotlin` `nativescript` `objective-c` `react` `solidjs` `svelte` `swift` `swiftui` `typescript` `visionos` `visionpro` `vue`

## Description

NativeScript is a cross-platform mobile development framework that enables the creation of native iOS and Android applications using JavaScript or TypeScript. It provides a direct bridge to native platform APIs, allowing developers to invoke native classes, methods, and properties directly from script code while maintaining full access to underlying mobile operating system features.

The framework distinguishes itself through its direct native UI rendering, which maps declarative markup components to actual platform-native widgets rather than web-based views. This architecture is supported by metadata-driven type generation, which creates language-specific definitions from native headers to provide compile-time safety and IDE autocompletion when interacting with native platform services.

Beyond its core bridging capabilities, the project includes a comprehensive suite of tools for managing the entire mobile development lifecycle. This includes reactive state management for UI synchronization, automated native memory management, and a robust plugin development kit for extending applications with custom native code. The platform also provides extensive diagnostic and observability utilities, including performance monitoring, error handling, and background task management to ensure responsive application behavior.

## Tags

### Mobile Development

- [Cross-Platform Frameworks](https://awesome-repositories.com/f/mobile-development/cross-platform-frameworks.md) — Provides a framework for building native mobile applications using JavaScript or TypeScript with full platform access.
- [Native Platform Access](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations/native-platform-access.md) — Provides direct access to underlying native platform objects and APIs for full system integration. ([source](https://docs.nativescript.org/core/application))
- [Android Activity Lifecycle Management](https://awesome-repositories.com/f/mobile-development/android-activity-lifecycle-management.md) — Provides hooks to monitor and respond to Android activity lifecycle events during application navigation. ([source](https://docs.nativescript.org/core/application))
- [Android Platform Integrations](https://awesome-repositories.com/f/mobile-development/android-ecosystem/android-platform-integrations.md) — Provides direct access to the underlying Android application instance and active activity for platform-specific operations. ([source](https://docs.nativescript.org/api/class/AndroidApplication))
- [Build Tools](https://awesome-repositories.com/f/mobile-development/build-and-tooling/build-tools.md) — Automates the process of creating, building, and running mobile applications through a command-line interface. ([source](https://cdn.jsdelivr.net/gh/NativeScript/NativeScript@main/README.md))
- [Plugin Development Kits](https://awesome-repositories.com/f/mobile-development/plugin-development-kits.md) — Provides a standardized kit for developing and distributing reusable mobile extensions with custom native code.
- [Navigators](https://awesome-repositories.com/f/mobile-development/navigation-routing/navigators.md) — Maintains a record of visited pages within a frame to enable navigation history tracking. ([source](https://docs.nativescript.org/api/interface/BackstackEntry))
- [Navigation Interceptors](https://awesome-repositories.com/f/mobile-development/navigation-routing/navigators/navigation-interceptors.md) — Prevents default back button behavior by setting cancellation flags to trigger custom navigation logic. ([source](https://docs.nativescript.org/api/interface/AndroidActivityBackPressedEventData))

### Development Tools & Productivity

- [Mobile Development Tools](https://awesome-repositories.com/f/development-tools-productivity/mobile-development-tools.md) — Provides a development environment that bridges script code with native languages to access mobile OS features.
- [Plugin Development Kits](https://awesome-repositories.com/f/development-tools-productivity/plugin-development-kits.md) — Offers a toolkit for creating, testing, and distributing reusable mobile extensions that integrate native capabilities.
- [Type Generation Tools](https://awesome-repositories.com/f/development-tools-productivity/type-generation-tools.md) — Generates static type definitions from native metadata to enable IDE autocompletion and compile-time safety. ([source](https://docs.nativescript.org/guide/native-code/generate-typings))
- [Application Error Handling](https://awesome-repositories.com/f/development-tools-productivity/application-error-handling.md) — Intercepts and logs unhandled exceptions through custom handlers to ensure application stability and debuggability. ([source](https://docs.nativescript.org/guide/crash-reporting-sentry))

### Operating Systems & Systems Programming

- [Native API Bridges](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations/native-api-bridges.md) — Bridges script code with native operating system features to invoke platform-specific methods and hardware capabilities.
- [Native API Invocation Runtimes](https://awesome-repositories.com/f/operating-systems-systems-programming/native-system-interfacing/native-api-invocation-runtimes.md) — Calls native platform capabilities directly from script code using provided type definitions and runtime bridges to interact with underlying operating system features. ([source](https://cdn.jsdelivr.net/gh/NativeScript/NativeScript@main/README.md))
- [Native System Integrations](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations.md) — Enables extending application functionality by adding native source files accessible from script code. ([source](https://docs.nativescript.org/guide/adding-native-code))
- [Native Method Selectors](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations/native-method-selectors.md) — Maps native selectors to script functions by concatenating argument names, allowing direct execution of native methods with multiple parameters. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [Native Property Accessors](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-abstractions/native-interoperability-bindings/native-system-integrations/native-property-accessors.md) — Interacts with native properties and extension functions by utilizing generated getter and setter methods or passing the target instance as a function parameter. ([source](https://docs.nativescript.org/guide/android-marshalling))
- [Native System Interfacing](https://awesome-repositories.com/f/operating-systems-systems-programming/native-system-interfacing.md) — Provides runtime capability to implement native interfaces by satisfying required methods during instantiation. ([source](https://docs.nativescript.org/guide/extending-classes-and-implementing-interfaces-android))

### Programming Languages & Runtimes

- [JavaScript-to-Native Bridges](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/javascript-to-native-bridges.md) — Exposes native platform APIs to script code by dynamically mapping native classes, methods, and properties into the runtime environment.
- [Native Class Subclassing](https://awesome-repositories.com/f/programming-languages-runtimes/class-inheritance/native-class-subclassing.md) — Allows creation of custom subclasses of existing native classes to override methods and add functionality. ([source](https://docs.nativescript.org/guide/extending-classes-and-implementing-interfaces-android))
- [Native Class Wrappers](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/javascript-to-native-bridges/native-class-wrappers.md) — Maps native classes to script constructor functions and instances to wrapper objects while maintaining prototype chains and identity equality. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [Native Memory Lifecycle Management](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/native-c-interoperability/native-memory-lifecycle-management.md) — Provides automated memory management for native C-based objects, offering manual control over reference counting for unmanaged instances. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [Reactive Array Tracking](https://awesome-repositories.com/f/programming-languages-runtimes/programming-utilities/data-structure-type-helpers/data-type-utilities/array-element-finding/array-modification-utilities/reactive-array-tracking.md) — Monitors array modifications to trigger notifications and keep the user interface synchronized. ([source](https://docs.nativescript.org/api/class/ObservableArray))
- [Collection Converters](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/javascript-to-native-bridges/collection-converters.md) — Facilitates seamless data exchange by converting between native platform arrays and script-based collections. ([source](https://docs.nativescript.org/core/utils))
- [Native Structure Mappers](https://awesome-repositories.com/f/programming-languages-runtimes/language-interoperability/interoperability/javascript-to-native-bridges/native-structure-mappers.md) — Exposes native structures as script objects, allowing developers to pass plain objects with matching shapes to native APIs. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [Native Protocol Conformance](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments/runtimes/desktop-and-native-integration/native-protocol-conformance.md) — Exposes native protocols as script objects to facilitate class subclassing and runtime checks for protocol conformance. ([source](https://docs.nativescript.org/guide/ios-marshalling))

### User Interface & Experience

- [Component Data Binding](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/communication-data-flow/component-data-binding.md) — Implements reactive data binding to synchronize interface properties with underlying data sources automatically. ([source](https://docs.nativescript.org/api/interface/BindingOptions))
- [Native UI Primitives](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/native-ui-primitives.md) — Maps declarative UI components directly to underlying platform-native widgets to ensure a fully native look and feel.
- [Cross-Platform Development](https://awesome-repositories.com/f/user-interface-experience/cross-platform-development.md) — Enables building native iOS and Android applications from a single codebase with direct access to platform APIs.
- [Declarative UI Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/rendering-models/declarative-frameworks/declarative-ui-frameworks.md) — Uses declarative markup to define user interfaces that render as high-performance native platform components.
- [Declarative UI Toolkits](https://awesome-repositories.com/f/user-interface-experience/declarative-ui-toolkits.md) — Constructs mobile interfaces using declarative markup and reactive data binding to synchronize state with native views.
- [Gesture Recognition](https://awesome-repositories.com/f/user-interface-experience/gesture-recognition.md) — Implements native gesture recognition to detect and respond to user swipe actions across mobile platforms. ([source](https://docs.nativescript.org/api/enum/SwipeDirection))
- [Native Control Embedding](https://awesome-repositories.com/f/user-interface-experience/native-control-embedding.md) — Embeds platform-specific interface components directly into the application visual tree. ([source](https://docs.nativescript.org/api/class/Placeholder))
- [Buttons](https://awesome-repositories.com/f/user-interface-experience/buttons.md) — Displays standard interactive button widgets that map to native platform controls. ([source](https://docs.nativescript.org/api/class/Button))
- [Tabbed Interfaces](https://awesome-repositories.com/f/user-interface-experience/data-display-components/tabbed-interfaces.md) — Organizes application content into tabbed navigation interfaces for switching between views within a single screen. ([source](https://docs.nativescript.org/ui/tab-view))
- [Reactive State Management](https://awesome-repositories.com/f/user-interface-experience/reactive-state-management.md) — Synchronizes application data with the user interface using observable patterns for automatic state updates.
- [Alert Components](https://awesome-repositories.com/f/user-interface-experience/ui-components/feedback-overlay-components/alert-components.md) — Displays native modal alert components to capture user acknowledgement before continuing application flows. ([source](https://docs.nativescript.org/ui/dialogs))
- [Virtual Scrolling Utilities](https://awesome-repositories.com/f/user-interface-experience/virtual-scrolling-utilities.md) — Optimizes large list performance by recycling views as they move off-screen during scrolling. ([source](https://docs.nativescript.org/ui/list-view))
- [Date and Time Pickers](https://awesome-repositories.com/f/user-interface-experience/date-and-time-pickers.md) — Provides native calendar interfaces for selecting specific dates. ([source](https://docs.nativescript.org/ui/date-picker))
- [Display Metrics](https://awesome-repositories.com/f/user-interface-experience/display-metrics.md) — Provides access to physical screen dimensions and pixel density for responsive layout rendering. ([source](https://docs.nativescript.org/core/screen))
- [Dynamic List Rendering](https://awesome-repositories.com/f/user-interface-experience/dynamic-list-rendering.md) — Generates lists from data collections by applying templates to each item. ([source](https://docs.nativescript.org/api/class/Repeater))
- [Safe Area Metrics](https://awesome-repositories.com/f/user-interface-experience/safe-area-metrics.md) — Retrieves device-specific inset values to calculate available screen space around system UI elements. ([source](https://docs.nativescript.org/api/class/ViewCommon))
- [System Appearance Syncers](https://awesome-repositories.com/f/user-interface-experience/system-appearance-syncers.md) — Synchronizes application visual themes automatically with system-wide light or dark mode preferences. ([source](https://docs.nativescript.org/api/class/ApplicationCommon))
- [Text Editing Components](https://awesome-repositories.com/f/user-interface-experience/text-editing-components.md) — Provides text entry fields with support for password masking and platform-specific styling. ([source](https://docs.nativescript.org/api/class/TextField))
- [Custom Event Emission](https://awesome-repositories.com/f/user-interface-experience/component-utilities/ui-frameworks/component-apis/event-communication-systems/event-emission-declarations/custom-event-emission.md) — Enables triggering notifications for custom actions or property changes to inform registered listeners. ([source](https://docs.nativescript.org/core/observable))
- [Multi-line Text Inputs](https://awesome-repositories.com/f/user-interface-experience/data-display-components/list-components/multi-line-item-renderers/multi-line-text-inputs.md) — Renders text entry fields that support multiple lines for longer-form content. ([source](https://docs.nativescript.org/api/class/TextView))
- [Dynamic UI Renderers](https://awesome-repositories.com/f/user-interface-experience/dynamic-ui-renderers.md) — Generates native components from external strings or modules at runtime for flexible interface rendering. ([source](https://docs.nativescript.org/api/class/Builder))
- [Flexbox Layouts](https://awesome-repositories.com/f/user-interface-experience/flexbox-layouts.md) — Positions child elements in flexible containers using alignment and ordering rules. ([source](https://docs.nativescript.org/ui/flexbox-layout))
- [Grid Layout Engines](https://awesome-repositories.com/f/user-interface-experience/grid-layout-engines.md) — Defines grid row and column dimensions to control element positioning. ([source](https://docs.nativescript.org/api/class/ItemSpec))
- [Keyframe Animation Engines](https://awesome-repositories.com/f/user-interface-experience/keyframe-animation-engines.md) — Defines complex motion sequences using keyframe-based timing and value interpolation for interface elements. ([source](https://docs.nativescript.org/api/class/KeyframeAnimationInfo))
- [Custom Layouts](https://awesome-repositories.com/f/user-interface-experience/layout-components/custom-layouts.md) — Enables the definition of custom structures for managing the positioning and arrangement of child elements. ([source](https://docs.nativescript.org/api/class/CustomLayoutView))
- [Modal Management](https://awesome-repositories.com/f/user-interface-experience/modal-management.md) — Manages secondary views as overlays to capture user input without navigating away. ([source](https://docs.nativescript.org/api/class/ViewCommon))
- [Progress Indicators](https://awesome-repositories.com/f/user-interface-experience/progress-indicators.md) — Renders visual bars to track and display task completion status. ([source](https://docs.nativescript.org/ui/activity-indicator))
- [Range Sliders](https://awesome-repositories.com/f/user-interface-experience/range-sliders.md) — Provides slider interfaces for selecting numeric values within a defined range. ([source](https://docs.nativescript.org/ui/slider))
- [Toggle Switches](https://awesome-repositories.com/f/user-interface-experience/toggle-switches.md) — Provides native toggle switch components for binary state selection in user settings. ([source](https://docs.nativescript.org/api/class/Switch))

### Software Engineering & Architecture

- [Application Lifecycle Monitors](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-monitors.md) — Tracks and responds to cross-platform application lifecycle events like launch, suspension, and memory warnings. ([source](https://docs.nativescript.org/core/application))
- [Native Script Execution Environments](https://awesome-repositories.com/f/software-engineering-architecture/native-bridges/native-script-execution-environments.md) — Runs script code natively on mobile devices by bridging execution environments with platform-specific languages like Swift, Kotlin, and C++. ([source](https://cdn.jsdelivr.net/gh/NativeScript/NativeScript@main/README.md))
- [iOS Delegate Hooks](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-managers/ios-delegate-hooks.md) — Hooks into the native iOS application delegate to manage system-level lifecycle events. ([source](https://docs.nativescript.org/core/application))
- [Property Reactivity](https://awesome-repositories.com/f/software-engineering-architecture/change-tracking-systems/property-reactivity.md) — Converts standard data objects into reactive instances for automatic UI synchronization. ([source](https://docs.nativescript.org/core/observable))
- [Application Integration](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/application-integration.md) — Integrates pre-built modules to access native platform features like biometrics, camera, contacts, maps, and payment gateways. ([source](https://docs.nativescript.org/plugins/))
- [Native Bridge Memory Management](https://awesome-repositories.com/f/software-engineering-architecture/native-bridges/native-bridge-memory-management.md) — Converts native blocks into script functions and vice versa while automatically managing memory retention to prevent leaks during callback execution. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [Application Lifecycle Management](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management.md) — Allows definition of custom application classes to execute logic during the earliest stages of the launch process. ([source](https://docs.nativescript.org/guide/extending-classes-and-implementing-interfaces-android))
- [Native Object Accessors](https://awesome-repositories.com/f/software-engineering-architecture/object-mapping-apis/native-object-accessors.md) — Exposes Kotlin companion objects, singleton instances, and package-level functions to script code through standard field and method access patterns. ([source](https://docs.nativescript.org/guide/android-marshalling))
- [Type Definition Generators](https://awesome-repositories.com/f/software-engineering-architecture/type-definition-generators.md) — Generates language-specific type definitions from native platform headers to enable IDE autocompletion and compile-time safety.
- [Error Handling](https://awesome-repositories.com/f/software-engineering-architecture/error-handling.md) — Allows registration of global error handlers to process exceptions based on custom business logic. ([source](https://docs.nativescript.org/core/tracing))
- [Native Bridges](https://awesome-repositories.com/f/software-engineering-architecture/native-bridges.md) — Handles the lifecycle of native objects and C-based structures by bridging garbage collection with native reference counting.

### Data & Databases

- [Data Synchronization Tools](https://awesome-repositories.com/f/data-databases/data-management/data-migration-synchronization/data-synchronization-tools.md) — Synchronizes data objects with interface elements to ensure automatic view updates. ([source](https://docs.nativescript.org/core/observable))
- [Data Serialization](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization.md) — Converts data between JavaScript and native platform formats for seamless API communication. ([source](https://docs.nativescript.org/core/utils))
- [Script-to-Native Type Mappings](https://awesome-repositories.com/f/data-databases/type-mapping-frameworks/script-to-native-type-mappings.md) — Converts script types including numbers, arrays, and null values into their corresponding native equivalents to ensure compatibility with platform APIs. ([source](https://docs.nativescript.org/guide/android-marshalling))
- [Type Conversion Utilities](https://awesome-repositories.com/f/data-databases/data-type-mappings/type-conversion-utilities.md) — Translates automatically between native platform types and script equivalents during runtime. ([source](https://docs.nativescript.org/guide/ios-marshalling))
- [XML Parsers](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-serialization/xml-parsers.md) — Parses XML strings into structured data using event-based callbacks during the parsing lifecycle. ([source](https://docs.nativescript.org/core/xml-parser))
- [Native Search Inputs](https://awesome-repositories.com/f/data-databases/database-management-systems/database-systems-management/database-administration-interfaces/search-query-interfaces/native-search-inputs.md) — Provides native search field widgets that map directly to platform-specific input controls. ([source](https://docs.nativescript.org/api/class/SearchBar))
- [File-Based Storage Systems](https://awesome-repositories.com/f/data-databases/file-based-storage-systems.md) — Manages local file system directories for organizing application data. ([source](https://docs.nativescript.org/api/class/Folder))

### Business & Productivity Software

- [Reactive Property Listeners](https://awesome-repositories.com/f/business-productivity-software/data-change-listeners/reactive-property-listeners.md) — Notifies registered listeners whenever a property value changes to enable reactive state updates. ([source](https://docs.nativescript.org/api/class/Observable))

### Networking & Communication

- [System Broadcast Listeners](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-paradigms/broadcasting-patterns/global-broadcasting/system-broadcast-listeners.md) — Registers and manages listeners for system-level broadcast intents to handle external events. ([source](https://docs.nativescript.org/core/application))
- [Broadcast Receivers](https://awesome-repositories.com/f/networking-communication/broadcast-messaging-channels/broadcast-receivers.md) — Registers and unregisters native broadcast receivers to listen for system-wide intent messages. ([source](https://docs.nativescript.org/api/class/AndroidApplication))
- [Network Connection Detectors](https://awesome-repositories.com/f/networking-communication/network-connection-detectors.md) — Identifies the current network state of the device, such as whether it is using cellular data, Wi-Fi, or is currently offline. ([source](https://docs.nativescript.org/core/connectivity))

### System Administration & Monitoring

- [Application Performance Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/application-performance-monitoring.md) — Tracks runtime performance metrics like frames-per-second to identify bottlenecks and ensure smooth UI interactions. ([source](https://docs.nativescript.org/core/fps-meter))

### Testing & Quality Assurance

- [Memory Leak Detection](https://awesome-repositories.com/f/testing-quality-assurance/debugging-diagnostics/memory-leak-detection.md) — Prevents memory leaks by utilizing weak event listeners to ensure proper garbage collection. ([source](https://docs.nativescript.org/core/observable))
- [Memory Pointers](https://awesome-repositories.com/f/testing-quality-assurance/general-testing-utilities/test-utilities-assertions/browser-ui-interaction/component-interaction-testing/pointer-interaction-tools/memory-pointers.md) — Enables direct interaction with native APIs by providing a reference object mechanism for memory locations. ([source](https://docs.nativescript.org/guide/ios-marshalling))

### Web Development

- [Event Listener Management](https://awesome-repositories.com/f/web-development/browser-integration-utilities/dom-event-handling/event-listener-management.md) — Manages the registration and cleanup of event listeners to handle user interactions and lifecycle events. ([source](https://docs.nativescript.org/core/observable))
- [Remote Data Fetching](https://awesome-repositories.com/f/web-development/remote-data-fetching.md) — Retrieves data from network endpoints and automatically parses responses into usable formats. ([source](https://docs.nativescript.org/core/http))
