A simple-to-use flutter update package for Windows, MacOS, and Linux.

Last update: Aug 6, 2022

Updat - The simple-to-use, flutter-based desktop update package

Logo

Updat is a simple-to-use reliable flutter-native updater that handles your application's updates. All you need is a place to host your files and a place to check for the latest version.

Demo

demo

Installing

To get started simply type flutter pub add updat in your terminal.

πŸŽ‰ Done, It's that simple.

Getting Started

Integration with your app requires just a few lines of code, add the following widget wherever you want your updat widget to be:

UpdatWidget(
  currentVersion: "1.0.0",
  getLatestVersion: () async {
    // Here you should fetch the latest version. It must be semantic versioning for update detection to work properly.
    return "1.0.1";
  },
  getBinaryUrl: (latestVersion) async {
    // Here you provide the link to the binary the user should download. Make sure it is the correct one for the platform!
    return "https://github.com/latest/release/bin.exe";
  },
  // Lastly, enter your app name so we know what to call your files.
  appName: "Updat Example",
),

That should get you up and running in just a few seconds ⚑️ .

Configuration

Available Updat arguments

Parameter Type Value Default
currentVersion String Required. Must be a semantic version. This is the current package's version. N/A
getLatestVersion Future<String> Required. Must be a semantic version. This should request the latest version to the server N/A
getBinaryUrl Future<String> Required. This should provide the link download the binary for a certain app version. Arguments: latestVersion N/A
appNme String Required. The Application's name. It is used to name the binaries when downloading. N/A
getChangelog Future<String> This will render a plain text view of the changelog. N/A
callback void Function(UpdatStatus) A callback that is called when the UpdatStatus gets updated. N/A
getDownloadFileLocation Future<File> Choose where to download the update. N/A
updateChipBuilder Widget Function(...) Overrides the default update chip. N/A
updateDialogBuilder Widget Function(...) Overrides the default update dialog. N/A
openOnDownload bool Whether Updat should open the installer automatically once it has been downloaded. true
closeOnInstall bool Whether Updat should close the application automatically once it has been downloaded. false

Theming

Updat is extremely easy to theme. We also use updateChipBuilder and updateDialogBuilder internally to design our widgets, so you have the same customizability we do. We provide a couple of themes to get you started.

To change the theme simply add the desired theme to the builder and you're set.

Chips

  • defaultChip which is an elevatedButton that only shows when an update is available. Shown by default.

  • defaultChipWithCheckFor which is an elevatedButton that shows under all condition, allowing to recheck for updates.

  • flatChip which is an textButton that only shows when an update is available

  • flatChipWithCheckFor which is an textButton that shows under all condition, allowing to recheck for updates.

Dialogs

  • default which is the default, M2 and M3 dialog that shows by default.

GitHub

https://github.com/aguilaair/updat
You might also like...

🎡 A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux).

🎡 A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux).

libwinmedia A cross-platform media playback library for C/C++ & Flutter with good number of features. Example A very simple example can be as follows.

Jul 24, 2022

A pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows.

FlutterFire Desktop A work in progress pure Dart implementation of Firebase with initial support aimed at FlutterFire for Linux & Windows. A FlutterFi

Aug 8, 2022

Simple file explorer for desktop made with Flutter, highly inspired by macOS Finder

file_explorer A basic file explorer made with Flutter Getting Started This project is a starting point for a Flutter application. A few resources to g

Nov 7, 2021

A package which provides most of the window decorations from linux themes.

Window Decorations A package which provides most of the window decorations from linux themes. Features Easier to use and implement Native looking wind

May 14, 2022

A Dart FFI package to send πŸ’¬ toasts on Windows. Written in C++, based on WinToast.

A Dart FFI package to send πŸ’¬ toasts on Windows. Written in C++, based on WinToast.

desktoasts A Dart package to send native πŸ’¬ toasts on Windows. Installation For Flutter dependencies: ... desktoasts: ^0.0.2 For Dart CLI here Sup

Mar 7, 2022

Flutter widgets and themes implementing the current macOS design language.

Flutter widgets and themes implementing the current macOS design language.

macos_ui Flutter widgets and themes implementing the current macOS design language. NOTE: This package depends on the excellent native_context_menu pl

Aug 14, 2022

A macOS plugin which can register a callback for a global keyboard shortcut.

global_shortcuts A macOS plugin which can register a callback for a global keyboard shortcut. As the shortcut is global, the callback will be triggere

Jun 4, 2022

A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

EN | δΈ­ζ–‡ Touch Display Lite plugin for Volumio 3 Feng Zhou, 2021-12 Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux dist

Jul 26, 2022

A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Aug 8, 2022

Related

A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

BlueBubbles Android App BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and mor

Aug 9, 2022
Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size.

desktop_window Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size. Usage import 'package:desktop_window/desktop_window.dart

Aug 15, 2022
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Aug 2, 2022
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

quick_usb A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter Usage List devices List devices with additional description Get device

Jul 5, 2022
TinyPNG4Flutter - A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS and windows
TinyPNG4Flutter - A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS and windows

TinyPNG4Flutter A TinyPNG Compress Image Desktop GUI For Flutter. Support macOS

Jul 20, 2022
A cross-platform (Windows/macOS) scanner plugin for Flutter

quick_scanner A cross-platform (Windows/macOS) scanner plugin for Flutter Usage QuickScanner.startWatch(); var _scanners = await QuickScanner.getScan

Jun 10, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Aug 14, 2022
Flutter library for window blur & transparency effects for on Windows & Linux. πŸ’™
Flutter library for window blur & transparency effects for on Windows & Linux. πŸ’™

flutter_acrylic Window blur & transparency effects for Flutter on Windows & Linux Installation Mention in your pubspec.yaml. dependencies: ... flu

Aug 6, 2022
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.
A Flutter plugin to read πŸ”– metadata of 🎡 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Aug 12, 2022
An 🎡 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.
An 🎡 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.

βœ’ libwinmedia is sequel to this project. It provides network playback, better format support, control & features. An audio playback library for Flutte

Jul 10, 2022