1/17/2023 0 Comments Accompanist coilThe main reason for this is just history, as stated above. Why does it live in GitHub and not AndroidX?Īccompanist is developed on GitHub, in the open. When we talk about “upstreaming”, we mean to move the development from Accompanist to the main Compose libraries as an official feature. Accompanist however is developed separately from the main Compose libraries. This group of libraries is known as Jetpack. The main Compose libraries are developed in AndroidX, our open source repository of Android libraries. With the updating of the Compose Roadmap you can see, the next API that is being upstreamed is Flow Layout. We will be ramping up our upstreaming efforts over the next few Compose releases, APIs might change during upstreaming but we are committed to providing an easy migration path for all users of Accompanist. This was originally successfully done with the first Accompanist library, Coil and then was subsequently done with Insets to Compose Foundation. Our goal is to take the most used features from Accompanist and upstream them into the main Compose libraries. By this point, multiple members of the Compose team and the community were working on and contributing to the library and it grew from there.Ĭurrently we have 12 active libraries and 1 deprecated library ( Insets as it has been upstreamed) in Accompanist. This was also when the library was moved from Chris’s personal account to an official Google library and the package name was changed from to accordingly. Pager, Pager Indicators, System UI Controller and Flow Layouts. Window insets handling was added next, followed by AppCompat theme adapter and then in 0.7.0 a further 4 libraries were added. The first ever Accompanist library was a Coil wrapper for loading images asynchronously. Accompanist was created as a place to release this code for others to use. The team wrote a lot of code to make the apps work. Both from Compose itself but also from a lack of early support by other libraries. The Compose team were developing the Compose samples and as Compose was still in very early development, there were a lot of gaps in the feature set they required. Accompanist was initially developed by Chris Banes and the Compose team during the early days of Compose. HistoryĪnother major part of the reason Accompanist exists is history. The goal of Accompanist is to eventually not exist, that as the AndroidX Compose libraries mature & stabilize, all functionality is upstreamed. These rules are further detailed later in the post as well. This table summarizes the different rules that apply to different API locations. When we need them to be longer lasting as experimental or aren’t sure the feature makes sense, Accompanist is where they live. We also try to have them out of Experimental as fast as possible, we know this doesn’t always happen but that is the goal. For example, navigation transitions require some experimental animation APIs so cannot be built within navigation-compose but can be built in Accompanist.įor standalone features, you might think, why not just mark the APIs as Experimental in AndroidX? When we add an experimental API to AndroidX, we are confident that the feature will exist in some form but possibly the API will change shape. There were features we knew we could develop that wouldn’t be allowed in AndroidX. Why does Accompanist exist?Ī major reason for Accompanist’s existence is the fact that AndroidX does not allow experimental API usage across different modules. We frequently get asked a lot of questions about this library and so thought we could write a post to answer some of the most asked Accompanist questions. We want to upstream the libraries into the official toolkit, at which point they will be deprecated and removed from Accompanist.Ĭurrently in Accompanist you can find libraries for Flow Layouts, Pager, Navigation Transitions, Swipe Refresh and more. We use it to help fill known gaps in the Compose toolkit, experiment with new APIs and to gather insight into the development experience of developing a Compose library. Accompanist is a group of libraries that aim to supplement Jetpack Compose with features that are commonly required by developers but not yet officially supported in Jetpack Compose AndroidX libraries.Īccompanist is a labs-like environment for new Compose APIs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |