Contributing to NativeScript

NativeScript is an open source project and we happily accept community contributions. Whether you’re interested in writing code, documentation, or new plugins, NativeScript has plenty of unique ways for you to contribute to the NativeScript ecosystem.

Let’s look at the various ways you can contribute to NativeScript.


Two quick notes before we get started:

  1. Anyone wishing to contribute to the NativeScript project must read & sign the NativeScript Contribution License Agreement. Thanks for being cool about that.
  2. NativeScript is an inclusive community, and we expect all contributors to treat each other respectively. As such, all NativeScript contributors must adhere to the NativeScript community code of conduct.

Documentation

While not terribly glamorous, documentation is often the easiest place to get started contributing to any open source project. It’s also something that virtually everyone reads and uses, so your documentation work can have a big impact on the NativeScript community. The NativeScript documentation lives in a series of Markdown files in the NativeScript/docs repository.

Don’t know where to start? Look for issues that have an “up-for-grabs” label.

NOTE: New to open source and don’t know how to submit a pull request? Check out Kent Dodd’s free video walkthrough on the topic.

Code

The main NativeScript code repository is the series of TypeScript modules that live in the NativeScript/NativeScript repo. If you’re interested in contributing to those modules, read through the detailed module contributing guide before getting started.

There are many other code repositories in the NativeScript world you might also be interested in contributing to.

  • nativescript-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.

  • nativescript-angular

    • This repository contains the TypeScript code that integrates Angular with NativeScript.

  • 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.

And these are just the main NativeScript repositories. Explore the NativeScript organization on GitHub for a full list of repos you can contribute to.

Plugins

Are you interested in writing code, but finding it overwhelming to figure out how to contribute to one of the main NativeScript repositories?

You’re not alone. It can be difficult to jump into an unfamiliar codebase and immediately make meaningful contributions. It’s really something that you work up to. In NativeScript, an easier place to get started is by writing a NativeScript plugin.

The great thing about NativeScript plugins is that you’re basically writing a NativeScript module, so you get familiar with NativeScript’s coding conventions while maintaining the freedom to experiment.

If you’re interested, look through the list of plugins on http://plugins.nativescript.org for inspiration. If you’re looking for help coming up with plugin ideas, try asking around on the NativeScript community forum.

Support

Large open source tools generate an enormous number of community questions, requests, and discussions, and NativeScript is no different. The NativeScript core team can only feasibly participate in so many of these conversations, and as such, community support is invaluable to keeping the project running smoothly.

Plus, providing support—whether it’s on Stack Overflow, a forum, Slack, or wherever—is a great way to learn more about a project, and to prepare yourself for contributing code directly. Here are a few ways you can help.

  • NativeScript community forum

    • The community forum is a place where NativeScript users of all experience levels come looking for assistance. Check in and see if you can help answer the questions that come in.

  • The “NativeScript” tag on Stack Overflow

    • Stack Overflow attracts developer questions for all sorts of technology stacks, including NativeScript. Try answering a few NativeScript questions and building your Stack Overflow reputation.

Stay connected with NativeScript

NativeScript
NativeScript is licensed under the Apache 2.0 license .
© 2017 Progress Software Corporation. All Rights Reserved.