What's new in 2.0
Wisej 2.0 includes a number of powerful new features that can enhance developers productivity, simplify deployment, customize browser widgets, implement responsive design, and speed up server communications.

Modernized Designer

The new designer adds custom ruler snap lines that can be user defined and saved with the container.
You can select the glyph color and take screenshots of your screens in design mode.
In addition to the action selector you can now also directly setup anchoring by using the arrow buttons.

Ruler Snap Lines

  • You can create an infinite number of vertical or horizontal snap lines for your containers.
  • Just click on the appropriate ruler position.
  • Snap lines are saved with each container so they are reloaded the next time you design it.

Document Outline

This new button in the designer toolbar gives you a quick overview and access to all objects.

Responsive Properties

ResponsiveProperties and corresponding profiles simplify Responsive Design a lot.
Read more: ResponsiveProperties

Client Properties, Methods, and Events

Wisej now supports many more client-side properties and methods on all controls. It makes it much easier to customize Wisej widgets from server-side code.
  • AutoShowLoader
    Buttons and MenuItems have a new property AutoShowLoader that automatically shows the loader when the widget is clicked - this is a client side event - and removes the loader when the processing on the server is completed.
    It is intended to be used on actions that typically require some time to complete and should give the user immediate feedback, i.e. a login button.
  • CssClass
    Sets custom css class names to the widget. You can also manage the css class names using these methods: AddCssClass, HasCssClass, and RemoveCssClass.
  • States
    Sets a custom array of states that can be used in a custom theme or theme mixin. You can also manage the list of states using these methods: AddState, HasState, and RemoveState.
  • ClientEvents
    Collection of client-side events and JavaScriot event handlers that you can set from the server. You can use the collection directly or use these methods now available to all controls: AddClientEventListener, RemoveClientEventListener, and HasClientEventListener.
  • InitScript
    Sets a custom script that Wisej will execute in the context of the widget when it is first created in the browser.
  • CssStyle
    Sets a custom css style string that is assigned to the widget.

Brotli Compression

  • Wisej already compresses all traffic packages (HTTP and WebSockets) above a certain threshold by default.
  • We now switched from GZIP compression to the Brotli compression algorithm.
  • Our internal tests showed that the compressed response stream is only half the size now.
Read more: about Brotli:

Enhanced Load Balancing

A Wisej server instance can now decide when to refuse a new session when it receives the first request from the load balance, allowing it to move on to the next instance seamlessly.
This new feature allows the Wisej instance to accept only a certain number of sessions, or to check the memory usage and refuse a request when the memory reaches a certain threshold, or it can use an application-provided function that can refuse the initial request for any reason.
See Load Balancing for more information.

Enhanced Themes

  • Theme Settings
    Themes now can contain system and value settings. See Theme Settings.
  • Stylesheet Rules
    Theme designers now can embed custom css rules directly in theme. This new feature allows for fine tuning a theme and for greater design flexibility. See Theme Stylesheet.

New Templates

  • Inherited Control
    Adds a custom control based on any visual Wisej class. Use it to create you extended controls without having to use the UserControl container.
  • Custom Loader
    Replaces the initial loader with one of the new spinners or a custom spinners of your choice.
  • Brotli
    Adds Brotli compression support to the application.
  • Healthcheck
    Enables enhanced load balancing support in your application. See Load Balancing.
Last modified 1mo ago