Désolé, votre navigateur ne supporte pas le javascript. WINDEV, WEBDEV and WINDEV Mobile: New features in version 28
New features banner
 
New features 011 to 014 WD WB WM

New Kanban control

The new Kanban control stands out as one of the most versatile new features in version 28. Enjoy all the features of a Kanban board by simply dropping the control onto a window or page

What is kanban?

Kanban is a method in which tasks are visually classified, allowing for better task management.

Each task is written on a "card" that will move to a different list (column) according to its progress status.

In addition to tasks, these cards can represent any other type of resource: Manufacturing stage, requirement, suggestion, delivery, troubleshooting, user story, etc.

A Kanban board is commonly shared between several users.

Each member of the team knows the progress status of the project, and knows what both themselves and the other members have to do.

In addition to better communication, this card-based method provides a clear overview of the production chain and the progress of the tasks, thus allowing members to easily identify bottlenecks and prioritize certain tasks.

New Kanban control
Kanban control: Main features
Classic Kanban control

Kanban control: main features

The Kanban control in version 28 includes all the features that users might expect:

  • define lists (columns)
  • create and edit cards
  • delete cards
  • move cards: vertically to change priority, horizontally to move to another list
  • manage user rights
  • ...

All these features, included directly in the control, are available to the end users of your applications and sites. You can also handle these features programmatically.

Kanban control: programming

You can manage various features of the Kanban control programmatically:

  • the appearance of the Kanban control
  • the content of the Kanban control
  • the management of rights

The Kanban control, as well as the lists and cards have properties that allow you to configure all these elements.

You can add and remove lists and cards programmatically.

kbCard, a new native WLanguage type, allows you to handle the content of a Kanban control.

The kbCard type contains the following properties:

  • Title
  • ActionAllowed
  • Text
  • Contributor
  • ...
  • Date
  • Optional internal window to customize a given card

You can handle lists programmatically, just like you handle columns in a table: It's a skill you already master!

Alternative use of a Kanban control: an interactive schedule (the Kanban control allows moving cards between lists)
Alternative use of a Kanban control: an interactive schedule (the Kanban control allows moving cards between lists)

Kanban control: new WLanguage functions

To allow searching and filtering elements in Kanban controls, the new WLanguage KanbanSearch and KanbanFilter functions have been introduced in version 28.

Kanban control: Miscellaneous

  • Set margins around lists, between lists, between cards and lists, and between cards.
  • The "+" button used to add cards can be customized using an Internal Window or an Internal Page.

Kanban control: cross-platform

You can use the same Kanban control in WINDEV, WEBDEV and WINDEV Mobile 28.

All the main features are the same, with some adjustments for mobile and web to better take advantage of each platform.

The control adapts to portrait mode on mobile devices.

Cross-platform Kanban control
 
New feature 028 WD WB WM

Markdown everywhere: controls, labels, menus, tooltips and more!

Format your text for all platforms

Delicious-looking text in an Edit control
Delicious-looking text in an Edit control
Markdown: Tooltip, context menu, and label in Edit control

What is Markdown?

Markdown is a "lightweight" markup language that allows you to apply formatting to text. This language works on all platforms: PC, Web and Mobile.

Because of its simplicity and practicality, Markdown is easy to read, learn and remember.

For example: Wrap text in double asterisks (**) to apply bold formatting, use # at the start of a line to create a heading, ## to create a subheading, etc.

Un exemple de source Markdown sur un document, et le résultat

Markdown in all types of text: control captions, column headers, menu options, tooltips...

In version 28, you can easily write and format text in many UI elements using Markdown (without gPen, gImage etc.).

This may include, for example:

  • static text in an Edit control
  • static text in a menu option
  • a column header
  • a tooltip
  • information text
  • ...
WINDEV: Markdown - Formatted tooltip text
Formatted tooltip text
Convert Markdown text to PDF, DOCX or HTML

Convert Markdown text to PDF, DOCX or HTML

Use the new MarkdownToDOCX, MarkdownToPDF and MarkdownToHTML functions to convert Markdown text to those formats.

 
New features 040 to 047 WD WB WM

