1. Shawn Davis
  2. SnapDevelop
  3. Friday, 30 June 2023 17:03 PM UTC

Hello All,

Looking for speculation and advice, so feel free to give me your 2 cents.

I had always planned to eventually provide a mobile app to pair with my desktop app, but now that PB Mobile is dead - it's dead right? - I'm looking at other options. I love the idea of .NET Maui but after investigating, it definitely isn't RAD. Perhaps with the right tools it can become more RAD? I have been a long-time part-time PB developer but I've now given it up and outsource my coding, but as a solo I never had the time to invest in coding in a non-RAD tool.

My current out-source developer has experience with .NET and .NET Maui but has given me a budget for only very basic functionality (perhaps 20% of the desktop features) of 400+ hours.

So I'm looking for advice on what tools you're using for mobile. I'm sure there are excellent ones I'm unaware of, and hopefully they are more RAD.

I did check out PowerApps and it would have been great but it has severe limits on data retrieval.

Let me hear your thoughts! ?

Accepted Answer
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Friday, 30 June 2023 19:22 PM UTC
  2. SnapDevelop
  3. # Permalink

Hi,

For a PB developer, the first shock is the lack of visual designers. To me, it looks like a pain to have to do everything in XAML or whatever.

Fortunately there's several tools out there:

for flutter: https://medium.com/@pmutisya/flutter-studio-version-2-41cce10fcf3d

grailkit: https://www.youtube.com/watch?v=cb4fLkxXFSg&list=PLfbOp004UaYUgjhTHjtSixo-iMdz6PhIv

for blazor: https://www.youtube.com/watch?v=q9RdQa6pMx4&list=PLQyJPeb3xHcBij_RbHD__2TOo8Jv5HQVc&index=3

Not sure if there are more tools out there.

What I don't understand is that MS no longer has a tool like Blend for the design part on MAUI and Blazor / Razor pages. A good thing for other development languages though :)

 

Comment
  1. Shawn Davis
  2. Saturday, 1 July 2023 01:29 AM UTC
:-D
  1. Helpful
  1. Dan Harrel
  2. Monday, 3 July 2023 14:11 PM UTC
There is one thing I'd like to add at this point: Choose a tool that has a high likelihood to be relevant for a long time to come. Building software is a big investment. Probably your application will have a very long life, and you don't want to find yourself dependent on a tool that has been left behind, no matter how "cool" that tool is now. When I first got involved in our legacy PB application, we considered using Smalltalk. Good thing we didn't. PowerBuilder is not the go-to tool it was in its early days, but is still very relevant, thanks to Appeon and a large base of important expensive-and-risky-to-rewrite applications. There was no guarantee PowerBuilder would end up still relevant to many years later, but in retrospect, its chances were better than Smalltalk due to its huge early onboarding.
  1. Helpful 3
  1. Miguel Leeuwe
  2. Thursday, 13 July 2023 17:19 PM UTC
Yes, but nowadays it's all pretty unpredictable in my opinion. Of course, Java Script, CSS, etc. that's stuff that will still last a long time unless "AI" can fully replace those kind of applications. They already do a pretty good job. I don't think there's many years left for AI to build perfect web sites.

regards
  1. Helpful
There are no comments made yet.
Heino Hellmers Accepted Answer Pending Moderation
  1. Sunday, 2 July 2023 19:33 PM UTC
  2. SnapDevelop
  3. # 1

Hi,

we used PSMobile for many years.

First parts of our Apps have been moved to Flutter until today and we are happy with Flutter.

We checked different solutions (like React Native, Xamarin and Flutter) to move our pb based mobile apps.

The winner was Flutter.

Until 2025 we plan to finish migration all of our apps.

Comment
  1. Miguel Leeuwe
  2. Sunday, 2 July 2023 19:46 PM UTC
Hi Heino,

That's great to hear. Any good tips on a strategy for migration?

regards
  1. Helpful
There are no comments made yet.
Dan Harrel Accepted Answer Pending Moderation
  1. Friday, 30 June 2023 18:12 PM UTC
  2. SnapDevelop
  3. # 2

Our mobile companion app to our main PowerBuilder application is a web application built using ASP.NET Core MVC.  It is responsive to mobile viewport size (i.e. PC versus tablet versus phone) using Bootstrap 4 CSS.  Our mobile solution is a web app because customers were interested in thin client and simple application management.  

We chose ASP.NET Core MVC for the mobile web app because it's the same technology that Appeon supports for their SnapObjects framework and .NET Datastore.  Our mobile web app accesses data through a Web API built using these Appeon technologies.  

