This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information

Posts tagged: Flutter

Big News! We've reached the next level with Flutter 3.41

We have good-actually, great-news for you!

Our Flutter UI is now fully compatible with the latest Flutter version (3.41). We've put in the work to ensure you have full access to all the newest features Flutter has to offer.

During this process, we noticed that json_dynamic_widget is no longer being actively maintained. (We completely understand the developers' reasons, but as you know us: "Impossible" isn't in our vocabulary.)

That's why we've pivoted our implementation to the officially Google-supported solution: Remote Flutter Widgets (rfw). This brings us much closer to the Flutter core, as widgets can now be used directly in the definition file. This makes everything significantly more readable. Furthermore, there's a massive performance boost to be gained by saving templates in binary format - which we already support! In a direct comparison, rfw wins by a landslide; even with large datasets, everything remains buttery smooth. The unexpected switch has already paid off!

Why didn't we use rfw from the start? Simply because not everything was production-ready when we first tested it, and json_dynamic_widget was performing exceptionally well at the time.

This new version isn't just a compatibility upgrade; it's packed with new features:

  • Copy-to-clipboard button in editors (optional)
  • Biometric/PIN security (per app, per screen, or per button press)
  • Title bar styling (e.g., matching screen colors)
  • Customizable icons
  • Client-side data encryption
  • Empty state info text for menus
  • Geo-location access with alerts if location services are disabled
  • Caching for small images
  • Binary data types are now natively recognized
  • Password input with quality indicators (optional)
  • Toggle visibility for password inputs (optional)
  • Multi-factor authentication fixes and a fresh new look
  • Background images for masks or menus via API
  • Safe Area color customizable via API
  • Request reduction for better efficiency
  • Full support for all FontAwesome and Material Icons (by name)

We'll be diving deeper into these features over the coming weeks, but for now: it's just awesome!

Client-side encoding of records

We've just shipped an absolutely fantastic new feature that many of you will love. Starting now, you can store values fully encrypted in your backend/database - transparently, securely, and without ever exposing plaintext on the server. All you need is a client-side token that lives exclusively in secure storage on the device. The backend and the database only ever see encrypted bytes. When the data is read, it's automatically decrypted on the client. In other words: your app never has to persist unencrypted data again.

This is a highly specialized capability, but incredibly powerful. If you're building something like a password manager that syncs credentials across devices, this feature is a game-changer. Passwords never appear in plaintext on the server - even if someone were to gain direct database access due to a security flaw, they'd only see encrypted blobs.

How does it work?

You simply mark the columns you want encrypted:

book.getRowDefinition().addColumnDefinition(
  new ColumnDefinition("PASSWORD", new EncodedBinaryDataType())
);

The corresponding database column must use a binary data type (not text).
That's literally all the setup required.

When the user opens the screen in your app, they'll be prompted for a token. This token is stored securely on the device, never displayed, and used solely for encryption and decryption. Each application can use its own token. You can also delete the token to force re-entry whenever needed.

How it looks like?

Enter token

Enter token

Delete token

Delete token

JVx' Flutter feature preview

We have some great news for you!

We tried to improve our picklist = combobox = linked cell editor visually. And the result is so cool.

We played around with different styles like bottom sheet and popup. A bottom sheet is very common on iOS but not on Android devices. A popup is a usual method.
Our current implementation is a popup but it looks like a dialog. It's not bad but not cool enough.
The visual difference is big but it's always the same control.


Some impressions

Every video first shows the good old linked cell editor = combobox = picklist and then a new variant of the same editor.



This could be the new default
implementation, because the
animation is not too pushy.


The bottom sheet variant.


As popup below the editor with
pushy animation.


As popup below the editor with
fade-in animation.


As popup below the editor with
menu animation.

The best of all is that we support all shown variants. It's possible to mix modes, just define the style like:

editor.addStyleNames("f_as_popup")

We support following style names:

  • f_as_dialog
  • f_as_bottomsheet
  • f_as_popup

Styles for popup animation:

  • f_popup_jump
  • f_popup_fade_in_bounce (default)
  • f_popup_fade_in_down
  • f_popup_fade_in_roll_down

As usual, code is available in our github repo.

JVx' native Flutter client 3.3.0 is available

We're happy to announce that our native JVx' flutter client 3.3.0 is stable and available.

It's now flutter 3.35 compatible, supports Android' 16KB Page size and is ready for Android SDK 36.

We’ve invested a lot of time in improving stability and performance. Layout rendering should now operate somewhat faster than before. Additionally, we’ve implemented push and deep links in a way that allows the application to update its display using pure parameters. For example, it’s now possible to update individual fields or open entire screens and select specific data records within them.