New features of the PDF Reader control

Generate PDF forms

In version 28, you can create PDF forms using the report editor.

In addition to the controls available in the report editor, you can include the following types of controls in PDF reports:

  • Edit control
  • check box
  • Combo Box

In version 28, you can create reports and include these controls to automatically generate interactive PDF forms.

End users will be able to enter data, print or save the form.

Reduce the weight of PDF documents generated via a report: 2 to 10 times smaller

A document can be composed of a series of reports and PDF pages.

Generating a single PDF document from this series of elements drastically reduces the size of the resulting file.

WINDEV: PDF Control - Programming: Report editor
PDF form to fill out
PDF Reader control: Integrated OCR
The automatic OCR can be used to get an IBAN present in an image, and allow users to copy/paste it afterwards.

PDF Reader control: Integrated OCR

Generally, users can select text in standard PDF documents.

However, some PDF documents may prevent the user from copying text, for example, if the text has been scanned.

Now, this text can be retrieved using the native OCR integrated into WINDEV's PDF Reader control.

OCR is run on an area defined by the end user.

PDF in the background of a report: the resulting PDF file is 2 to 10 times smaller

A report can use a PDF document as background.

The report itself can then be generated as a PDF document.

The weight of the resulting PDF file (that already uses a PDF background) is reduced by at least 50%.

PDF file generation: 2 to 25 times faster

In version 28, the PDF generation process is dramatically faster.

2 to 25 times faster, depending on the size of the documents.

Go to a bookmark programmatically

In version 28, you can set the position directly on a given bookmark.

To do so, you can use the new pdfBookmark type and its Title and PageNumber properties, the new Bookmark property, and the new PDFReaderGoToBookmark function.

Set the compression ratio and quality

In version 28, you can define the quality and weight of the resulting document by setting a compression ratio.

This allows you to adapt the size of the document: The lower the quality, the lighter the document.

You can set this compression ratio with the new Quality parameter of the pdfSave WLanguage function: Automatic, High, Average and Low.

PDF: Compression rate and quality
The size of the PDF file varies depending on the quality level chosen
PDF signature: let the end user know if a certificate is valid
PDF signature details shown to the end user

PDF signature: let the end user know if a certificate is valid

The PDF Reader control shows a notification when a document is signed.

The user can see the details of the signature in the document reader.

In version 28, these notifications have been rewritten using non-technical terms. They are now clearer for the end user, thus providing better security:

  • invalid certificate
  • document modified after being signed
  • ...
 
New features 065 to 068 WD WB WM

Define your shortcuts in all the editors

Reassign or create your own shortcuts

Improve workflow with your favorite shortcuts

In version 28, you can define your own shortcuts in all the editors of the WINDEV, WEBDEV and WINDEV Mobile environment:

  • Project editor
  • Data model editor
  • UML editor
  • Window editor
  • Page editor
  • Query editor
  • Report editor
  • Help editor
  • Image Editor
  • Code editor
  • Test editor
  • Flexible modeling editor
  • Setup editor
  • Action plan editor
  • Software Factory
  • Web service editor
  • Telemetry widget editor
  • ...

Create new shortcuts

In version 28, you can create shortcuts for any action, even for actions that do not have a preset shortcut.

In the ribbon, go to the "Home" tab, expand "Options", and then select "Customize keyboard shortcuts" to open the list of actions available in each editor. Then, simply enter the desired key combination.

Redefine existing shortcuts

You want to change a shortcut key combination?

Go to the ribbon and open the list of actions available in each editor. Then, simply enter the desired key combination.

Share your shortcuts

Key point: You will be able to use your custom shortcuts in future versions.

Additionally, you can export your shortcuts to another computer.

 
New features 110 to 113 WD WB WM

Analyze application performance issues in real time or using a log file

WINDEV: Real-Time Performance Profiler

Unusually slow application? See what's going on

We've all been there: An application randomly slows down, without explanation.

WINDEV 28 helps you determine and fix the cause of the problem.

