Ionic, a mobile application framework, initially relied on JavaScript scrolling to implement features like pull to refresh, list reordering, and infinite scrolling due to limitations in early iOS and Android versions that lacked proper native scroll events. While JavaScript scrolling enabled advanced functionalities, it consumed significant processor resources and required modifications to native touch events. As Android evolved to support asynchronous native scroll events with versions 4.1 and later, Ionic adopted native scrolling for smoother performance. However, iOS's WkWebView, introduced in iOS 8, faced issues with the file protocol, necessitating continued use of JavaScript scrolling to ensure accurate inertia effects. Despite these challenges, Ionic's collection-repeat feature still relies on JavaScript scrolling due to its need to manipulate scroll behavior and content dynamically. Developers can enable native scrolling in Ionic by setting the overflow-scroll attribute or configuring it globally, though the team aims to further test its stability before making it the default.