3 minutes reading time (590 words)
Featured 

The Future of PowerScript Desktop Apps

Now that PowerBuilder 2019 and its new C# development capabilities are in beta, we are starting to get questions about the future of PowerScript desktop apps.  Specifically, does Appeon recommend developers to move away from PowerScript desktop apps?  And related to this point, will Appeon be enhancing or just maintaining the features of PowerScript desktop apps?

A quick look at the PowerBuilder roadmap page and it is obvious we have put much focus on the C# language, open standards, and cloud architecture.  Increasingly, most new .NET projects have such high-level requirements.  Perhaps this is why the .NET framework is radically different these days – the .NET Core framework is open source, cross OS, and targeted for cloud deployment.  And unfortunately, we could not use any of the .NET stuff Sybase did because it didn’t meet these requirements.  So certainly, we had to put a lot of focus on non-client/server features. 

Now let’s assume for the sake of argument that the cloud is the future and focus on if and how a PowerScript desktop app fits into such future.  A native UI technology (e.g. PowerScript desktop app) has certain advantages over HTML (e.g. ASP.NET page) and vice versa.  However, for most line-of-business apps we believe a native UI technology offers the best set of tradeoffs.  Key industry players like Microsoft seem to be recognizing the shortcomings of HTML and trying to lessen this gap with Progressive Web Apps (PWAs).  At Appeon, we think it makes more sense to “cloudify” the PowerScript desktop app than replace it with some other technology. 

In fact, we began to “cloudify” the PowerScript desktop app the second we took over PowerBuilder, which we did on top of its existing C++ runtime and PowerScript language.  Starting with PowerBuilder 2017, we introduced an all-purpose HTTP client, a REST-specific client, an OAuth2 client (with support for tokens), and JSON handling (parsing, generating, packaging).  And in PowerBuilder 2019, we have significantly enhanced all of these features, especially how they integrate with the DataWindow to minimize the amount of coding you do. 

But of course, there is still more work for Appeon to do with the PowerScript desktop app to make it attractive for new projects, no matter they are client/server or cloud based.  This is exactly why in every single release for the foreseeable future we have planned to bring major new features to the desktop target.  For example, in PowerBuilder 2019 we will revamp the UI of desktop apps.  And in PowerBuilder 2021 we plan to revamp deployment of desktop apps (from the cloud).  Beyond that, it would be silly of us to say now, and most vendors wouldn’t even say this much. 

So to answer the main question of this blog: no, we do not think most customers should move away from PowerScript desktop apps.  In case it is not obvious, Appeon is bringing major new features to PowerScript desktop apps, which are aimed at modernizing them.  No matter you are looking to stay with a client/server architecture or “cloudify” your architecture, PowerBuilder 2019 can bring major change to your existing project without a rewrite.  For example, our approach to UI modernization is designed to be codeless (i.e. controlled through style sheets).  As another example, we invested to create an automated solution for “porting” valuable existing business logic to the cloud.  Lastly, in our experience, most rewrite projects are a failure to some degree… delayed, exceeding budget, and/or not impressing app users… so surely, we don’t want to recommend our customers to take more risk than absolutely necessary.

 

Comments (27)

  1. Brett Weaver

Thanks for this. It is brilliant to get some certainty about the future especially as I am developing completely new applications.

 
  1. Alex Mathappan

Thanks for the update. It is great to have this article as it provides clarity and helps me greatly as I have just revived a great application which was about to be terminated, and I am now moving forward with new development.

 
  1. Miguel Alzate

Does this mean that we must become C # programmers and forget Powerscript to get the most out of the new versions of Powerbuilder?

 
  1. Miguel Alzate    Armeen Mazda

Thank you very much for your guidance, Armeen. I shall download the Powerbuilder 2019 beta to understand the subject more clearly.

 

We are offering a service to help fast track PB developers into the C# PB hybrid world. I would be happy to discuss this with anyone interested

 

Hi guys ... I am interested !!! ... What do I have to do ??? ...

 
  1. Luca Arena

Thank you for this post, it is very important for companies like the one where I work, having very big PB C/S apps with many users, to hear that Appeon is not going to abandon PowerScript and PB Classic as a C/S dev tool.

Since we still write all the business logic in PowerScript, it would be very important for us to enhance the language and the PB IDE: for the language the support of Java-C#-PHP-like interfaces would be enough (https://en.wikipedia.org/wiki/Interface_(Java)), and for the IDE the most important feature would be to allow the programmer to open an object/function just by ctrl+clicking on its name in a script.

I don't see any enhancements to the PowerScript language or the IDE in the Roadmap. Do you think there is room for such features? Thank you so much.

 
  1. Armeen Mazda    Luca Arena

Appeon roadmap covers the revisions of the current version and the next major version. There are no changes to the PowerScript language itself planned for the next major version, but beyond the next major version we really cannot say.

However, if you find the PowerScript language is not adequate for your business logic coding, you really should consider using the new C# Web API features of PB 2019. Using this feature doesn't mean you have to run your app over the Internet or deploy to the cloud. You can run this all on-premise with traditional client/server architecture. Our C# Web API includes Kestrel so you don't even have to install or configure a Microsoft IIS server.

 
  1. Luca Arena    Armeen Mazda

Thank you Armeen for your answer. I didn't know about Kestrel since I'm not a .net expert, I'll take a look at it. I have been coding in PowerScript for the last 23 years, so I'd love to continue with it; but since it's still basically as it was in PB4 (I mean the language itself), it's time to switch to a more powerful one. C# + Kestrel can be an option.

 
  1. Arcady Abramov

