View RSS Feed

LianjaDev

Understanding Responsive UI Apps

Rate this Entry
I'm sure you may have heard the term "Responsive UI" used. This article explains what it is and how Lianja handles a responsive UI in more ways than can be imagined.

Let's look at the functionality built into Lianja to let you build Apps that can run on multiple devices all with possibly different screen resolutions. This is a fundamental feature of LIanja and requires no coding to build Apps with a responsive UI.

The UI of an App can adjust its appearance based on what we call Responsive Breakpoints. These breakpoints can be set to cause UI elements to be shown/hidden depending on the width or height of the screen. Some UI elements (e.g. section menus) auto collapse and expand as screen resolution changes. Think of turning a phone on its side (landscape) or vertical (portrait). Clearly this affects how an App is shown on the screen.

Page layout

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 9.39.29 AM.jpg 
Views:	295 
Size:	82.9 KB 
ID:	2622

Collapsible sections

The use of collapsible sections makes good use of space available in the UI. The user can collapse and expand sections by clicking or touching the secton headers. Checking the "Stretch last section" attribute in the page attributes will cause the last section displayed on a page to automatically stretch into the viewport.

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 10.57.31 AM.jpg 
Views:	296 
Size:	77.8 KB 
ID:	2627

Accordion sections

The use of accordion sections increases the space available to individual sections without sacrificing usability. The user can collapse and expand sections by clicking or touching the secton headers.

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 10.55.38 AM.jpg 
Views:	287 
Size:	57.0 KB 
ID:	2626

Accordion stack

Accordion stacks work in conjunction with the page "Navigation Panel". At any one time the user can select a page and/or section to display from the Navigation Panel. The sections are stacked on top of each other with the selected one being on top. Navigating data affects hidden and well as displayed sections that are related.

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 10.59.18 AM.jpg 
Views:	289 
Size:	74.9 KB 
ID:	2628

TabView sections

TabView sections make good use of screen real estate. The TabBar may optionally be hidden if the sections displayed in each tab are to be shown programatically using Lianja.showDocument().

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 11.01.27 AM.jpg 
Views:	287 
Size:	72.7 KB 
ID:	2629

Section UI Presentation rules

Click image for larger version. 

Name:	Screen Shot 2021-10-31 at 11.54.54 AM.jpg 
Views:	276 
Size:	69.1 KB 
ID:	2620

Search Panel responsive UI width breakpoint

If the screen width is less than to the specified value the search panel will be hidden. It the screen width is greater or equal to the specified value it is shown.

Menu responsive UI width breakpoint

If the screen width is less than to the specified value the menu will be collapsed. It the screen width is greater or equal to the specified value it is expanded.

Responsive UI width breakpoint

If the screen width is less than to the specified value the section will be hidden. It the screen width is greater or equal to the specified value it is shown.

Responsive UI height breakpoint

If the screen height is less than to the specified value the section will be hidden. It the screen height is greater or equal to the specified value it is shown.

Responsive UI Form width breakpoint

If the screen width is less than to the specified value the form section is set to this minimum width and a horizontal scrollbar is added. It the screen width is greater or equal to the specified value the scrollbar is hidden. Note that in Tablet/Phone Apps the scrollbar is only visible as you flick the section contents left or right.

Locale language responsive UI

In Web/Mobile Apps the UI can be dynamically translated adding to the responsive capababilities of Lianja Apps. Once selected the language is remembered and will automatically be used the next time an App is run. The language translations are cached in the browser to optimize App load performance.

Click image for larger version. 

Name:	Screen Shot 2021-10-31 at 11.56.46 AM.jpg 
Views:	274 
Size:	36.0 KB 
ID:	2619

Page UI Presentation rules

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 9.36.07 AM.jpg 
Views:	277 
Size:	41.6 KB 
ID:	2621

Navigation Panel Responsive UI width

If the window is resized or phones switch between portrait and landscape mode the the Navigation Panel will collapse into just diplaying icons.

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 9.44.03 AM.jpg 
Views:	284 
Size:	86.6 KB 
ID:	2623

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 9.43.33 AM.jpg 
Views:	282 
Size:	63.3 KB 
ID:	2624

App delegates that can be used to handle a Responsive UI

Click image for larger version. 

Name:	Screen Shot 2021-11-01 at 10.07.57 AM.jpg 
Views:	276 
Size:	58.8 KB 
ID:	2625

Hint: you can use the built-in screenWidth() and screenHeight() functions in these delegates.

Orientation Changed

You can respond in low-code with a custom delegate that detects changes to device orientation e.g. landscape or portrait. One use would be to only allow editing of data in portrait mode.

Connection State Changed

You can respond in low-code with a custom delegate that detects changes in connection state. One use would be to only allow editing of data when connected.

Inactive

You can respond in low-code with a custom delegate that detects no activity in the UI for a specified period of time. One use would be to log the user out and return to the home page or the App Center.

Data is Responsive too

When a user logs into the App Center, any row filters (RLS) and dynamic data masks (DDM) restrict what the user can see. This is a core feature of Lianja and is included in this article as Apps are responsive to the row filters assigned to individual users.

Permissions and Roles the ultimate controls for a Responsize UI

When a user logs into your server, the Apps that the user has permission to run are displayed in the App Center based on the roles assigned to the authenticated user. When an App is loaded the UI elements are assigned CRUD (Create Read Update Delete) permissions based on the roles of the authenticated user. So, the responsive nature of an App is dynamically affected by the roles of the authenticated user.

Summary

In this article I have provided a brief overview of what modern Responsive UIs are and how Lianja handles these in a simple yet effective manner. If you have any questions don't be afraid to ask.

Submit "Understanding Responsive UI Apps" to Google Submit "Understanding Responsive UI Apps" to Facebook Submit "Understanding Responsive UI Apps" to Twitter

Updated 2021-11-06 at 05:06 by barrymavin

Tags: None Add / Edit Tags
Categories
LianjaDev , NoCode

Comments

Journey into the Cloud
Join us