Skip to content

RAMAnimatedTabBarController vs Hero

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

RAMAnimatedTabBarController

Open source · MIT

A Swift library that adds animations to iOS tab bar items and icons.

Hero

Open source · MIT

A Swift library for custom iOS and tvOS screen transitions, set up declaratively.

The short answer

Choose RAMAnimatedTabBarController if you need…

  • iOS developers who want animated tab bar icons without writing the animation logic from scratch
  • Developers building a UI prototype who want a quick visual upgrade to navigation
  • Teams already using CocoaPods, Carthage, or manual folder import for iOS libraries

Choose Hero if you need…

  • iOS developers who want custom screen transitions without writing UIKit animation code by hand
  • Developers who want shared-element style transitions between matching views
  • Teams building Swift apps that use UINavigationController, UITabBarController, or modal presentations
  • Developers who prefer setting up animations in code or in the storyboard

Side-by-side

RAMAnimatedTabBarControllerHero
TypeLibraryLibrary
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars11.1k22.5k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
Main languageSwiftSwift
Last code update5 years ago22 months ago

What each one is

RAMAnimatedTabBarController

Animated Tab Bar is an iOS library written in Swift that lets developers add motion effects to the buttons in an app's bottom tab bar, such as bounce, rotation, flip, and frame animations. It works by replacing the standard tab bar controller and items with Ramotion's custom classes, then attaching an animation to each item. It is aimed at developers who want a more lively tab bar than the default iOS look.

Hero

Hero is a Swift library that makes custom animations between screens (view controllers) in iOS apps easier to build. It sits on top of UIKit's transition APIs, which the README describes as cumbersome, and lets developers match views across screens using a heroID and describe changes with heroModifiers. Developers use it to add polished transitions without writing low-level animation code.

Best for

RAMAnimatedTabBarController

  • iOS developers who want animated tab bar icons without writing the animation logic from scratch
  • Developers building a UI prototype who want a quick visual upgrade to navigation
  • Teams already using CocoaPods, Carthage, or manual folder import for iOS libraries

Hero

  • iOS developers who want custom screen transitions without writing UIKit animation code by hand
  • Developers who want shared-element style transitions between matching views
  • Teams building Swift apps that use UINavigationController, UITabBarController, or modal presentations
  • Developers who prefer setting up animations in code or in the storyboard

Strengths

RAMAnimatedTabBarController

  • Ships with nine ready-made animations that can be attached in Interface Builder or code
  • Simple setup: swap in the library's tab bar controller and item classes, then add an animation
  • Available through CocoaPods, Carthage, Swift Package Manager, or direct folder import, and released under MIT

Hero

  • Declarative API: views are matched with a simple heroID property instead of manual animation code
  • Works with Auto Layout, programmatic layout, UICollectionView, UITableView, and navigation or tab bar controllers, per the README
  • Actively maintained on GitHub with about 22,000 stars, MIT license, and a documented usage guide

Not ideal for

RAMAnimatedTabBarController

  • Developers targeting Android or web, since the library is iOS-only (reason: it is built with UIKit classes)
  • Projects that need actively maintained code, since the last push was January 2022 and the latest release is 5.1.0 (reason: the README does not state current support status)
  • Teams using SwiftUI's TabView exclusively, since the README describes UITabBarController-based setup (reason: the README does not mention SwiftUI)

Hero

  • Projects that only need the standard iOS transitions, since the built-in ones may already be enough
  • Developers building for Android, web, or other platforms, since the library is for iOS and tvOS only
  • Anyone expecting a visual tool that needs no coding, since usage is through Swift code or storyboard settings

Trade-offs

RAMAnimatedTabBarController

  • The last push was 2022-01-26 and the README lists Xcode 10.2, so compatibility with current Xcode and iOS versions is unverified
  • The README is brief and does not document the full API or how it behaves with complex layouts
  • Some included examples are animation-only; there is no documented support for SwiftUI

Hero

  • Limited to iOS and tvOS; not usable on other platforms
  • The README is brief and points to an external wiki for detailed documentation
  • Some behavior needs extra setup, such as the global coordinate space modifier for views being covered during a transition

Getting started

RAMAnimatedTabBarController

Install with CocoaPods (add to Podfile)

pod 'RAMAnimatedTabBarController'
Step-by-step guide: how to use RAMAnimatedTabBarController

Hero

Add to Podfile, then install (CocoaPods)

pod 'Hero'

Install pods (CocoaPods)

pod install
Step-by-step guide: how to use Hero

Frequently asked questions

What is the difference between RAMAnimatedTabBarController and Hero?

RAMAnimatedTabBarController: A Swift library that adds animations to iOS tab bar items and icons. Hero: A Swift library for custom iOS and tvOS screen transitions, set up declaratively. RAMAnimatedTabBarController suits ios developers who want animated tab bar icons without writing the animation logic from scratch, while Hero suits ios developers who want custom screen transitions without writing uikit animation code by hand.

Are RAMAnimatedTabBarController and Hero free?

RAMAnimatedTabBarController: Free and open source. Hero: Free and open source.

Is RAMAnimatedTabBarController or Hero more popular?

Hero has more GitHub stars (22.5k) than RAMAnimatedTabBarController (11.1k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to RAMAnimatedTabBarController and Hero?

Other options people compare them with include FoldingCell, Material, barba.js, React, Dear ImGui.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.