The Android SDK is a software development kit built for developers building for Google's Android Platform. It includes tools for building, testing, and debugging Android applications.
Android Studio is the official Integrated Development Environment (IDE) for Native Android app development.
Autoprefixer is a tool that adds vendor-specific-prefixes to hand-written Sass/CSS code. This ensures that standardized CSS rules you write will be applied across all supporting browsers. For example, instead of having to know every flexbox syntax used by various browsers, autoprefixer allows you to just write
display: flex; and it'll automatically plug in the correct CSS.
Bundling is the process of taking an app's dependencies (code you've written plus any npm modules installed) and compiling/transpiling them down to one single file.
A CLI, or Command-Line Interface, is a text-based interface for interacting with a program. The common command-line app for a Mac user is the Terminal app, and Windows users often use Command Prompt.
Decorators are expressions that return a function. They allow you to take an existing function, and extend its behavior. With TypeScript, you can also decorate classes and parameters. When you decorate a class, you are wrapping and extending the behavior of its constructor. In other words, the decorator will add some functionality when the constructor is called, and will then return the original constructor. When you decorate a parameter, you are wrapping the argument that gets passed in for that parameter. The decorator will add functionality when an argument is passed to the method, and then return the original argument.
Genymotion is a third-party Android emulator. It is extremely fast, and is useful for quickly testing your app on Android. Check out our resource section on Genymotion for more info.
Git is a distributed version control system for managing code. It allows development teams to contribute code to the same project without causing code conflicts.
Karma is a test runner that will run an app's test inside a real browser. It executes test cases, written in any testing framework, in a real browser. Karma was originally written for use with Angular 1.
A monorepo is a single git repository with multiple projects. Advantages include simpler organization, shared tooling and dependencies, and better collaboration with teammates.
Live Reload (or live-reload) is a tool that automatically reloads the browser or Web View when it detects changes in your app. In some cases, it can replace parts of your app without having to reload the entire window. See the Live Reload docs for more information.
An observable is an object that emits events (or notifications). An observer is an object that listens for these events, and does something when an event is received. Together, they create a pattern that can be used for programming asynchronously.
Referred to by Apple as Bundle ID and by Android as Application ID, the Package ID is used for identifying apps published to the App Store/Play Store. It is a string formatted in reverse-DNS notation.
A polyfill is a bit of code that adds functionality to the browser and normalizes browser differences. This is similar to a shim, but where a shim has it's own API, a polyfill let's the expect API of the browser be used.
Protractor is a testing framework written for and by the Angular team. Protractor can be used with test runners, like Karma, for end-to-end testing. Test runners allow you to quickly and programmatically verify code quality.
You may be familiar with variables from Sass. CSS Variables enable the same functionality but are built into the browser. CSS Variables are available in all evergreen browsers.
A shim is a piece of code that normalizes an APIs across browsers. A shim can have it's own API that hides the browser specific implementation from the end user.
Unit Tests and unit testing are a way to test small pieces of code to see if they behave as expected. Unit testing frameworks include Jasmine, Mocha, QUnit, and many others.
The World Wide Web Consortium (W3C) is the standards organization for the Web. Together, industry leaders and the public work together to develop web standards, which are a set of protocols, specifications, and technologies that define the Web Platform.
Xcode is an Apple IDE (integrated development environment) for software development on Apple operating systems (macOS, iOS, watchOS and tvOS), with extensions available for other languages and platforms.