/** * Copyright (c) 2017-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ const React = require('react'); const CompLibrary = require('../../core/CompLibrary.js'); const MarkdownBlock = CompLibrary.MarkdownBlock; /* Used to read markdown */ const Container = CompLibrary.Container; const GridBlock = CompLibrary.GridBlock; const siteConfig = require(`${process.cwd()}/siteConfig.js`); function imgUrl(img) { return `${siteConfig.baseUrl}img/${img}`; } function docUrl(doc, language) { return `${siteConfig.baseUrl}docs/${language ? `${language}/` : ''}${doc}`; } function pageUrl(page, language) { return siteConfig.baseUrl + (language ? `${language}/` : '') + page; } class Button extends React.Component { render() { return (
{this.props.children}
); } } Button.defaultProps = { target: '_self', }; const SplashContainer = props => (
{props.children}
); const Logo = props => (
Project Logo
); const ProjectTitle = () => (

{siteConfig.title} {siteConfig.tagline}

); const PromoSection = props => (
{props.children}
); class HomeSplash extends React.Component { render() { const language = this.props.language || ''; return (
Star
); } } const Block = props => ( ); const FeatureCallout = () => (

Unleash is a feature toggle system, that gives you a great overview of all feature toggles across all your applications and services. It comes with official client implementations for Java, Node.js, Go, Ruby, Python and .Net.

The main motivation for doing feature toggling is to decouple the process for deploying code to production and releasing new features. This helps reducing risk, and allow us to easily manage which features to enable

); const SASSOffering = () => (

Unleash also comes in a enterprise edition with additional features and a hosted option (SaaS). Check out  unleash-hosted.com

); const UnleashClient = () => (

Client implementations

Unleash has official SDK's for Java, Node.js, Go, Ruby, Python and .Net. And we will be happy to add implementations in other languages written by you! These libraries make it very easy to use Unleash in your application.

Official client SDKs:

  • [unleash/unleash-client-java](https://github.com/unleash/unleash-client-java)
  • [unleash/unleash-client-node](https://github.com/unleash/unleash-client-node)
  • [unleash/unleash-client-go](https://github.com/unleash/unleash-client-go)
  • [unleash/unleash-client-ruby](https://github.com/unleash/unleash-client-ruby)
  • [unleash/unleash-client-python](https://github.com/Unleash/unleash-client-python)
  • [unleash/unleash-client-core](https://github.com/Unleash/unleash-client-core) (.Net Core)

Clients written by awesome enthusiasts:

  • [cognitedata/unleash-client-rust](https://github.com/cognitedata/unleash-client-rust) (Rust)
  • [uekoetter.dev/unleash-client-dart](https://pub.dev/packages/unleash) (Dart)
  • [silvercar/unleash-client-kotlin](https://github.com/silvercar/unleash-client-kotlin) (Kotlin)
  • [minds/unleash-client-php](https://gitlab.com/minds/unleash-client-php) (PHP)
  • [afontaine/unleash_ex](https://gitlab.com/afontaine/unleash_ex) (Elixir)
  • [mikefrancis/laravel-unleash](https://github.com/mikefrancis/laravel-unleash) (Laravel - PHP)
); const TryOut = () => ( {[ { content: 'We have deployed a demo version of [Unleash on Heroku](https://unleash.herokuapp.com). '+ 'Here you can play with the Unleash UI, define some feature toggles and get a feel of how to use Unleash.

'+ 'It is even possible to use one of the Unleash client SDKs and test it out Unleash your application. '+ 'To do this, you should connect one of the clients using the hosted API URL: https://unleash.herokuapp.com/api/.', image: imgUrl('dashboard_new.png'), imageAlign: 'left', align: 'left', title: 'Try Unleash', }, ]}
); const ActivationStrategies = () => ( {[ { content: 'It\'s great to have a system for turning stuff on and off. Sometimes, however, we want more granular control, and we want to decide who the toggle should be enabled for. This is where activation strategies come into the picture. Activation strategies take arbitrary config and allow us to enable a toggle in various ways.', image: imgUrl('logo-inverted.png'), imageAlign: 'right', title: 'Activation strategies', }, ]} ); const Showcase = props => { if ((siteConfig.users || []).length === 0) { return null; } const showcase = siteConfig.users.filter(user => user.pinned).map(user => ( {user.caption} )); return (

Who is Using Unleash?

Unleash is used by

{showcase}
More {siteConfig.title} Users
); }; class Index extends React.Component { render() { const language = this.props.language || ''; return (
); } } module.exports = Index;