Swiftpack.co -  ZupIT/beagle as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
A framework to help implement Server-Driven UI in your apps natively.
.package(url: "https://github.com/ZupIT/beagle.git", from: "1.9.0")


Backend Android iOS License PRs
Coverage Backend Coverage Android Coverage iOS Beagle is released under the Apache 2.0 license. PRs welcome!

Getting Started ยท Learn the Basics ยท Contribute

Beagle is an open source framework for cross-platform development using the concept of Server-Driven UI.

This framework allow teams to build and alter layouts and data directly through a backend but yet displaying its contents natively in a mobile application and / or through web.

It is also possible to create, test and update native application components and screen paths without the need update the mobile application at the store (App Store or Play Store).


๐Ÿ“‹ Requirements

Beagle apps may target iOS 10.0 and Android 4.4 (API 19) or newer. You may use Windows, macOS, or Linux as your development operating system.

๐ŸŽ‰ Building your first app using Beagle

Follow the Getting Started guide. The recommended way to install Beagle depends on your project. Here you can find short guides for the most common scenarios:

๐Ÿ“– Documentation

The full documentation for Beagle can be found on our website.

The Beagle documentation discusses components, APIs, and topics that are specific to Beagle. Beagle documentation.

๐Ÿ‘ How to Contribute

The main purpose of this repository is to continue evolving Beagle core. We want to make contributing to this project as easy and transparent as possible, and we are grateful to the community for contributing bug fixes and improvements. Read below to learn how you can take part in improving Beagle.

Contributing Guide

Read our Contributing Guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to Beagle.

Code of Conduct

Beagle has adopted a Code of Conduct that we expect project participants to adhere to. Please read the code so that you can understand what actions will and will not be tolerated.

Open Source Roadmap

You can learn more about our vision for beagle in the Roadmap.

Good First Issues

We have a list of good first issues that contain bugs which have a relatively limited scope. This is a great place to get started, gain experience, and get familiar with our contribution process.

๐Ÿ“„ License

Beagle is Apache 2.0 licensed, as found in the LICENSE file.


Stars: 515
Last commit: 8 hours ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jackโ€™d and SCRUFF. We are two of the worldโ€™s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.


Release Notes

4 weeks ago

Release notes 1.9.0



  • improve Appium tests CI/CD strategy (#1599)
  • Adds jacoco (#1621)
  • Sonarcloud (#1628)
  • removes module dependency from Beagle and uses lib import instead (#1629)
  • add Android pull to refresh component (#1636)
  • improve Appium iOS tests speed (#1645)
  • iOS - Pull to Refresh Component (#1648)
  • iOS - Adds init from Encodable to DynamicObject (#1650)
  • pullToRefresh Appium tests (#1651)
  • flutter/scrollView (#1658)
  • flutter: implement missing features of TextInput and fixes bugs (#1661)
  • add gridview in backend and android (#1663)
  • GridView span count and direction (#1657)
  • iOS - AutoLayoutWrapper enhancement (#1669)
  • improve Appium iOS tests speed (#1656)
  • add default logger in beagle (#1679)

Bug fixes

  • contract adjustment grid view (#1595) (#1601)
  • adjustment contract grid view (#1596) (#1600)
  • improvements in Appium tests (#1619)
  • popView with a single view in stack (#1616)
  • Appium Android app compilation (#1627)
  • Navigation tests on iOS (#1635)
  • adjust proguard (#1638)
  • Flutter lib upgrades + fix to image component (#1641)
  • iOS - PullToRefresh with Text (#1652)
  • components and actions in Flutter are now case insensitive (#1654)
  • text component when is aligned to center (#1659)
  • flutter: page view (#1662)
  • flutter: tabbar and image (#1666)
  • flutter: webview component must react to changes in the url property (#1672)
  • adjust deploy release (#1682)

Code refactoring

  • remove project automated test (#1605)
  • update dependencies and necessary code (#1608)
  • Android serialization tests (#1622)
  • android view factory (#1639)
  • remove debug logs (#1673)
  • rename field custom operation to operation (#1675)
  • remove class beagle config (#1676)
  • remove shared preferences and use memory to save data (#1677)

Building system

  • adjust automated test (#1607)
  • adjust docs (#1611)
  • update dependencies beagle android (#1614)
  • iOS - Update Beagle Dependencies (#1606)
  • iOS - Remove legacy tests (#1615)
  • adjust PullToRefresh (#1653)
  • update tests (#1681)


  • create unit test to gridview (#1602)

Other work

  • impl (#1594)
  • Changing path of web images (#1624)
  • Creates a separated BeagleContainer component and implements the onInit event. Fixes a bug within the BeagleText component. (#1655)

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API