The Real Time Performance Profiler (RTPP) displays an application activity chart. The data can be shown in real time, but also come from a log file.

This chart allows you to identify bottlenecks and causes of low performance.

Dynamic chart...

The chart represents the application activity.
Data is shown in real time.

The chart uses two levels:

  • The low level indicates that the application is in idle state. This means it is waiting for a user action (click, etc.)
  • The high level indicates that the application is in use. This means it no longer responds to end-user actions.

You can scroll forward or backward through the chart, zoom in, and more.

High levels that take too long appear in red.

Click a high level section to see all the function calls, execution time of each function and even the code of these functions.

By analyzing the code, you can identify the cause of slowdowns.

WINDEV: Real-Time Performance Profiler

Real-time or log-based analysis

There are three analysis modes:

  • real time on the development computer (during tests)
  • real time on a production computer
  • later on, using a log file

Use dbgEnableLog to write to the log file.

RTPP: multithreaded apps as well

The RTPP also supports multithreaded applications.

The chart shows the activity of the different threads, and allows you to analyze possible cases in which threads block each other: Thread waiting for synchronization, multiple threads waiting for tasks, etc.

 
New features 764 to 769 WD WB WM

Flexbox in WEBDEV

Controls are automatically moved and resized according to your rules

A standard method to position controls: Flexbox

The Flexbox layout mode works by repositioning controls within "boxes", setting a vertical or horizontal alignment, setting relative sizes and nesting boxes. Each box corresponds to a Flexbox control.

The advantage of this mode is the automatic repositioning of boxes and the controls they contain, in order to fit the browser and/or the content.

A page in Zoning mode (with or without layouts) or in legacy Responsive mode can contain one or more Flexbox controls.

Flexbox: how it works

Controls are positioned one after another, within a box (Flexbox control).

Key point: One or more of these controls can themselves be containers.

First, indicate how controls should be positioned within each box: In rows or columns.

Then, indicate how the controls should react when the box or the other controls are resized: Wrap, enlarge, reduce, etc.

Apply this method to as many controls as necessary to define their positioning and resizing behavior.

Direction in which items will be laid out: in rows or columns Flexbox: direction in which items will be laid out: row Flexbox: direction in which items will be laid out: column
 
 
Justification: Left, right, justified with or without margins, centered, etc. Flexbox: justified to the left Flexbox: justified to the right Flexbox: justified Flexbox: centered
Enlargement of items in a given area Flexbox: all items are enlarged Flexbox: center item is enlarged   In Flexbox mode, items can be laid out in any order. Flexbox: Custom layout 1 Flexbox: Custom layout 2
  Wrapping: If no wrapping is specified, either the Flexbox container grows, or the content is truncated Flexbox: line wrap Flexbox: truncated content
WEBDEV: Flexbox settings in the 7-tab window

Flexbox: Define the desired behavior

The most common flexbox properties are clearly represented in the 7-tab window.

More specific properties can be defined by writing or copying/pasting the corresponding CSS code. You will always find a solution!

Behavior of a control: flex anchors

To change the default behavior, you can configure each control individually.

For example:

  • fixed-width control
  • control that fits to content horizontally
  • control that fills the remaining space
  • control that grows or shrinks relative to other controls according to a given factor
  • ...

As with the flexbox container, you can also define the behavior of each control by writing the CSS code directly.

WEBDEV: Flexbox

Preset modes available

Several preset modes that correspond to standard properties are available by default. This helps you save time: No need to configure every single option.

These preset modes can be customized.

Add Flexbox controls in all types of pages

Flexbox controls can be used in all types of pages: Zoning, Zoning with layouts, legacy Responsive, etc.

A Flexbox control can be placed among other controls, but also in a Looper, cell...

 
New features 461 to 462 WD WB WM

New top bars: Action Bar / Navigation Bar

Better than ever in version 28

WINDEV Mobile: New Action Bar

Top bar: standard behavior

The top bar is known as "Action Bar" in Android and "Navigation Bar" in iOS. However, for the purpose of simplicity, the term "Action bar" will be used often in the rest of this document.

This bar can be defined by the system, or be customized.

