Summary: The redirects we added inline in the deleted pages don't work when there's a baseUrl. This is because it's the standard react-router Redirect component, which knows nothing about docusaurus sites. We could get around that by adding `useBaseUrl()` calls around all of them, but that's not great. So changing to using declarative redirects instead, where they are all put in config. This automatically takes care of base urls, and reduces copy-pasted code. Reviewed By: passy Differential Revision: D25780599 fbshipit-source-id: c67d3643ab28f0fcd440904baf54c67687781686
16 lines
1.5 KiB
Plaintext
16 lines
1.5 KiB
Plaintext
---
|
|
id: index
|
|
title: Features
|
|
---
|
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
|
|
Flipper itself only provides the architectural platform. What makes it useful are the plugins built on top of it: [Logs](logs-plugin), [Layout Inspector](layout-plugin) and [Network Inspector](network-plugin) are all plugins. Plugins can be built very specific to your business logic and the use-cases you have in your app. We are shipping Flipper with a couple of built-in all-purpose plugins, but we encourage you to build your own. Each plugin needs to be enabled individually.
|
|
|
|
<img alt="Plugins" src={useBaseUrl('img/plugins.png')} />
|
|
|
|
## Build your own plugin
|
|
|
|
The Flipper desktop app and the mobile native SDK establish a connection which is used to send data to and from the device. Flipper does not make any restrictions on what kind of data is being sent. This enables a lot of different use-cases where you want to better understand what is going inside your app. For example you can visualize the state of local caches, events happening or trigger actions on your app from the desktop.
|
|
|
|
If there is no plugin that does exactly what you want, you can build your own plugin, tailored to your needs. A plugin always consists of the native implementation sending and receiving data and the desktop plugin visualizing data. Learn more on how to [extend Flipper](../tutorial/intro.mdx) and build your own plugin. The native implementations are written in Java, Objective-C, or C++, the desktop UI is written in React.
|