app like that
serve_dynamic_ui
serve_dynamic_ui

Axure Cloud is a SaaS platform for publishing Axure RP prototypes. It allows users to inspect and collaborate on designs and gather feedback, providing tools like version history, user flows, and team project management features.

Features

Dynamic UI Serving

Serve dynamic user interfaces for your application without rebuilding. This allows content to be updated frequently based on changing needs.

JSON Configuration

Configure UI elements using JSON. This provides a flexible way to define the structure and components of the UI dynamically.

Flexible Layouts

Support for various layouts that can be dynamically composed, allowing for diverse presentation and navigation options.

Search Packages

Allows you to search for Dart and Flutter packages in the repository.

Likes

Displays how many developers have liked a package. To like a package, you use the thumbs-up button on a package page.

Download Counts

Shows how many times each version of a package gets downloaded as aggregated site-wide numbers.

Popularity

Measures the number of apps that depend on a package over the past 60 days, providing insight into how actively developers are using it.

Pub Points

Measures the quality of a package through a scoring system with categories including 'Follow Dart file conventions', 'Provide documentation', 'Platform support', 'Pass static analysis', and 'Support up-to-date dependencies'.

Follow Dart File Conventions

Ensures packages have a valid pubspec.yaml file, a LICENSE file, a README.md, and a CHANGELOG.md to score points.

Provide Documentation

Awards points if a package has an illustrative code example and at least 20% of the public API members have documentation.

Platform Support

Urges packages to support multiple platforms like Windows, Linux, web, etc., and detects via the import graph of top-level libraries.

Pass Static Analysis

Encourages passing static analysis to detect and fix errors, warnings, and lints to avoid code issues.

Support Up-to-date Dependencies

Ensures a package supports the latest SDK versions and allows testing with the latest versions of dependencies before publishing.

Dynamic Page Caching

Allows pages to be cached for efficient loading and navigation.

Pagination Support

Offers built-in support for paginating data within screens.

AppBar with Dynamic Widgets

The AppBar can have dynamic left and right widgets tailored to the application's needs.

Shimmer Loading Effects

Provides shimmering loading animations to improve user experience during data loads.

Screen State Update

Facilitates updates to the screen's state based on dynamic data or user actions.

Screen Pop Strategies

Includes strategies for screen navigation such as POP, POP_TO_ROOT, POP_UNTIL_SCREEN.

Refresh Dynamic Screens

Enables refreshing of dynamic screens to load updated content.

Session Manager Widget

Handles authentication and session management within the app.

Conversion of JSON to Widgets

Transforms JSON into Flutter widgets using the built-in package or custom dynamic widgets.

Built-in or Custom Actions

Allows performing predefined or custom actions in dynamic widgets.

Dynamic Widgets Update

Supports updating of dynamic widgets as needed.

Method Calls in Dynamic Widgets

Allows calling methods from within dynamic widgets.

Controller Changes Listening

Supports listening to changes in controllers within the UI components.

Migration from Floor to Hive

Updated from using the Floor database package to the Hive package.

DynamicUIRenderer

Allows rendering of dynamic widgets based on JSON configurations received from the server. This enables UI updates without requiring a new app deployment.

ActionModelRenderer

Supports handling of predefined actions such as button presses using the `ActionHandlerMap`. This is useful for managing interactive components dynamically.

DynamicListenerBuilder

Facilitates listening to dynamic events using a set of preconfigured listeners like `eventListener123456`. Enables adding new interaction capabilities on the fly.

ServeDynamicUI

Handles network requests for fetching dynamic UI configurations using various HTTP methods. This feature supports authentication and progress handling for robust updates.

Dependency Management

Allows the package to be added as a dependency in your Flutter project's pubspec.yaml file using a simple command.

Import functionality

Enables you to import the package into your Dart code with a straightforward import statement.

Dynamic Widget Rendering

Allows rendering of dynamic widgets based on server-driven UI, enabling flexible and customizable interfaces.

Null Safety Support

Ensures compatibility with null safety features of Dart, making code more robust and less prone to null errors.

Dynamic Widget Creation

Create dynamic widgets in Flutter by using JSON configurations, allowing the server to control the UI.

Extend Widgets

Extend existing widgets to create customized and dynamic UI components.

Image Placeholder

Allows displaying a placeholder while the image is loading. This feature can be used by specifying a placeholder widget within the CachedNetworkImage widget.