A system bar can have the following characteristics:

  • Optional button on the left of the bar.
    This button can be used to go back, open a window or perform a custom process
  • Optional button on the right of the bar. This button should open a menu
  • The bar can be hidden automatically when scrolling
  • The bar can use a system color or a custom color
  • Ability to apply the title font color to icons
  • The bar can use a background image (9-slice scaling mode supported).

Top bar: advanced customization

In version 28, bar customization has been drastically improved.

You can now fine-tune different aspects of the bars:

  • You can set the bar height
  • It is now possible to insert any type of control.

For example, you can:

  • insert a logo or an image
  • insert a search field
  • center a title
  • show options as tokens
  • dynamically change the content of the bar
  • pin a subscription button
  • ...

Everything can be easily customized!

These are some of the main new features for mobile devices in version 28: New Image Editor control, new Action Bar & Navigation Bar, new Kanban control, 4 new Smart controls, 2 new skin templates, deep links, WEBDEV page in a mobile window, text formatting suggestions, etc.

 
New feature 602 WD WB WM

Android: Native Kotlin

Logo Kotlin

WINDEV Mobile is open to third-party languages.

Kotlin is a programming language mainly used for Android development.

In version 28, you can write Kotlin code in the code editor directly.

Syntax highlighting makes it easier to write and read code in this language...

Note: Java is still supported, of course.

WINDEV Mobile: Kotlin support

These are some of the main new features for Android in version 28: Native Kotlin support, ability to get the result of an Activity (payment, etc.), free positioning of icons inside buttons, advanced functions on zoomed images, 56 new WLanguage functions, etc.

 
New features 741 to 744 WD WB WM

Loopers within Loopers

Using internal pages within loopers opens endless possibilities

Horizontal Looper within a vertical Looper: it's possible

In version 28, you can insert a horizontal Looper in a vertical Looper, and vice versa: Let your creativity fly!

Use Chart, Progress Bar and Combo Box controls within Looper controls

The Looper control is one of the most widely used controls in WEBDEV.

This control allows you to define an area with data and controls, and use it as many times as necessary.

In version 28, you can include new types of controls: The Looper control now supports Internal Pages, which allows for endless possibilities.

WEBDEV: This vertical Looper control includes an ad banner

Use a looper to display what you want, the way you want

You can include Internal Pages (the same or different) in each iteration.

Each one of these Internal Pages can itself contain a Looper.

This new feature makes it easy to display different data in each iteration of the Looper control.

Programming

Programming is easier than ever, thanks to the new LooperAddIP, LooperInsertIP and LooperModifyIP function.

The same Looper can use different Internal Pages.

 
New features 750 to 757 WD WB WM

HTML Edit control

WEBDEV 28 includes an HTML Edit control with enhanced features.

WEBDEV: HTML control with toolbar and table insertion menu

Enhanced features

The HTML Edit control in WEBDEV is intended to be used in a page, and to allow users to enter text with HTML formatting: Comment, description of an article in a CMS, etc.

In version 28, this Edit control includes new useful features:

  • support for all HTML tags
  • ability to display and edit HTML source code
  • syntax highlighting
  • visual table creation
  • visual table editing
  • ability to specify the font size and name
  • "email" mode (see next features)
  • ...

HTML edit control: new event

In version 28, the HTML Edit control includes a new and very useful WLanguage event.

The "Key pushed" WLanguage event is available in Browser code.

This event allows you to create a set of autocomplete suggestions, or set shortcuts on function keys, for example.

User-friendly toolbar

In version 28, the toolbar of the WEBDEV HTML control includes new options to:

  • specify the font name
  • specify the font size
  • insert tables
  • select the style of a table with a preview
  • ...

HTML email input mode

The HTML Edit control features an "email" input mode that limits the HTML functionalities to those recognized by most email clients.

 
New features 215 to 221 WD WB WM

Progressive webification: A WEBDEV site in a WINDEV window

Integrate a WEBDEV site into a WINDEV window with two-way communication using WLanguage

Integrate a WEBDEV page into a WINDEV window

