Help users discover new features or key actions in your applications
The new Guided Tour generator lets you easily include a help feature for your users.
A Guided Tour presents a series of features, displayed in a tooltip in the current window or page.
A Guided Tour introduces the end-user to new features in the version, or to specific functionalities, or guides the user through each step of a process.
The display and navigation process is managed automatically.
Easily define all the settings of the Guided Tour with the wizard:
The Guided Tour generator generates WLanguage code. You can freely edit this code.
Guided Tours run on Windows, iOS, Android, and web applications.
In version 2024, you can duplicate an existing Skin template or Skin. You can then edit the styles directly, without overriding them.
This makes it possible to adapt the default Skin templates and Skins to your own style book.
In version 2024, the Waffle chart brings a new way to visualize data
This type of chart shows progress towards a goal or percentage of completion.
It consists of a grid of small cells, where colored cells represent the data.
A chart can have one or more categories.
Electronically signed contracts are now widespread.
Version 2024 makes it easy to include this functionality in all your applications and websites.
All processes are written in WLanguage.
There are three types of electronic signatures:
All three types of electronic signatures are supported in version 2024.
Transform Figma documents into windows or pages
Figma is a graphic design tool used to create UI and UX mock-ups and prototypes, based on static geometric shapes.
Figma is a popular tool among graphic designers.
WINDEV, WEBDEV and WINDEV Mobile 2024 enable you to transform FIGMA documents into windows and pages, and generate the corresponding controls while preserving their appearance. Styles are created and images imported.
If you often use the same controls with the same styles and code, you will love version 2024.
Simply right-click a control or selection of controls and select "Add to favorites".
A Favorite control can be composed of multiple controls. For example, an Edit control with an associated filter button.
Favorite controls within a project are accessible to all project contributors.
You can share Favorite controls between different projects. You can also copy Favorite controls from one project to another.
A new button in the ribbon opens a list with all your Favorite controls, classified according to the tags defined when they were created.
We've all been there: Working on code written by another developer or maintaining very old code, and not understanding what the code does.
In version 2024, you can ask the code editor to generate an explanation in natural language using AI, with one click.
The code editor's AI mechanism can automatically generate the documentation of a procedure.
These comments can be generated in Doxygen format.
Data masking helps you prevent sensitive data exposure by hiding it from certain users.
Data masking also makes it possible to secure information and prevent it from spreading.
This technique helps you meet GDPR requirements.
To mask a column in a database table, simply use the data model editor.
Then, when a user tries to access this column (item), the server returns masked data.
"Find all charging stations within a 3-mile radius"
In version 2024, HFSQL supports spatial data. Spatial data refers to geometric and geographic data such as:
You can store these types of data in HFSQL databases and perform advanced SQL queries, for example: "list of parcels a given path goes through" or "list of schools within a 1-mile radius".
Example:
To handle spatial data, use these new WLanguage types:
To optimize performance on spatial queries, HFSQL has introduced spatial indexes.
Spatial indexes make it possible to quickly process very large volumes of data, which is an essential feature given the size of most spatial datasets.
A spatial index can be described with a single click in the data model editor.
Flexbox is an adaptive layout method that allows controls to be positioned relative to each other.
Although it is mostly used in web applications, this mode is also used on Windows and mobile devices, for controls with dynamic content (e.g., long text spanning over several lines or translation into several languages), or when a window is resized.
Controls are laid out in rows or columns, according to precise rules which are cumulative.
Positioning is relative rather than pixel-based. Flexbox can be used on the entire window, or only on a group of controls.
Using Flexbox to distribute elements in an entire window can solve positioning conflicts that may occur when a window is resized.
An instant favorite among power users
The new Code Editor control enables advanced users to enter or edit calculation formulas in applications, for example.
The Code Editor control includes syntax highlighting and code completion features.
WINDEV Mobile 2024 features a new window display mode: Bottom Sliding Window. This window opens from the bottom of the screen.
The bottom sliding window has 3 possible sizes. Each size can be configured.
Provide an even better UX with this modern, intuitive view mode.
On smartphones and tablets, there is an operating mode designed for visually impaired and blind users.
This mode is called TalkBack on Android and VoiceOver on iOS.
WINDEV Mobile 2024 enables you to use these modes.
By default, each control now includes a generic description. You can customize this description where necessary.
Even more advanced page layouts
CSS Grid is a layout system used in web pages.
Positioning is defined in cells that are laid out in rows and columns. These cells contain controls.
Unlike Flexbox, which is one-directional (horizontal or vertical), CSS Grid is two-directional (horizontal and vertical).
CSS Grid can be used for the entire page, or only for a given section.
You can combine grids and Flexbox containers.
Use the 7-tab window to define the properties of the new CSS Grid control. You can write custom CSS code in a specific section of this window.
In version 2024, developers can create their own WLanguage types.
An example is the price of powder, defined in grams, with 4 decimal places. Rather than defining the corresponding variable in type numeric and specifying the number of digits after the decimal point each time, in version 2024 you can create a type named PricePowder, for example.
This type can then be used as a native WLanguage type.
In version 2024, WLanguage supports "Null" values on all types.
This allows you to directly handle NULL items (columns) in a database.
Variables become "nullable".
Nullable variables must be declared with the "Nullable" extension attribute.
In version 2024, you can build strings containing file paths by separating elements with "+" and "/" characters.
Example:
FilePath is string = Drive/Folder/Queue
FilePath is string = Folder/Queue
In version 2024, you can define your own functions for a specific type of control using prefix syntax.
Example:
TABLE_Search.ColorRow(nCurrentRow)
Your own functions will appear in the code completion suggestions.
You can now check the format of tax identifiers using the WLanguage CheckTaxNumber
function, prefixed by the corresponding country.
For example: France.CheckTaxNumber
The tax identifiers of the following countries are currently supported:
A new type for formatting numbers is available: NumericFormat
.
The properties of this type can be used to specify the number of digits after the decimal point, separators, etc.
A code wizard makes the task even easier.
Example:
PriceFormat is NumericFormat
PriceFormat.DigitsAfterPoint = 2
PriceFormat.Prefix = "$"
PriceFormat.DecimalSeparator = "."
PriceFormat.DecimalSeparator = ","
PriceFormat.Sign = nfsMinusIfNegative
Price is string
Price = NumericToString(16945201.986, PriceFormat)
// Price contains “$16,945,201.99”
3 new WLanguage types have been introduced: gglDrive
, oDrive
, dpDrive
.
The new family of Drivexxx functions allows you to perform the operations listed below on any file stored using these services.
Here are some of the available features:
The generated code is independent from the storage service used.
//Upload file to Drive
MyDrive is Drive
//Standard syntax
DriveUploadFile(MonDrive, "C:\DocsToProcess\CR-489-884.pdf", "/My documents/2023/")
//Prefix syntax
MyDrive.UploadFile("C:\DocsToProcess\CR-489-884.pdf", "/My documents/2023/")
The CSS style window now provides more useful information for manipulating CSS styles.
On each control state, a badge indicates the number of changes made to the initial CSS style.
Then, for each CSS style state, the tab indicates the number of changes made in the tab itself.
This allows you to keep track of the tabs where you made changes.
In version 2024, you can use multiple CSS styles for each element of a control:
As development continues, CSS styles start to pile up.
In version 2024, the Style tab has been improved and now allows you to use a combination of multiple CSS styles for each element of the control.
Tailwind CSS is a widely used CSS utility class framework.
Tailwind CSS is made up of CSS classes that define numerous style options.
WEBDEV 2024 is compatible with this framework. Tailwind CSS classes also describe positioning rules.
These rules are supported by WEBDEV controls laid out in Flexbox containers or CSS grids.
There's nothing to install or configure. Simply enter the name or names of the Tailwind CSS classes to be used in the "Styles" tab.
WEBDEV automatically generates the CSS style sheets corresponding to the Tailwind CSS classes used.
The WEBDEV page editor shows controls exactly how they will look using Taillwind CSS classes.
In version 2024, Native Connectors (Oracle*, SQL Server*, AS/400*, DB2*, MySQL, PostgreSQL, SQLite, xBase, MariaDB, Informix*, Progress*, Sybase*, etc.) handle all aspects of multithreaded programming.
Several queries can be executed simultaneously.
Stored procedures are no longer blocking.
This results in faster applications.
*Available separately
In version 2024, you can remotely update one or more Application Servers.
This updated can be run:
In addition to the previous new feature, it is now possible to make Application Server updates fully automatic.
Updates can be made as soon as a new version of the Application Server is available on the WINDEV website.
When a website encounters a fatal error: connection failure, unexpected update, fatal programming error, etc., the Application Server automatically restores the site.
An incremental backoff strategy (n attempts every 10 seconds, then n attempts every minute, then n attempts every hour) and a maximum number of retries, allow you to seamlessly restore websites.
This is a highly anticipated feature in the Application Server: the ability to fairly distribute CPU resources between WEBDEV accounts.
By default, the Application Server distributes workload evenly between all active accounts at a given time.
Therefore, any resource-intensive process will not slow down the websites of other accounts.
No account can take over the CPU.