New Features of ZK 9.5.0

From Documentation
Revision as of 02:15, 18 September 2020 by Hawk (talk | contribs) (→‎Download)
New Features of ZK 9.5.0

Author
Hawk Chen, Engineer, Potix Corporation
Date
Sep. 22, 2020
Version
ZK 9.5.0


Introduction

In ZK 9.5, we focus on User Experience and Developer Experience. Therefore, we pay lots of effort to make components

Download







Highlighted features.png

Web Accessibility Support

We are excited to announce a preview version of the za11y (ZK Accessibility) package for WCAG 2 compliance. Various enhancements have been made on ZK components for keyboard interaction (focus, navigation order, …) and screen reader support (aria-labels, roles, …). In addition, accessibility-ready themes are made available for providing sufficient contrast.

Check out the ZA11Y Demo Project.


Components

Data Binding Syntax Sugar

ZK supports a simplified syntax with a built-in convention. You can type fewer characters without an annotation name.


Default ViewModel ID

Default ViewModel ID is vm without explicitly specified.

<!-- original syntax -->
<div viewModel="@id('vm') @init('MyViewModel')" >

<!-- new syntax -->
<div viewModel="@('MyViewModel')">

Auto ViewModel Lookup

By default, ZK looks for a ViewModel in the same ID space.

<!-- original syntax -->
<label value="@load(vm.aaa)"/>

<!-- new syntax -->
<label value="@load(aaa)"/>

Auto Binding Name Mapping

<!-- original syntax -->


<!-- new syntax -->
@load(vm.aaa) -> @(aaa)
@bind(vm.aaa) -> @(aaa)  //auto bind in input element
@commnad('cmd') -> @('cmd') //auto bind in event (ex. onClick, onXxx...)


Theme Template Supports Compact Themes

ZK Theme Template provides an easy way for theme customization. It is now updated to support compact themes — you can now customize a compact theme (ex. iceblue_c) as easy as the standard themes, and upgrade the theme easily when you upgrade your ZK version.

Backward Compatibility: ZK 7 Form Binding

In ZK 8 a new MVVM form binding was introduced which made it difficult for ZK 7 projects to upgrade. In ZK 9.5 we have now ported back ZK 7’s simple form binding. If you have ZK 7 projects that use the legacy simple form binding, you can easily upgrade to ZK 9.5 with minimum code changes.

AJAX/WebSocket

[ZK-4175] - replace XHR with the fetch() API to allow SSO redirect handling [ZK-4451] - iOS 13 cause iPad to set "request desktop mode" for all website by default [ZK-4530] - Provide a "heart beat"/"ping pong" mechanism for websocket connections [ZK-4546] - Caching of EL method invocations [ZK-4562] - Introduce OWASP Dependency-Check


Enhancements

Introducing fetch( ) API for Redirection/SSO handling

Redirects (HTTP 302) including SSO handling has always been a common challenge in Ajax. In 9.5 the fetch( ) API is used instead of XHR allowing better redirect handling.

iOS13 support

Apple has changed the implementation and now an iOS13 device no longer identifies itself with the iOS Safari User Agent (UA) string, but with the MacOS Safari one instead. Corresponding changes have been made in ZK 9.5 to ensure ZK detects the devices correctly.

Upgrade Notes



Comments



Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.