WINDEV's new "WEBDEV Page" control allows you to integrate a website into a WINDEV application, and to interact with this site programmatically.

Simply specify the URL of the page to insert.

The window that contains the control interacts with the page via browser procedures.

These procedures are accessible in the WINDEV code editor and benefit from code completion.

WEBDEV: First-level security

Combine 2 existing sets of elements: Desktop application and Website

By integrating a website into a window in a desktop application, you can share existing elements and boost productivity.

Seamlessly webify existing resources

Many new development projects are intended for the Web.

However, most existing projects consist of Windows applications.

Integrating a website into a WINDEV window is a major step to preserve and webify a company's software assets without sacrificing functionality.

This allows for rapid, agile, risk-free, step-by-step progress.

Call page procedures from the window

Interaction: call page procedures from the window

The WEBDEV page procedures that can be called from a WINDEV window must be specified in a shared interface.

These procedures can make AJAX calls to the server.

Interaction: call window procedures from the page

The WINDEV procedures that can be called from the WEBDEV page must be declared in a shared interface.

This interface generates a configuration file.

This configuration file must be provided to the WEBDEV environment, which will then allow you to natively call the procedures.

You will be able to call the window procedures directly from the code of the browser procedures of the page.

New layout available for the WEBDEV page

A web page can contain menus, an ad banner, style controls, a footer with the legal notice...

This information may no longer be useful when the page is integrated into a WINDEV application.

To solve this, a new type of layout specific to the WINDEV and WINDEV Mobile integration is now available in WEBDEV. This layout allows you to avoid displaying certain information.

First-level security

The page and the window must exchange data in a secure way.

To start with, navigation in the WEBDEV page is limited to the domain of the URL provided in the application. This eliminates the risk of cross-site scripting attacks (XSS).

If the WEBDEV page contains sensitive data, there are several methods to secure access to the page:

  • Setting up an authentication method with Windows session login credentials
  • Requesting site login credentials at the start of the session and storing the encrypted login information in memory
  • Requesting site login credentials every time the user tries to access the page

This information is then sent through a secure HTTPS URL.

Second-level security

You can implement additional security features.

Two-factor authentication, with a code sent via email, for example.

IP address-based restriction can also be easily implemented.

 
New features 486 to 599 WD WB WM

New features for iOS

iPhone 14: Dynamic Island

iPhone 14: Dynamic Island

One major feature of the latest iPhone is the Dynamic Island, which transforms the black notch into a widget.

WINDEV Mobile 28 supports this new behavior.

Simply define the UI of the Widgets with Swift UI, then use WLanguage to automatically generate the widgets in the project and specify the callback procedure that will be called when the user interacts with the widget.

iOS 16, iPhone 14

WINDEV Mobile 28 supports both iOS 16 and WatchOS 9

All iPhone 14 and AppleWatch Series 8 models are supported.

WINDEV Mobile: iOS 16 - iPhone 14

All the common new features for mobile apps

iOS development has never been as powerful as with WINDEV Mobile 28. The amount of powerful features at your disposal keeps growing.

iOS evolves, and so does WINDEV Mobile 28. WINDEV Mobile 28 for iOS benefits from:

  • the common new features in version 28
  • plus the new features for mobile devices
  • plus new features specific to iOS

Always-On display and Lock Screen

iOS 16 allows you to create Widgets that will be displayed on the lock screen, whether or not the Always-On display is enabled.

In WINDEV Mobile 28, you can create this type of widget.

The new iPadOS 16 is supported

iPadOS 16

The new iPadOS 16 is supported.

In WINDEV Mobile 28, you can create Extra Large widgets.

 
New features 089 to 099 WD WB WM

Code editor

2X, 3X, 4X faster workflow in the editor

The code editor is much more responsive in version 28. In most cases, it is twice as fast, and up to four times faster when working on large sections of code!

This makes for a much smoother workflow.

2X, 3X, 4X faster workflow in the editor

These are some of the main new features of the code editor in version 28: Faster editor, hashtags, 7 new shortcuts, quick search, SQL query generation wizard, and more.

 
New feature 109 WD WB WM