Progress Indicator

Displays a progress indicator while an image is being downloaded. You can use the progressIndicatorBuilder to customize this feature in the CachedNetworkImage widget.

ImageErrorWidget

Provides a widget to display when there is an error in loading an image. This can be configured using the errorWidget parameter in the CachedNetworkImage widget.

Cache Management

Utilizes the flutter_cache_manager to store downloaded images in cache, enabling faster loading on subsequent requests.

Image carousel display

Allows users to create a carousel of images in their Flutter app. Supports swiping to switch between images.

Customizable options

Provides several options for customization including infinite scroll, auto play, and adjusting the speed of the carousel.

Carousel controller

Provides a controller to programmatically manipulate the carousel, such as moving to the next or previous item.

Multiple item display

Supports displaying multiple items at once in the carousel view, which can be adjusted based on screen size.

Vertical and horizontal scroll

Allows carousels to scroll both vertically and horizontally as required.

SHA-1, SHA-224, SHA-256, SHA-384, SHA-512

Provides hashing algorithms for secure hash generation. Supports functions like SHA-1, SHA-224, SHA-256, SHA-384, and SHA-512, offering various hash lengths and security levels for different use cases.

HMAC with SHA or MD5

Supports keyed-hash message authentication code (HMAC) using either SHA algorithms or MD5, enabling you to secure data with a cryptographic hash function coupled with a secret key. Useful for data integrity and authentication in network communication.

MD5

Provides a hashing algorithm function to generate MD5 hashes. While less secure than SHA, MD5 is available for legacy systems and data integrity checks.

HTTP Requests

Supports making HTTP requests with ease, including GET, POST, PUT, DELETE etc.

Interceptors

Allows you to intercept requests and responses, modify them, or log them.

FormData

Easily manipulate form data for POST requests.

File Downloads

Support for downloading files, with an option to show download progress.

Timeouts

Ability to set connection and receive timeouts for requests.

Error Handling

Provides detailed error information for failed requests.

Etag and Cache

Supports caching requests and responses via Etag.

HTTP2 Support

Allows making HTTP/2 requests for improved performance.

Json Serialization

Automatically serializes/deserializes JSON data in requests and responses.

Multiple Base URLs

Enables using multiple base URLs with a single Dio instance.

EncryptedSharedPreferences

Allows the use of EncryptedSharedPreferences to store data securely on Android.

AES Encryption with RSA Key

Stores AES encrypted data where the secret is encrypted using an RSA key stored in KeyStore on Android.

Keychain Usage on iOS

Utilizes Keychain to securely store data on iOS devices.

Web Version Using WebCrypto

An experimental implementation for web that uses WebCrypto, creating a private key for encryption in local storage.

Platform Configuration

Provides setup instructions for Android, iOS, Web, Linux, Windows, and MacOS platforms.

Cross-platform support

Works on mobile, desktop, and browser platforms.

Great performance

Provides efficient data storage and retrieval, as evidenced by benchmarks.

Simple and intuitive API

Offers a user-friendly API for ease of use in projects.

Strong encryption

Ensures data security with built-in encryption support.

No native dependencies

Operates without requiring additional native libraries.

Batteries included

Comes with full feature support out of the box.

Hive Integration

This package serves as an extension for Hive, making it easier to use Hive in Flutter apps. It facilitates the seamless integration of the Hive database in Flutter projects.

Cross-Platform Support

The package is compatible with multiple platforms including Android, iOS, Linux, macOS, Windows, and Web, ensuring that it can be used across different environments.

Annotations for json_serializable

Provides annotations used by the json_serializable package to create code for JSON serialization and deserialization.

Configuration example

Includes an example to help understand how to configure your package for JSON serialization and deserialization.

Linear Percent Indicator

Allows you to create a linear percent indicator that can display the degree of completion of tasks or progress.

Circular Percent Indicator

Provides a circular percent indicator to visually show the percentage of completion in a circular arc format.

Animation Support

Supports animations which can be customized to improve the user's visual experience when the indicators are changed.

Customizable Styles

You can customize the colors, sizes, and other styling parameters to fit your needs and match your app's theme.

Support for Background Widgets

Allows adding background widgets to further customize and enhance the visualization of progress or tasks.

Scroll to Index

Allows scrolling to a specific child in any scrollable widget within Flutter using fixed or dynamic row heights. Provides additional configurations for efficient scrolling adjustment.