Hello, all
From everything I wrote and from everything I tried in 2019 Beta so far I still cannot answer the most basic and critical question: will I be able to access .NET DLL public classes and functions from PB 2019 IDE?
We are currently using PB12.6 NET to create console applications in PB script, which use NET DLLs. We do not want to create Web APIs for them, we would like to leave them as .NET DLLs and consume them from PB IDE.

Is this at all possible with PB 2019? we are lost here

Thank you
Arcady

 
  1. Ken Guo    Arcady Abramov

Hi Arcady,

PB 2017/2019 does not contain PB 12.6 .Net any more. Thus, if you want to call .Net DLL, you need to expose the .NET DLL as a COM library, then PowerBuilder can consume it. You will need to register the DLL in the system where the program will run on or use Registery-less COM.
Please refer to the below for more details:
https://www.brucearmstrong.org/2007/07/calling-dot-net-components-from.html
http://brucearmstrong.sys-con.com/node/1668463/mobile

BTW, Appeon plans to add a new object CSharpObject in PB 2019 R2/R3. With this new object, you can call .Net DLL public classes and functions directly.

Regards,
Ken

 
  1. Milton Jiménez

Hi, Friends
When you said:

"PowerBuilder 2021 we plan to revamp deployment of desktop apps ( from the cloud)"

This means that to take advantage of the improvements that come in the future; I have to pass my apps that are C / S to the cloud (using model store pg) or not necessarily?; I am using PFC with my apps ;
the migration would be complicated


Regards

 
  1. Ken Guo    Milton Jiménez

Hi Milton,

Regarding the desktop cloud app, I suggest you take a look at this link first:
Https://www.appeon.com/developers/roadmap/desktop-cloud-app.html

Even if you use PFC, you will still be able to deploy your app to the Cloud via the PB IDE.

Regards,
Ken

 
  1. Armeen Mazda    Milton Jiménez

Adding to what Ken said, since the Desktop Cloud App uses same PBVM as C/S you can benefit from the new PowerScript features we add to PB without having to move your apps from C/S to the cloud (besides obviously the Desktop Cloud App deployment feature itself).

 
  1. Milton Jiménez

Armeen and Ken Thanks for the reply:
Where can I review complete migration examples to the cloud using datastore.net and embedded sql

There may be lib. PFCs oriented towards the cloud (it would be great)

thanks

 
  1. Ken Guo    Milton Jiménez

Hi Milton,

I'm so sorry that we couldn't offer you this kind of information yet, as it's still under development.

Regards,
Ken

 
  1. Robert Martyn

Maybe a stupid question but, in the case of a Client/Server app, how does adding a middle tier in the cloud add any benefit? Seems like it's just adding one more hoop to jump through on the way to/from the database. I don't see the advantage of that.... if anything, seems like it would slow things down and add unneeded complexity. What am I missing?

 
  1. Milton Jiménez    Robert Martyn

hi, friend; the performance using datastore o modelstore
check it out in : https://demopb.appeon.com/performance_1_102.html

It is very efficient in memory and response time; If you take into consideration that the main objective is the cloud;

 
  1. Robert Martyn    Milton Jiménez

I don't see how this example is relative. I'm talking about the performance of running a client/server app where the client connects directly to a database vs an app where the client connects to a web server and then to a database.

Anyway, the issue is moot now. My company is not willing to wait another year for Appeon to deliver the final piece of the roadmap to enable the migration from Powerscript to C# for desktop applications. They are going to instead offshore development in .NET/APEX to India and do a complete rewrite of the application. Guess who will probably be out of a job soon? Ping me if you have a job available for a 20 year PB/Oracle developer in the Central Florida area (or remote).

 
  1. Armeen Mazda    Robert Martyn

Sorry to hear that! Our PowerScript-to-C# converter is currently in beta, and it can probably automate half of the migration project to .NET. Here is a conversion demo using the beta version: https://youtu.be/PXyiDb4Znn4?t=795

We had number of early adopters present their success stories at our annual user conference:
https://youtu.be/rUqEBFcaseY
https://youtu.be/iHMAMcmpqIo

 
  1. Robert Martyn

"As another example, we invested to create an automated solution for “porting” valuable existing business logic to the cloud."

Is this the same as what is on the Powerbuilder Roadmap...

"PowerScript-to-C# syntax converter(additional license) "

Can someone explain what this is going to do for us?

One of the main complaints my company has is the lack of resources (developers) available that can still code in Powerbuilder/Powerscript and of course the salaries we command. I see the moving of business logic and such to C# Web API's, but what about the front end GUI? Are we ever going to be able to write Powerbuilder Desktop applications in C# and have the datawindow (not just a datastore) available for rapid development of the front end? I thought this was what PB2021 was going to deliver, but I'm not so sure now.

 
  1. Armeen Mazda    Robert Martyn

The PowerScript-to-C# converter is included in the $1,595/year subscription of PowerBuilder. There is no additional license fee.

It only migrates business logic, but that is like automating half of your project. There isn't going to be something that's 100%... not possible to do and have maintaintable code.

We are working on introducing an HTML DataWindow to help with the UI migration as well, but that is far out. What is currently in beta is the PowerScript-to-C# converter.

Just to clarify, when using the PowerScript-to-C# converter your UI technology can be anything. You can use vanilla ASP.NET pages, continue using traditional PowerBuilder client, or the new UI technologies we are working on (e.g. HTML DataWindow).

 
There are no comments posted here yet