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 (14)
Thursday, Mar 14 2019

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

1

Friday, Mar 15 2019

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

Friday, Mar 15 2019

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

0
Friday, Mar 15 2019

Quite the opposite Miguel! We are saying to get the most productivity out of PowerBuilder consider using PowerScript together with C#. PowerScript is the native UI programming language and C# is the server-side programming language for PowerBuilder 2019. Of course if your next project is pure client/server rather than cloud architecture then it would be 100% client app with no middle tier therefore it would be just pure PowerScript and no C#.

Comment was last edited 7 years ago by Armeen Mazda
0
Friday, Mar 15 2019

Well. So, to get the most out of the server-side features of Powerbuilder 2019 and to be the most productive PB developers as possible, must we become expert C# programmers? Another learning steep slope to climb?

0
Saturday, Mar 16 2019

Since PowerBuilder's C# implementation is open architecture it is a blank canvas. So if you are a C# expert then you can go way beyond the features that PowerBuilder 2019 provides.

But if you are just using the C# features of PowerBuilder's framework then I don't see such steep learning curve. Just compare the PowerScript code to the C# code in this example: https://www.appeon.com/sites/default/files//pictures/developer/PS_to_Csharp_Porting.png

So to answer your question, the answer is no. The server-side features that PowerBuilder's framework provides do not require you to be a C# expert. Perhaps the issue is that you have not downloaded the PowerBuilder 2019 beta and tried out the various C# tutorials so you are imagining the worst?

Comment was last edited 7 years ago by Armeen Mazda
0
Saturday, Mar 16 2019

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

1

Thursday, Mar 28 2019

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.

0
Friday, Mar 29 2019

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.

0
Monday, Apr 01 2019

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
Friday, Sep 06 2019

Whether you use Dynamic or Static DataSources, you can redirect your App's DB connection at run time (aka by Tenant) by using the "CacheName" parameter, as follows:

https://www.appeon.com/support/documents/appeon_online_help/2017/server_configuration_guide_for_net/Dynamic_transaction_object_to_connection_cache_mapping.html

HTH

0

Thursday, Apr 11 2019

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

0

Friday, Sep 06 2019

Whether you use Dynamic or Static DataSources, you can redirect your App's DB connection at run time (aka by Tenant) by using the "CacheName" parameter, as follows:

https://www.appeon.com/support/documents/appeon_online_help/2017/server_configuration_guide_for_net/Dynamic_transaction_object_to_connection_cache_mapping.html

HTH

0

Thursday, Apr 30 2020

Attachments

Your account does not have privileges to view attachments in the comment

0