A Swift SDK for natively connecting iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8 backends.
Waterwheel is a Swift SDK that enables native Apple platform applications (iOS, macOS, tvOS, watchOS) to connect to Drupal 7 and 8 backends. It provides a comprehensive set of tools for authentication, entity management, and data synchronization, solving the problem of complex Drupal API integration for mobile and desktop apps.
iOS/macOS/tvOS/watchOS developers building applications that need to interact with Drupal-based content management systems, particularly those creating content-driven apps with user authentication and dynamic data.
Developers choose Waterwheel because it provides a native Swift interface specifically designed for Drupal integration, with built-in authentication UI components, entity management, and local caching that significantly reduces development time compared to manual API implementation.
The Waterwheel Swift SDK provides classes to natively connect iOS, macOS, tvOS, and watchOS applications to Drupal 7 and 8.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides full CRUD operations for Drupal entities and built-in authentication methods, abstracting away the complexities of Drupal's REST APIs as shown in the entity and node method examples.
Includes ready-to-use LoginViewController and AuthButton components, speeding up login flow implementation without custom UI work, as demonstrated in the usage section.
Unified API works across iOS, macOS, tvOS, and watchOS, enabling consistent development for all Apple devices, as highlighted in the platform badges and requirements.
Caches API responses locally on the device to reduce network calls and improve app responsiveness, a key feature mentioned in the README's capabilities.
Requires matching Waterwheel versions to specific Drupal releases (e.g., Swift for Drupal 8 only, Obj-C for older versions), complicating upgrades and compatibility, as noted in the Drupal Compatibility section.
Needs manual configuration of App Transport Security for HTTP connections, adding an extra step in development setup, as warned in the Configuration notes.
Relies extensively on Swift closures for asynchronous operations, which can be confusing for developers new to functional programming patterns, as emphasized in the usage examples.