NativeScript / ui-kit

Various UI plugins including SwiftUI, Jetpack Compose, Flutter, Ionic Portals, HighCharts and more.
Apache License 2.0
11 stars 4 forks source link
capacitor dart flutter highcharts ionic javascript jetpack-compose kotlin nativescript swift swiftui typescript

How to use?

This workspace manages the suite of plugins listed above.

In general, when in doubt with what to do, just npm start.

Testing Flutter

You will need Flutter installed.

  1. Uncomment sections in:

    • tools/assets/App_Resources/iOS/Podfile
    • tools/assets/App_Resources/Android/settings.gradle
  2. To run on Android, build the flutter module first

cd apps/demo/flutter_views/.android

./gradlew Flutter:assemble

Note about "focus modes"

npm start > focus.{any-plugin} ENTER will focus the workspace to a single plugin for working on it in isolation.

The swift-ui plugin is currently managed here and we have testing code for it here: https://github.com/NativeScript/ui-kit/blob/main/tools/assets/App_Resources/iOS/src/BasicViewProvider.swift ... however when focusing on any other plugins, you would need to rename those .swift > .off so they aren't included in the demo to work with other plugins. Since the supporting .swift files include SwiftUIProvider which comes from only the swift-ui plugin.

How to add a new package to workspace?

npm run add

At the prompt, enter the name of the new package.

How to add Angular compatibility to a package

npm run add-angular

At the prompt, enter the name of the package to add an angular folder to it with the necessary boilerplate to provide Angular support to the package.

How to focus on just 1 package to develop in isolation

npm start

Note: good to always clean the demo you plan to run after focusing. (You can clean any demo from npm start as well)

How to publish packages?

npm run publish-packages

Made with ❤️