How it works?


Deep link example

Deep link example


The app runs on a real device. It has a simple screen with a button which will send an email with two links in it. The first will open the app and sets an application parameter. This parameter will be shown as text of a text field. The second link will open a specific screen and scrolls to a specific record.

Our implementation of native push:


Native push

Native push


The app receives a push message while running and shows a local notification. If you tap the notification, the app will be opened as well. In this demo, we don't tap the notification.

The project, as always, can be found on github.

We’ll be updating our VisionX Previewer app in the next few days and releasing it in the stores.

JVx Flutter UI with Google' IDX

If you don't know IDX, you should read more about it!

In short, it's development workspace in the cloud.
Not interested because cloud development environments are not new?
Stop reading and have a nice day ;)

IDX is different!
It's still beta, but it's so cool and it already works. The cool thing is the architecture and the visions behind it.

We tried different cloud dev environments in the past but IDX is the first which worked like expected. One click and everything will be up and running, super fast, easy to manage (because it just works).

Our use-case is simple. Create a mobile demo app with Flutter UI like our example app.

It was super easy because copy/paste of source files was enough. Here's the result:

Flutter UI Android preview

Flutter UI Android preview

 
Flutter UI web preview

Flutter UI Web preview

To be honest, it wasn't possible to develop without manual configuration because supported flutter version was too old. But a simple

flutter channel stable

fixed this problem. The Android emulator preview had some problems and didn't work at first but it suddenly worked. We have no idea why, but IDX is beta. The overall performance is not super fast but the IDE part itself is fast enough. The preview and build could be better. Also the Android simulator integration lacks.

But if everything would be configured by a custom template, your online IDE is ready in 30 seconds - ready to work.

For us it's not a replacement for desktop development but it's perfect for collaboration or if you need complex environments e.g. docker, databases. It makes sense to create a development environment in some seconds and share the environment with your team or just to provide a development environment for Low-Code citizen developers. Not every citizen developer has the skill to configure a development environment. But a click on a link and modifying existing files is not a problem.

If you're interested, just try out IDX on your own.

VisionX Previewer App 3.2.0 is available

Our VisionX Previewer App 3.2.0 is available. PLEASE read this article BEFORE updating the app.

It's a performance and feature release for flutter 3.24.

The new version fully supports table cell formatting (Cell profiles), fixed table cell size calculation, improved image loading and caching (no more flickering), supports full-screen content without safe are (optional), contains new date and time picker components and comes with updated dependencies.

With next version we will use flutter 3.27 and later.

A full changelog is available here and information about 3.2.0.

VisionX Previewer App 3.1.0 is available

Our VisionX Previewer App 3.1.0 is available.

It's a small feature release for dark mode support.

Some impressions

App overview black

App overview black

Splash black

Splash black

Menu black

Menu black

App overview

App overview

Splash

Splash

Menu

Menu

Login black

Login black

Screen black

Screen black

Menu black

Menu black

Login

Login

Screen

Screen

Menu

Menu

Settings black

Settings black

Settings

Settings

A full changelog is available here and information about the 3.1.0.

VisionX Previewer App 3.0.3 is available

Our VisionX Previewer App 3.0.3 is available.

It's a feature release!

  • Save file action AND optional Show file
  • ReadOnlyChecker support
  • Change base URL for multiple apps with same base URL
  • Activate Screen support
  • Charts and Gauges reimplementation
  • Native push support
  • Barcode support for (QR) Scanner
  • Application now knows dark/light mode
  • ...
  • Bugfixes

A full changelog is available here and information about the 3.0.3, 3.0.2, 3.0.1, 3.0.0

VisionX Previewer App 2.9.0 is available

Our VisionX Previewer App 2.9.0 is available.

It's a feature release!

  • It's now possible to close a screen via menu (small x beside the text).
  • The table selection is now super fast. We removed the delay between click and select record.
  • It's now possible to change the application name
  • Linked cell editors now support concat masks
  • Improved offline sync and user messages
  • New retry feature for offline -> online
  • Html editor support for contenttype/html
  • ...
  • Bugfixes

A full changelog is available here and information about the 2.9.0, 2.8.0, 2.7.0

VisionX Previewer App 2.6.0 is available

Our VisionX Previewer App 2.6.0 is available.

It's not just an update release, it's a release with many new features!

An impression is available here.

The new app overview makes our previewer app a multi previewer app. Use one application to manage all your VisionX applications and switch between the apps.

A full changelog is available here