Artificial Intelligence

WINDEV: Artificial Intelligence - Contour detection

Contour detection

The new AIDetectContour function detects the contours of a shape in an image.

The function returns an array of polygons of all the shapes that have been detected in the image.

 
New features 114 to 147 WD WB WM

New WLanguage features

Create your own WLanguage functions (Prefix syntax)

"Extension functions" allow you to add your own WLanguage functions to types.

The functions you have defined can then be called as native WLanguage functions.

For example, you can create a function that replaces Tab characters with spaces in a string.

Your functions appear in the code completion drop-down list for the given type.

WLanguage: Extension functions

These are some of the main new features of WLanguage in version 28: Undetectable strings, ability to create your own WLanguage functions, prompt a recipient to add an appointment directly to their calendar, secure file transfer via SCP, local or private procedures, UTF-8, UTF-16, UTF-32 conversions, straighten images, component loaded at runtime, improved introspection, unique function to perform OCR in a rectangular area, certificate integrated in the executable, new encryption formats, ability to get the Mapping attribute programmatically, WDSCRIPT scripting editor, and more.

Dynamic external component: loaded at runtime

In version 28, external components can be loaded dynamically, which means you don't need to include the component in the project.

The new ComponentLoad and ComponentExecute functions will prove extremely useful.

Combined with OOP interfaces, this new feature allows for a more cohesive architecture.

New type of string: Undetectable (encrypted in memory)

The new undetectable attribute automatically obfuscates the content of the string in memory.

The content of the undetectable string cannot be read in a memory dump file.

WINDEV: Perspective correction with dStraighten

Straighten skewed images

The new dStraighten function in version 28 allows you to apply perspective correction to an image.

This function is based on a homeomorphic algorithm.

Insert calendar invites into email messages

In WLanguage, you can easily create email messages using the advanced Email type.

In version 28, the Attach property can be used to insert one or more appointment invites in the email message.

The email client will then suggest the recipient to add this appointment to their calendar.

Local procedures: public or private?

In version 28, you can define the scope of a local procedure and the global variables of the window or page: public or private.

Public procedures can be called outside the control.

Private procedures can only be called from within the control.

Conversions between ANSI <> UTF-8 <> UTF-16LE <> UTF-16BE <> UTF-32LE <> UTF-32BE

UTF-16BE and UTF-16LE are Unicode encoding standards (LE for Little Endian and BE for Big Endian).

LE and BE use different byte orders. The new UTFConvert function allows you to convert strings between these formats.

Encryption and signing: PEM and DER formats

Signing or encryption functions can use different certificate formats.

In version 28, in addition to P12 certificates, the PEM and DER formats are also supported.

One single function to run OCR on a rectangular area

The new PicRectangularSnipOCR function opens the rectangular snip tool, gets the result of the selection, runs OCR and returns the resulting text.

WINDEV: OCR on a rectangular area

Improved introspection

The GetDefinition function now also gets the complete prototype of window, page and report initialization processes.

Certificate integrated in the executable

Signing or encryption functions can use certificates.

In version 28, you can use certificates coming from a buffer in memory, and not only from a file on disk.

Mapping attribute: Get it programmatically

In version 28, you can get the ..Mapping attribute of a class member programmatically.
 
New features 162 to 181 WD WB WM

HFSQL

HFSQL: speed and security

Nullable key

In version 28, you can indicate that a key is "nullable", i.e. that it can contain the Null value.

Null is different from zero, or from an empty string. Now, sorting operations differentiate zero from Null values.

Primary key

A primary key is a unique key that cannot be Null.

In version 28, you can define primary keys. For example, automatic identifiers are usually primary keys.

These are some of the main new features for HFSQL in version 28: Nullable key, primary key, HTrack in a thread, AES-256, AES-128, AES-192, improved Control Center for HFSQL Cluster, HFSQL Spare, and more.

Need more information?

"*" indicates required fields.

The data you provide will be treated confidentially.

The data is processed for professional purposes only.

It will NOT be shared with other companies.

PC SOFT logo PC SOFT logo