To complete the picture, we have code at 4 levels:

  • JavaScript to make the web application responsive
  • ASP.NET Core MVC web application to build HTML from Razor pages (including HTML returned to Ajax requests to support dynamic page manipulation)
  • ASP.NET Core MVC web API to return data to the web app and initiate business processing, built using Appeon SnapObjects and .NET Datastore
  • Business processing logic in database stored procedures

We migrated business processing logic into stored procedures so the same code can be easily used by both our PowerBuilder legacy application and our new mobile web application.  Our legacy PowerBuilder application already used a lot of stored procedures, so this became the easiest point of commonality.  

FWIW - We had architected our legacy PowerBuilder application with non visual business objects that encapsulated all business functionality, separated out from any UI.  This worked really well.  The business objects were available for reuse from any business processing in our PowerBuilder application.  Unfortunately this nice, tested PowerBuilder code is just not usable within our web architecture, so we are pushing as much as possible down into stored procedures which can be used by both the legacy and mobile web app.

Comment
  1. Shawn Davis
  2. Friday, 30 June 2023 18:27 PM UTC
Thank you, for that helpful information. Not sure it fits the RAD style I'm looking for though. ?
  1. Helpful
  1. Dan Harrel
  2. Friday, 30 June 2023 18:33 PM UTC
Right you are. It is not RAD. Quite the learning curve for a long time PB shop, and that's an understatement!
  1. Helpful
There are no comments made yet.
mike S Accepted Answer Pending Moderation
  1. Friday, 30 June 2023 19:54 PM UTC
  2. SnapDevelop
  3. # 3

 

 

windows tablets you can use powerserver.

 

the other question is whether you have back end type of processing written in PB.  If its just dataentry screens, that's one thing, but if you are processing the data via PB code then you need to either convert it all to (c#/java etc)  --or-- call your powerbuilder code from a webapi (assuming its callable as a NVOs, and that the volume doesn't spike to overwhelm the server).

 

Comment
  1. Shawn Davis
  2. Friday, 30 June 2023 20:35 PM UTC
Thanks. Definitely looking for ios/android capability.
  1. Helpful 1
  1. mike S
  2. Friday, 30 June 2023 20:56 PM UTC
https://flutter.dev

i haven't used it, but i know of some PB shops that do
  1. Helpful 3
There are no comments made yet.
Miguel Leeuwe Accepted Answer Pending Moderation
  1. Friday, 30 June 2023 23:31 PM UTC
  2. SnapDevelop
  3. # 4

The problem with any conversion of Desktop to mobile, as far as I can see, is the huge amount of time it will take you to create the visual front end part. To start with, there can be so many attributes and expressions in any column or computed column of a datawindow, that doing this in any other language could take forever. What could be nice though, is have mobile apps that do specific parts of your desktop app, maybe some reporting to start with. I'd definitely not try to convert, but start from scratch.

Then another added problem is all of the business logic that might be all over the place in PB. If you have documentation, that would help, but are you sure that it's 100% up to date? (I have never seen that happen in my 29 years experience in 3 different countries). If not, you still have to reverse engineer your code.

:)

 

Comment
There are no comments made yet.
Sivaprakash BKR Accepted Answer Pending Moderation
  1. Monday, 3 July 2023 05:45 AM UTC
  2. SnapDevelop
  3. # 5

Have you heard / seen B4X (Cross platform RAD development tools | B4X).  It gives basic like syntax and an excellent visual designer (WYSIWYG editor) which really makes the app development faster.  Before deciding give this a try.

Happiness Always
BKR Sivaprakash

 

Comment
  1. Miguel Leeuwe
  2. Monday, 3 July 2023 07:52 AM UTC
Yes!

I was going to mention that one too. It's great and I've tried to use it for some time, but I find it very hard to get a grip. You have to learn from "loose" videos, without getting any grasp on the concepts of how to do things. There's a book, but last time I checked it was outdated. You constantly have to download libs and updates from the forum and at any later point those libs are incorporated into the standard product without being notified. Maybe if you already are an Android developer things make more sense.

It's development also depends on a single guy named Erel.

I'd rather go with Flutter personally.
  1. Helpful
  1. Sivaprakash BKR
  2. Monday, 3 July 2023 12:11 PM UTC
I agree Miguel. We need to dig the forum to get the later version(s) of any libraries. We get used to it. Still, it's simplicity attracts us to towards it.
  1. Helpful
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.