Welcome! Log In Create A New Profile

Advanced

[WB 28] Linear looper.

Posted by pietvanz 
[WB 28] Linear looper.
September 13, 2023 10:34PM
Hi,

I thought I would give the linear looper another chance after many years ago I abandoned it.
Unfortunately it's still a mess.
The looper width jumps back to its original or default width after each and every modification. Causing its content to overflow. I have resized the looperwidth countless times, each time seeing it jump back after moving a control or aligning it.
An error that the images for left and right arrows are too large led me to set these arrows to "none". '
First of all because they are not really needed, second because the button to browse for a different image does nothing!
But after modification to <none> they jump back to <default> after saving.

These problems might have to do with my using of layouts, which has improved after the last update, but still leaves room for improvement.
E.g. I'm still bored having to set each layout override one by one. They could really do some effort to create a more userfriendly interface for that instead of a standard popup menu that closes after every single modification. The same was the case with slices, were one also has to check or uncheck every box one by one, as the popup closes after each check.

It's also about time to do something about the style mess that has been around from the beginning of Webdev.
The rigid concept of combining css styles with "Webdev" styles to make it similar to Windev styles has somewhat improved with the "override" concept, still leaving the css styles to be a black box.
Have you ever tried importing elements from a project with a different skin?
For a single button your project+scm is expanded with a complete library of all elements from that skin.Thanks a lot!
The crash when cleaning "unused" (watch out, that is not always true) styles after a static audit has always been there and is still there in version 28. Doesn't anyone use these features?

The popups in layouts are also buggy, even with all overrides unchecked they still have strange variations in size and position.
In a template that's perfectly alright controls reposition in miraculous ways in a page after applying a template.
Only a manual "update from template" in the page using this popup will properly update the template and fix the gui errors and make everything jump to the right position.
None of the more generic update options do the job properly.

It's not all misery, version 28 has really got stuff I like too, but I'm so sorry about all the lost hours because of these bugs.

Anyway a heads up for the linear looper.
For me it's goodbye linear looper again!

Kind regards,
Piet
Re: [WB 28] Why WX is not future-proof
September 15, 2023 11:38AM
Hi Piet

I understand your pain. Recently I've had a call with Fabrice Chambon, one of the commercial directors at PCSoft explaining him why we're only still using WX on a maintenance scheme for existing solutions of ours and do/have done any new development in other technologies nowadays.

Here are the main points mentioned:

- The overall architecture and technology offered by WX is 'OLD' and is unable to target modern cloud based enterprise grade solutions (Clarifications to follow)

- The productivity gains may have been there (and still be there for classical Windows desktop style development) but are no longer there for any modern web based and mobile architectures.
I'm stepping in another tech organisation which builds everything cloud native (AWS + Azure) from the start using mainly node.JS (this allows for using the same tech server side and client side). Their development team has a higher productivity than any seasoned WX developer can reach in building full stack modern architected solutions. On top of that they provide web based front-ends that not only run on their own but also plug in directly in Whatsapp, MS Teams (as Teams apps in Web and even Desktop mode), MS Outlook (Web + Desktop), Google Apps etc, all using the same technology simply jumping on another connector. On the server side this is a serverless architecture which means you don't have any server instances running constantly but it simply scales automatically to the need based on the requests. All simply based on IAC (Infrastructure as Code).

- The one code/all platforms marketing cry from PCSoft is mostly just...marketing. I'll explain: One of our WX solutions has this architecture:
* Web Services backend
* Web Application Maintenance/Consulting backend
* AWP Web Pages for plugin purposes in other web apps
* Android mobile apps consuming the backend web services (Zebra devices)
We developed a common multi-platform OO foundation layer in WX and an OO server side web service based middleware in WX.
We bumped into multiple bugs (that hardly get resolved) especially for Android.
The main issue, is that Android targets a Java copy of the WX runtime that misses key features from the standard Windows based WX runtime. There is no indirection (there is with a tweak but officially it is not supported and it hardly reaches the possibilities of the Windows runtime), homonymic copies of classes and data sources etc that work perfectly in the standard runtime don't work on the Java based Android one (without any compiler error messages), OO behaviour that is different on the Java based Android WX runtime compared to the Windows one, queries as data sources that cannot be declared dynamically in the same way in common classes on Android as they can on the Windows runtime (they can but they cause an exception at runtime while the compiler says all is fine)... Having a complete different foundation tech for the runtime (Java WX runtime on Android) is at the basis of this one code/run everywhere farce that is mainly marketing. Last but not least, the Gradle tech for Android in the way that WM implements it with its own WX Java runtime isn't the way to go anymore. Modern multi-platform mobile apps are actually web apps that can access native features of the platform. Our node.js teams use ionic which uses capacitator to get access to platform specific hardware features. Single code for all platforms...

