Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(slides): add IonicSwiper modules, deprecate ion-slides, and add link to migration #23447

Merged
merged 6 commits into from Jun 11, 2021

Conversation

liamdebeasi
Copy link
Member

Pull request checklist

Please check if your PR fulfills the following requirements:

  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been reviewed and added / updated if needed (for bug fixes / features)
  • Build (npm run build) was run locally and any changes were pushed
  • Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

  • Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

In Framework v6 we will be deprecating ion-slides in favor of using Swiper.js directly. Over the past 2 years we have received numerous reports of bugs in ion-slides. Bugs that were in Swiper.js were not fixable by us and would require us to continually update the Swiper version bundled with the Framework. This led to unexpected changes and developers getting new versions of Swiper months after the versions were released. Additionally, our usage of ion-slides and the way we bundle Swiper with the Framework meant that there are many features that developers could not use (such as Virtual Slides).

This migration brings several benefits for members of the Ionic Framework community. By using the official Swiper.js framework integrations:

  • Developers can now be in control of the exact version of Swiper.js they want to use. Previously, developers would need to rely on the Ionic Team to update the version internally and release a new version of Ionic Framework.
  • The Ionic Team can spend more time triaging and fixing other non-slides issues, speeding up our development process so we can make Framework work better for our community.
  • Developers should experience fewer bugs.
  • Application bundle sizes can shrink in some cases. By installing Swiper.js as a 3rd party dependency in your application, bundlers such as Webpack or Rollup should be able to treeshake your code better.
  • Developers have access to new features that they previously did not have when using ion-slides.

Important: ion-slides and ion-slide will be removed in Framework v7, so developers should have at least a year to migrate off ion-slides. Additionally, since this is just a deprecation, developers are able to upgrade to Framework v6 without worrying if their slides installation will break.

We are working on proper migration docs here: ionic-team/ionic-docs#1955

Does this introduce a breaking change?

  • Yes
  • No

Other information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
package: angular @ionic/angular package package: core @ionic/core package package: react @ionic/react package package: vue @ionic/vue package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant