website icon indicating copy to clipboard operation
website copied to clipboard

☂️ Refactor Plugins and FFI pages

Open mit-mit opened this issue 3 years ago • 3 comments

Page URL

https://docs.flutter.dev/development/packages-and-plugins/developing-packages#plugin-ffi

Describe the problem

The plugins and and FFI docs could use a bit of cleanup.

Relevant pages are:

  • https://docs.flutter.dev/development/packages-and-plugins/developing-packages#plugin-ffi
  • https://docs.flutter.dev/development/platform-integration/c-interop
  • https://github.com/flutter/flutter/wiki/Binding-to-native-code-via-FFI

Issues include:

  1. The 'Developing packages and plugins' page is getting very, very long
  2. There is duplication related to FFI across these three pages

Should include:

  • [ ] │#1913
  • [ ] │#2507
  • [ ] │#7776
  • [x] │#8442
  • [ ] │#5359
  • [ ] │#6715
  • [ ] │#7123
  • [ ] │#7164
  • [ ] │#7379
  • [ ] │#8843

mit-mit avatar May 12 '22 09:05 mit-mit

Also see video https://www.youtube.com/watch?v=05Wn2oM_nWw, referenced in https://github.com/flutter/website/issues/6511

timsneath avatar May 20 '22 01:05 timsneath

We used to have a singular page at /development/platform-integration/c-interop and people keep finding the dead link. Now we don't have any singular entry point for Flutter FFI that's not tied to a specific platform.

Sounds like we should introduce an FFI for Flutter overview page, which can reduce some of the location and be the new destination for that link.

parlough avatar Feb 28 '23 06:02 parlough

From #9072

@mit-mit

Our documentation for how to create plugins (i.e. packages with platform specific code) have grown over time as we added more and more technical capabilities. They are now spread out over two main pages:

Each of these are in different places in the left menu, are each very long, and quite complicated.

I think it may be worthwhile to break this up into some smaller, more targeted pages, each handling just a single topic. For example:

  1. method channels
  2. Dart direct interop (FFI/JNIgen/etc.)
  3. pigeon
  4. package basics
  5. plugins (i.e. packages with platform specific code)
  6. federated plugin packages

atsansone avatar Jul 19 '23 17:07 atsansone