- The limited user base/community and the franco-français focus making all the non French speaking second class citizens. If you compare this to other tech out there (like node.js) you have worldwide communities and millions of libraries that provide solutions for common design problems or common use cases that can be freely improved and adapted. Although it covers a lot of interop possibilities, the WX platform is actually as closed as Fort Knox and then we even haven't talked about the anachronism of the dongles... On that subject I had a discussion about five years ago with the commercial team at PCSoft where one of our customers had everything virtualised and we needed one full WX suite license for a team member in Asia that needed to be able to do WX development on a virtual machine in the outsourced European data center. It was clear that customer didn't want any physical logistics with dongles worldwide since that would be a return to the past. What if tomorrow someone in the US takes over the role from the Asia team member? The PCSoft solution: you buy a three user license (we only needed one but had to pay for three) network enabled dongle which you plug in the data centre to which the customer even didn't have access. They might as well laugh in my face but to me it showed me back than how retarded they actually were. They sell it as modern new tech, but it is everything except that even if I like the language as such very much.

- The awkward beast that WebDev is. The paradigm of WebDev on the front end may have been a valid one 15 years ago, aiming at desktop application developers to move over to the web and develop in a way they plus or minus know. However, nowadays this is no longer relevant. There are great full stack and front-end only developers that build great front-end apps using standard frameworks and technology that are far better than anything WebDev can produce. Not only is the WB front-end js browser side framework also as closed as Fort Knox (you cannot do introspection, extend it, etc...) it is a curious beast using a lot of non-standard stuff (like mixing WX styles with CSS styles etc...). And because it is not very standard, it doesn't allow you to create web apps that e.g. easily plug in into other apps like Whatsapp, Outlook, Teams, Google, etc... Modern apps can expose and can integrate easily into other solutions. Because of this standardisation on a lot of technological fronts, the era of best of breed applications is once again there...

- The lack of a professional support platform has always been a major issue with me at PCSoft. Also there, they still run things like an IT company 20 years ago did. What am I missing mostly?
Online knowledge base: there is no way to search through a knowledge base for existing confirmed issues, workarounds, best practices, etc...
How many people are creating the same sample projects and sending them to support for the same or a known issue? What a waste of time and effort for everyone (also PCSoft employees)...
Once a bug is confirmed or a feature is requested, it is like a big black hole... You'll never know what will be done with it, what the status is, if it will be planned for, discarded, what release it has been resolved etc... There is no way to follow-up online on your tickets and if you want to know what the status is you have to... make a new request...
Aside of that bugs take often an enormous amount of time to be resolved (I have to admit that most critical ones are handled with priority too) and some are still there for as long as I know without any resolution.

- The impossibility to plan for the future... Instead of a (even limited) public roadmap and an online accessible knowledge base with corrections and enhancements, there is the yearly "surprise !" with the 92x half baked new gadgets. This is also a model from the past that may work for a hardware device like a smartphone but no longer for a software development platform where things evolve at the speed of light. Moreover, you have to wait on average another one to two years until most of the new features are fully baked and really usable or have been ported to all platforms (if they ever will or even continue to evolve). A modern subscription based model (like Visual Studio) without dongles from the 80's with a public roadmap and continuous improvement makes more sense... Also here, their commercial model is an anachronism in the industry as well as the cheap chinese pollutive gadgets they throw at their customers. I'ld rather wish they spend that budget on fixing bugs that never get resolved otherwise.

- The instability of the IDE is also a major issue for me that PCSoft seems unable to resolve... When working in it (specially on WB projects), I think I hardly had a day without an IDE crash... On top of that many of us encountered regular loss of work in WX26 and WX27 until update 4. PCSoft claimed this was a hoax at first but finally had to admit it was a known issue. Well, to be honest: loosing work (sometimes hours of work) is simply unacceptable since the cost is enormous. I have seen it regularly in other tools in the 90's and probably early 00's, but never since in any of the other platforms I develop in. On top of that you really didn't even knew exactly what was lost because it could be code in multiple objects, quick changes here and there causing to have to redo all the thinking work... I found this simply unacceptable apart from the fact that it took more than a year to get solved by PCSoft.

I can go on for a while if you like…

As a seasoned geek using WX on the side since 1999 I still like quite some features and concepts of the WX language and platform… I’m just since many years no longer convinced that it is a professional development platform allowing to create modern platform-like and cloud based applications that match modern standards.
One should use it for what it is good at: small niche solutions that are likely to remain just that… I’ll probably continue using it here and there for that purpose. WX has its place but it doesn’t fit our vision of the application architectures of today and tomorrow. On top of that, the multi-platform claim works only for this type of small “build in three minutes gimmick” applications but not for anything that requires a flexible common foundation on which enterprise scale applications can be build. Our customer base consists mostly of global multinational companies and WX doesn’t match for anything that requires a large scale and a global scope really…

Just my two cents

Peter



Edited 2 time(s). Last edit at 09/21/2023 09:57AM by PeHoBe.
JP
Re: [WB 28] Linear looper.
September 15, 2023 11:56AM
Hi Peter

Thanks for a very comprehensive post and very interesting. I would be interested, if you have the time, to hear what the reply / response from PCSoft was to your points.
Re: [WB 28] Linear looper.
September 15, 2023 05:26PM
Hi JP

I'll remain polite... They live on another planet ;-)

Cheers and have a great weekend !

Peter
Re: [WB 28] Linear looper.
September 17, 2023 11:58PM
Hi Peter.

Thanks for your sympathy and your extensive story.
I do a lot of work for a client that has a WB webshop and WD Backoffice.
It's not an option to switch to a different product, because it's a huge system.
While Windev and HFSQL are basically ok, Webdev most certainly is not.
My first assignment was to make an old WB site from dynamic to awp and make it responsive.
I ended up using lots of rta's and built the content with plain html/css/javascipt/jQuery. because what I had to make was just impossible or too much trouble to use Webdev.
Now my client moved to version 28 and I have to use "layouts" which basically means you have to edit the layout of 4 different pages for each page.
Layouts seem to be a gamma version of a new idea they couldn't wait to add to their new features list.
Painful....
And I would be glad if I only(!) had one crash a day...

Best regards,
Piet
Re: [WB 28] Linear looper.
September 23, 2023 02:29PM
Hello,

Actually I have never developed in WB? So I am safe in a way I have generally used core PHP for all my development.

I am currently using Frappe Framework for build full stack business web app. Frappe Framework is Python based and Python is very easy to learn and use.

I am also exploring the following low-code options:

@Peter I would suggest you to check these. Who knows one of these may click!

HTH

--
Yogi Yang
Re: [WB 28] Linear looper.
September 25, 2023 08:53AM
Hi Yogi Yang

Thanks for the links.

I knew a couple of your list but some of your additional references show what the new way of software development is heading at including AI based code generation.

Noodl seems a very advanced rapid application development and full stack system indeed...
Amazing how easy it generates standard JS code via an IA model.
https://youtu.be/p_bClNuV9Ak?feature=shared

I'll give it a try to see how well it works...

Cheers & thanks

Peter
Al
Re: [WB 28] Linear looper.
September 25, 2023 09:36AM
Hello Yogi and Peter,

I have been following this thread with interest and have looked at the low code soultions but I can't see anything in them that I I can make work with source data in Windev .fic files.

I have a simple WB project to enable a web user to login from the browser and then enter payroll timecard information by selecting a job and cost centres from drop downs and then either hours worked or a start and finish time. The process uses data from a Windev Classic database and creates timecard records for processing by the payroll module. All the low code examples show data being part of the code or entered by a user but not any source data connections to validate input against or fill dropdowns to select from.

I want to move away from WB code and the WB web server model but just can't see any way of connecting any of these low code solutions to Windev files using ODBC or how the whole low code solution can then run on a Windows server running a Windev project and a web based data entry process on IIS, all on the one server.

I suspect that I am missing the whole point of these new coding paradigms and what I would like to do is not possible.

Regards
Al
Re: [WB 28] Linear looper.
September 25, 2023 11:07AM
Hi Al

In order for these solutions to work with a WX backend, you need to REST API's in WX that do the HFSQL IO stuff and implement some of the business logic. Next from these low code solutions you simply point to the REST API endpoint and it all works out of the box with just a couple of clicks.

