# Welcome to the NativeScript framework repository 

## What is the NativeScript framework

With the NativeScript framework you can use your JavaScript and CSS skills to write native mobile applications for [iOS](https://www.apple.com/ios/), [Android](https://www.android.com/) and (soon) [Windows Phone](http://www.windowsphone.com/en-us). There is no *WebView* involved in rendering the app, as the UI is rendered by the native platform's rendering engine. Because of that, the app's entire UX **is** native.

The NativeScript framework enables you to use a complete stack of cross-platform APIs to write your application code or, if you need to, you can directly access all platform-specific native APIs using JavaScript only. That’s right—you can access all native APIs, not only the ones we thought would be useful!

We did not want to create just yet another ecosystem around a native cross-platform framework. We wanted to integrate and play well with all existing JavaScript and native iOS/Android/Windows ecosystems. That is why we also support using existing JavaScript libraries, as well as existing native Objective-C, Java and .NET libraries. We want to stress that you *don't need to know Objective-C, Java or .NET* in order to reuse these libraries—their entire APIs are available in JavaScript with no changes.
  
Because of the features listed above you get some important functionality right out of the box. The first is that applications built using the NativeScript framework support the same accessibility  models as native apps. This is important for anyone creating apps that need to meet certain accessibility standards before going live. This is also very useful when you start implementing functional or unit tests for your app. Several existing cross-platform tools like [Appium](http://www.appium.io) already work directly with the NativeScript framework and provide accessibility automation.
  
The second major feature you get out of the box is 0-day support for new native platforms. Because the NativeScript framework  exposes unmodified native APIs and UI components, you can use the latest native APIs and new UI components when Apple, Google or Microsoft updates their mobile platforms.
  
 So let’s summarize what the NativeScript framework enables you as of today:

 - Build 100% native cross-platform apps, with a declarative UI, and the ability to implement platform-specific UIs.
 - Share 100% of your code or use platform-specific APIs, depending on the app you’re building.
 - Code in standards-based ECMAScript 5 JavaScript. ES6 support is coming soon.
 - Use standards-based CSS syntax for styling.
 - Use rich data binding and existing UI patterns to easily build complex user interfaces.
 - Reuse any native library available in Objective-C, Java or .NET.
 - Reuse any JavaScript library that is not browser-dependent.
 - Reuse the QA tools for accessibility automation to write tests.
 - Use the latest native platform features to create an amazing native user experience.
 - Code in any IDE of your choice to implement your applications’ code using the [NativeScript framework's CLI](http://npmjs.org/nativescript).
 - Use  [Telerik Platform](http://platform.telerik.com) and AppBuilder products and the full Visual Studio integration to get a rich development experience. Paid support is also available.
   
We hope this gives you a good idea about what you can expect from the NativeScript framework.

To learn more about the NativeScript framework, you can check the following resources:

- [The NativeScript framework web site](http://www.nativescript.org)
- [The NativeScript framework blog](http://www.nativescript.org/blog)


## Most popular repositories:
- **[The current repo](//github.com/NativeScript/NativeScript/)** - Stores the code of the cross-platform modules, written in TypeScript
- **[iOS Runtime](//github.com/NativeScript/ios-runtime/)** - Holds the runtime, allowing the JavaScript code of your application to be executed on an iOS device
- **[Android Runtime](//github.com/NativeScript/android-runtime)** - Holds the runtime, allowing the JavaScript code of your application to be executed on an Android device
- **[NativeScript CLI](//github.com/NativeScript/nativescript-cli)** - Contains the Command-Line Interface for creating an application using the NativeScript framework
- **[Docs](//github.com/NativeScript/docs)** - Contains the NativeScript framework documentation (available on http://docs.nativescript.org/) in MarkDown format
- **[Tasks app](//github.com/NativeScript/sample-Tasks)** - Stores the code of a complete sample application using user authentication and cloud storage.
- **[Hello-World Template](//github.com/NativeScript/template-hello-world)** - Contains the code of the application the CLI creates by default
- **[Cuteness Sample](//github.com/NativeScript/sample-cuteness)** - Stores the code of the Cuteness proof of concept application (A Reddit Kitten browser)

## Getting Started and How to Install the NativeScript framework
Please follow this [article to get started with the NativeScript framework](http://docs.nativescript.org/getting-started).

## Documentation
Comprehensive documentation is available at [docs.nativescript.org](http://docs.nativescript.org).

## Helping us to improve the NativeScript framework
We love PRs! Please follow our [contribution guide](https://www.nativescript.org/contribute) if you want to become part of the project.

## Contact info
- **Web site** - [http://nativescript.org](http://nativescript.org)
- **Twitter** - [@NativeScript](http://twitter.com/NativeScript) 
- **Blog** - [http://nativescript.org/blog](http://nativescript.org/blog)
- **Forum** - [General discussion](https://groups.google.com/forum/#!forum/nativescript)
- **StackOverflow** - [http://stackoverflow.com/questions/tagged/nativescript](http://stackoverflow.com/questions/tagged/nativescript)
- **IRC Chatroom** - [http://webchat.freenode.net/?channels=nativescript](http://webchat.freenode.net/?channels=nativescript)
