Paul Krill
Editor at Large

LinkedIn claims Rocket Data beats Apple’s iOS caching

news
Jul 25, 20162 mins

The framework is an alternative to Apple's Core Data, which was inadequate for the company's mobile dev needs

retro astronauts with rocket on planet
Credit: Thinkstock

To provide iOS app builders an alternative caching solution to Apple’s Core Data framework, LinkedIn is offering its Rocket Data caching library via open source.

Available under an Apache license, Rocket Data is based on a nonblocking immutable model management system with a persistent synchronization layer. LinkedIn developed Rocket Data while rewriting its mobile app, when it wanted a caching system that would present content to users while still loading data from the network. The company wasn’t satisfied with Core Data as a solution, believing it lacked scalability and had several other issues.

Rocket Data, the company said, scales with a large number of model types and schema changes; allows developers to work with any value system, including NoSQL or a simple key-value store; and is secure. “Immutable models have recently gained a lot of traction in the iOS community,” because of Apple’s Swift language and a push for immutability, LinkedIn staff engineer Peter Livesey said. Immutable models have been used in functional programming languages, and Swift adopts functional paradigms, he said.

Version 2 of Rocket Data adds improvements like an ability to handle data collections across multiple screens and a capability for screens to pause data updates. In offering Rocket Data via open source, LinkedIn hopes to entice developers to enhance it and wants to see how it is used by other parties, Livesey said. They also get a potential replacement for Core Data. “In general, it seems a lot of developers are still using Core Data because they feel like they don’t really have too many other options,” said Livesey.

Though LinkedIn used Core Data in a few applications, the company found it inadequate for its mobile application, citing complexity, a lack of thread-safety models, dropping of frames, and having to migrate the database whenever a schema changes. “Using [Rocket Data], we’ve been able to easily add caching to all features with very little additional work from developers,” Livesey said. “The cache and data providers are automatically kept consistent across screens. Despite updating the schemas of multiple models every week, we have never needed to add code for any migrations. And best of all, our application has never crashed due to a Core Data exception.”

Documentation for Rocket Data is available on GitHub.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author