In line with modern app architecture paradigms, you simply use WX as a REST enabled blackbox endpoint without any UI and use something more standard and modern to do the UX (web+mobile).

Cheers

Peter
Re: [WB 28] Linear looper.
September 25, 2023 11:37AM
Hi,
although we often like to criticize PCSofts paradigm, it really works for them - so they must be doing something right smiling smiley
Now for developers: if it doesn't work for you, try something else.

1. WINDEV is in a class of its own - nothing compares to it if you want to deliver Windows desktop apps.
The language is rich and elegant, it includes a free and VERY robust C/S RDBMs and it is runtime-free.
I often use it as a "UI test environment" for our other development tools.

2. WEBDEV is a rather "peculiar product" - that's because PCSoft wanted it to be compatible with WINDEV and MOBILE and it is quite different from other WEB environments. I personally do not like it, but I see where it stands as a WX WEB solution.

3. WINDEV MOBILE is a GREAT product, but it takes some time to understand it and bypass it's limitations -
Since Android means Java, what other choice did PCSoft have?
But as Peter said there are differences between the app running in the test IDE and the mobile app - especially arrays of structures, etc
Can't say anything about the iOS version since we don't work with it (yet).

4. Most LowCode environments are intended for use by advanced users and NOT by programmers - and I have probably tested most of them.
My productivity fell 90%, with all these arrows, UMLs etc. and the resulting app is nothing special - I prefer writing code ...

5. The runtime cost for these low-code environments is a shock to me - 10.000 euros a year, per installation/for 30 users !!!!
My customers cannot pay this amount of money

6. Ionic applications are VERY VERY SLOW, compared to native WINDEV MOBILE Android apps and we often had compatibility issues with 3rd party plugins. So we abandoned it (and other hybrid environments) and now only develop native apps.

7. I rarely have a GPF in WX in version 27 - can't say the same for WX26 - But I have to restart my PC several times a day when using Android Studio (same when I used Clarion) - it looks like a universal problem with IDEs - I just learned to live with it ...

But this is my "view" and I totally understand those who criticize PCSoft

Regards
Steven Sitas
Al
Re: [WB 28] Linear looper.
September 25, 2023 11:44AM
Hello Peter,

Thanks for the info, it gives me a starting point although at first glance in the WX Help, it would seem that any advantage of the low code approach is offset by the complexity of the WX REST() functions.

Regards
Al
Re: [WB 28] Linear looper.
September 25, 2023 01:45PM
Al Wrote:
-------------------------------------------------------
> Hello Peter,
>
> Thanks for the info, it gives me a starting point
> although at first glance in the WX Help, it would
> seem that any advantage of the low code approach
> is offset by the complexity of the WX REST()
> functions.
>
> Regards
> Al

Hi Al

Any architecture now (apart from a stand alone Windows desktop app) is REST API based in the backend by design.

So if you are aiming for a modern architecture with a data and business logic backend that can be consumed by whatever (mobile, web, devices, robots, iot, other apps, ...), REST is the way to go... Since it is a standardised protocol and methodology it is supported by whatever platform, development environment, browser (as client) and even devices out there. It automatically decouples the different tiers of your architecture as well and makes your application architecture future proof with an easy integration with other solutions and platforms as well (point and click even).

It all depends on what you need.
As I stated in my original post, WinDev for classical Windows Desktop applications within a local network domain works very well and certainly has productivity gains compared to e.g. MFC and .Net for example. But today's connected world is a very different story. The network (internet) is the computer nowadays and that's where the WX products don't shine and find it very hard to compete with products that were built on that architecture from the start.

So if you don't need this, that's fine but be asured: one day your customer will ask you where the net/web/integration/cloud/... features are and with your classical WinDev desktop oriented application architecture you'll immediatey loose any productivity gains you might have had on trying to implement that... Been there, done that (so I know what I'm talking about).

These are just my 2 cents of course ;-)

Cheers

Peter
Al
Re: [WB 28] Linear looper.
September 26, 2023 01:38AM
Hello Peter,

Thank you for taking the time to explain further, I appreciate it.

My main product is a huge Windev Project that has been in continous development since the early 1980's and Windev WD is it's third and last development language. The only remaining requirement is to fill in timecards in the field from a phone or tablet and the simplest approach will be to stay with WB on a browser.

Regards
Al
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: