
* feat(animation): support animating width/height properties - width/height can be specified in any valid PercentLength form that can be parsed. - make width/height properties be based on animatable CSS property. TODO: affectsLayout???? - add a few basic tests. Could probably use a few more? - fix a few null pointer exceptions in PercentLength helpers * test(ui): add animation examples to ui-tests-app - basic height animation - height animation in StackLayout - fix an issue where strings were not automatically converted to PercentLength when calling directly into `View.animate` * test(ui): cleanup and add summary/details layout example - use height transition to cover textview content. - when clicking on the summary view, animate the summary height up to a small header and show the text view. - fake animating the height on the textview by very subtly animating its translateY value while shrinking the header height. This tricks your mind into think that the text view is also vertically growing, even thought it's just slightly moving up along the Y axis. * test(ui): add animation curves test page - verify all built-in animation curve types work as expected. * test(ui): update animation curve example for multiple properties - add a segmented bar that allows choosing which properties to animate using the various curves. - interestingly, a whole bunch of properties fail with spring on iOS. - refactor width/height animations handlers to remove duplication on iOS. - implement proper spring animation for width/height on iOS. * test(ui): add stress example with 100 labels animating and fps meter - same curve/property selector as the curves example, but with 10x10 grid of items that stagger animate, and an FPS meter. - sadly it looks like width/height animations are considerably slower than the others when you have a bunch of them. I'm not sure that's entirely surprising since they interact with the layout system. - the better news is that even with the army example, my really old android 4 tablet manages ~30fps. On height/width animations from the curves example, the old tablet does fine with no noticeable FPS hit. * refactor: deduplicate existing droid width/height animations - stash to prep for replacing with LayoutTransition. * test(animation): unit tests for extent animation and PercentLength parse - update animation scaffold to allow specifying the parent stack layout height/width - test basic supported units, px, % - test basic percent length parser behaviors * chore: cleanup cruft and remove noise from diff - undo the import mangling that WebStorm helpfully applied - remove .editorconfig file - clean up in tests, remove cruft * chore: cleanup from review - more import changes * chore: remove .editorconfig
NativeScript 
NativeScript is a framework for building native iOS and Android apps using JavaScript and CSS. NativeScript renders UIs with the native platform’s rendering engine, no WebViews, resulting in native-like performance and UX.
NativeScript provides a best-of-both-worlds development experience. Our cross-platform JavaScript modules give you the convenience of writing iOS and Android apps from a single JavaScript codebase, while our runtimes give you the power of accessing native APIs, SDKs, and frameworks when you need them—all without needing to open Xcode or Android Studio. NativeScript was created and is supported by Telerik.
Check out the links below to get started:
- CTO’s guide to NativeScript
- Getting Started and Installation
- Quick Links
- Repositories
- Contributing
- Angular
Important
: NativeScript is an inclusive community, and we expect all NativeScript community members, users, and contributors to treat each other respectfully. As such, all users of this repository must adhere to the NativeScript community code of conduct.
For CTOs
Making the right technology choices is key to success. Our CTO’s guide to NativeScript helps you understand why NativeScript is the right choice for your next mobile project.
Getting Started and Installation
Our Getting Started Guides are hands-on tutorials that walk you through installing NativeScript and building a real iOS and Android application.
Quick Links
Repositories
The NativeScript framework consists of a number of components, all of which are open source and on GitHub. Here are the major ones:
- Cross-platform modules
- This repo contains the NativeScript cross-platform modules, which abstract iOS and Android APIs into JavaScript APIs—e.g.
camera.takePicture()
. The modules are written in TypeScript.
- This repo contains the NativeScript cross-platform modules, which abstract iOS and Android APIs into JavaScript APIs—e.g.
- iOS runtime
- This repo contains the NativeScript iOS runtime—the code that hosts NativeScript iOS apps, and allows JavaScript code to be executed on iOS devices. The iOS runtime is written in a fun mix of C++, Objective-C, and more.
- Android runtime
- This repo contains the NativeScript Android—the code that hosts NativeScript Android apps, and allows JavaScript code to be executed on Android devices. The Android runtime is written in a fun mix of C++ and Java.
- CLI
- This repo contains the NativeScript command-line interface, which lets you create, build, and run apps using the NativeScript framework. The CLI is written in TypeScript.
- Docs
- This repo contains the NativeScript framework documentation, which is available at http://docs.nativescript.org/. The docs are written in Markdown.
In addition to the code that makes up the NativeScript framework itself, we also provide a number of open-source sample apps that you can reference while building your NativeScript application.
Contributing
We love PRs, and accept them for all of our repositories—even docs! Please follow our contribution guide if you want to become part of the project.
Angular
We worked together with the Google Angular team to make Angular 2+ work on top of NativeScript. To use Angular with NativeScript please follow the getting started article.
Get Help
Please, use github issues strictly for reporting a bugs or requesting features. For general NativeScript questions and support, check out the NativeScript community forum.