Jump to content

Recommended Posts

Posted

I have a very large application with hundreds of forms that I need to convert for the web. After considering various options, UniGUI seems like the best solution.

The conversion process will take several years because I need to keep updating the app to match our customers' evolving needs which requires adding new forms each year. To manage this, I’m exploring a hybrid approach: keeping the existing forms as VCL (desktop forms) while building new forms as web pages using UniGUI. These web pages would be displayed inside the application using an embedded Edge browser (which is possible).

For this hybrid solution to work smoothly for users, I want to embed a UniGUI server directly into the application. This way, each user would have their own local UniGUI server, which would generate the web pages they need.

Over time, as more of the app is rewritten in UniGUI, the goal would be to eventually move everything to a single, central UniGUI server in a typical web-based setup.

Is this possible ?

Posted
11 hours ago, david_navigator said:

This way, each user would have their own local UniGUI server

Why do you propose having a separate local UniGUI server for each instance of the VCL application, rather than using a single centralized UniGUI server shared by all clients? Wouldn't a centralized server simplify deployment, maintenance, and updates? Or are there specific reasons, such as offline functionality or user isolation, that make local servers more appropriate in this case?

Posted
3 hours ago, Sherzod said:

Why do you propose having a separate local UniGUI server for each instance of the VCL application

Mainly for ease of deployment. If everything (VCL forms & unigui server) are all in one exe, then I don't have to worry about upgrades etc. If the user upgrades their app, then they'll automatically be getting the latest VCL & UniGUI forms. If I have a central server on the user's LAN, then there's a good possibility that the user will upgrade one and not the other.

Most of my customers are maybe 20 users on a LAN. My app is database driven, with a Local SQL database instance. Many of my customers have contracts with their customers prohibiting the use of remote applications - everything has to be on their LAN.


 

Posted

Sherzod, I'll explain it to you: he's looking for a single exe that contains both a web browser and the UNIGUI server itself. So that in a single .exe there is an autonomous webapp (localhost). Practically a simulation of a VCL app, but which instead contains a web client and the relative UNIGUI server.

 

  • Like 1
Posted
On 12/18/2024 at 9:44 AM, Stemon63 said:

Sherzod, I'll explain it to you: he's looking for a single exe that contains both a web browser and the UNIGUI server itself. So that in a single .exe there is an autonomous webapp (localhost). Practically a simulation of a VCL app, but which instead contains a web client and the relative UNIGUI server.

 

This is exactly what I'm after.

Posted

Best solution is CEF4Delphi. Check it out. Don't use TwebBrowser.

You can do a lot of stuff with it, just check the examples. Get it at github.

EDITED: Got your problem all wrong. Read below. You need to migrate but no big changes, vcl my way, with an "in a hurry" plate.  Look in cybelesoft.com
Get your wallet ready and at hand.


 

Posted

Embedding a UniGUI server directly into the app is definitely possible and could be a good solution to provide a smooth experience for your users. This way, each user would have their own local instance of the UniGUI server, which can generate the web pages on-the-fly as needed. As more of your app gets converted to UniGUI, you can eventually consolidate everything onto a central UniGUI server down the line.

  • Like 1
Posted
On 12/26/2024 at 3:57 AM, unikart said:

Embedding a UniGUI server directly into the app is definitely possible and could be a good solution to provide a smooth experience for your users. This way, each user would have their own local instance of the UniGUI server, which can generate the web pages on-the-fly as needed. As more of your app gets converted to UniGUI, you can eventually consolidate everything onto a central UniGUI server down the line.

Thanks. But how do I embed  a UniGUI server directly into my app ?

Posted

As far as I know, this is not possible, migrating a large desktop system to the web, and continuing to create new features on the desktop over this time is an arduous task.

Most likely, your system has all the business rules spread across forms, with hundreds of queries.

I went through this and did this:

Do it in stages, with each new form migrated to your new unigui project, you remove the old form, and by clicking on the menu, you will open a cef4delphi within your desktop application. but you will have to have a unigui server centralized on the client's lan. When you upload the desktop version, you upload the new version of unigui along with it, you probably already have your routine to update the network terminals with the new exe of your desktop application, the new version of unigui you will only have to update the server.

  • Upvote 1
Posted
2 hours ago, david_navigator said:

@Wilton Ergon @Fred Montier Thanks - what advantage does cef4delphi have over the inbuilt TWebBrowser Edge based solution please ?

@unikart can you tell me how please ? "Embedding a UniGUI server directly into the app is definitely possible"

a- Like having a pen  and having a laser printer. Go to github, read the docs.
b- Indy has a lot of server's components. Need one ? Just place TidHttpServer in your app, and Kabuummm ! Got a http server. Or wait... what are those indy units in uniGUI's folder ?

And "Embedding a UniGUI server directly into the app is definitely possible", why would you ever need that ? By the way, what is a StandAlone uniGUI Project ?
Would be like puting a wheel inside a wheel to make it round.

 

Posted

My correction:

You need to decide: go full web (redo all in JS frameworks), go half web but vcl with db and backward compatibility (uniGUI style),  go fantasy land and provide a transitory solution just to keep the biz (Cybelle - ThinInfinity UI) or pack it up and throw at the client's head.

Lets dive in the package and server part, only.
In fact you could pack all your project in one single file whatever it does, db, internet, api (aspack, packsite a lot of utils I used decades ago, could do that). You could pack you whole website and distro like that. But wait, how do you correct the color of a button in last month's release ? Got it ? Hence, The distributed resources of Internet and those useless css, html and js files. Sorry, but you still thinking as a Delphi programmer from the 90.

uniGUI does not work like that due to many reason. But let put in a simple form: using a http server, a solution like uniGUI, the MAIN AND ABSOLUTE GOAL is to get over user peskies and hurdles of user interaction like the early 90 tech environment. Hence, internet success. So, at the end, you got a pack with constants updates in need and corrections subject to the user whole crazy environment (aka, computer).  The browser, just overcame that !

But you can still do with virtualization of file sistems and packaging. VCL had some components (pre-internet) that would do just that. Go torry.ru/.net and you still can find utils and stuffs that does that. But if you can do that, why not make a small VM with all ? Wait a minute ! Isn't that why a lot of people has 50 tiny instances in AWS to do just that ? Got the picture ?

That is why you dont pack a wordpress website and give to all your customers to run locally. Same reason.

Would work ? Of course ! But, would it be practical  ? Nhee...

Would you find my point  convincing ? Neither... I'm quite sure.

By the way, have you heard about CDN, Docker, Node.JS ? Another reason some one walked long ago your same path.

So, its uniGUI way or the highway.

PS: I also work with Intraweb, TMS WebCore,  React, Node.js, a Lot of JS in last few years and , believe me, if you don't want to redo all you project in in another language... that's the way.

Posted

And CEF4Delphi uses Chromium  (core to a lot of browser and the "new" VCL component). It opens direct access to all "parts" of the browser. You can make your own browser (the laser printer part... lol), and is used to WhatsApp JS inject code: the only way yoou can use whatsapp directly holding to Delphi pascal.

Any other solution, and you out of the pascal ballpark.

It's not what you're looking for. I misread your post.
 

Posted
On 12/12/2024 at 3:25 PM, david_navigator said:

I have a very large application with hundreds of forms that I need to convert for the web. After considering various options, UniGUI seems like the best solution.

The conversion process will take several years because I need to keep updating the app to match our customers' evolving needs which requires adding new forms each year. To manage this, I’m exploring a hybrid approach: keeping the existing forms as VCL (desktop forms) while building new forms as web pages using UniGUI. These web pages would be displayed inside the application using an embedded Edge browser (which is possible).

For this hybrid solution to work smoothly for users, I want to embed a UniGUI server directly into the application. This way, each user would have their own local UniGUI server, which would generate the web pages they need.

Over time, as more of the app is rewritten in UniGUI, the goal would be to eventually move everything to a single, central UniGUI server in a typical web-based setup.

Is this possible ?

And a solution I had a deep dive was https://blog.cybelesoft.com/running-delphi-application-web-browser/
But stopped since got really involved with uniGUI and they made some absurd claims that I knew were not doable. And their price tag and biz model.

Not watching it's dev any more but know that it expanded to others platforms than vcl with the same sales pitch.

I'm alway suspicious when I cant find the price, only a quote offer  and a lot of claims with a very simple demo.

 

Posted
On 12/31/2024 at 5:37 PM, Fred Montier said:

And a solution I had a deep dive was https://blog.cybelesoft.com/running-delphi-application-web-browser/
But stopped since got really involved with uniGUI and they made some absurd claims that I knew were not doable. And their price tag and biz model.

Not watching it's dev any more but know that it expanded to others platforms than vcl with the same sales pitch.

I'm alway suspicious when I cant find the price, only a quote offer  and a lot of claims with a very simple demo.

 

Our app has the ability to run under Thinfinity and we have servers that allow this for some of our customers. However, although it solves the "running the app in a browser" problem, you are still effectively running many instances of the full application under Windows, and so it's both processor and memory hungry - not to mention the cost.
Thankfully we are tied in to an old perpetual license agreement, but the new user agreement is annual and so is too expensive as a solution.

Their one line of code claim kind of works for a simple app, but anything that involves printing, file upload or download, temp files and/or settings files, involves a bit more work. I think it took us about 6 months from start to finish to make the app Thinfinity compatible.  

Posted
11 hours ago, david_navigator said:

Our app has the ability to run under Thinfinity and we have servers that allow this for some of our customers. However, although it solves the "running the app in a browser" problem, you are still effectively running many instances of the full application under Windows, and so it's both processor and memory hungry - not to mention the cost.
Thankfully we are tied in to an old perpetual license agreement, but the new user agreement is annual and so is too expensive as a solution.

Their one line of code claim kind of works for a simple app, but anything that involves printing, file upload or download, temp files and/or settings files, involves a bit more work. I think it took us about 6 months from start to finish to make the app Thinfinity compatible.  

Yes.. that is why I stop paying attention to it at the very beginning. They made a lot of claims at their webinar and I watched nodding but laughing inside: yeah right !
Well, if you have  old Delphi APP , a really old one, and cannot let it go for a few clients... maybe... maybe... and money to spare...maybe.. lol.

This is not a definitive solution ! But there are lots of solutions coming up to Delphi/Rad.

Posted
2 hours ago, Fred Montier said:

Yes.. that is why I stop paying attention to it at the very beginning. They made a lot of claims at their webinar and I watched nodding but laughing inside: yeah right !
Well, if you have  old Delphi APP , a really old one, and cannot let it go for a few clients... maybe... maybe... and money to spare...maybe.. lol.

This is not a definitive solution ! But there are lots of solutions coming up to Delphi/Rad.

Hi Fred,
"But there are lots of solutions coming up to Delphi/Rad."
Do you have knowledge about new products or technologies that are coming out in the Delphi world?
For the web, I use Unigui and Tms WebCore (which is improving gradually).
Besides these, I don't know of any other system for producing truly professional Web applications of a certain level, and for a high number of users.
(I also used Intraweb years ago for small projects, still works)

Posted
13 hours ago, david_navigator said:

@Stemon63 D2Bridge looks interesting - but I can't find anything in English so don't know if it's just a Thinfinity type of project or something very new.

No.. is basically what unigui was in early days of creation before the light. A generic translation of VCL comps to html based in Bootstrap. But beeing fairm suports , devexpres, rx lib and other very comum packs, other than the basic vcl controls. But lack propper session control and a lot of stuff. Users of uniGUI will be very frustrated.

Hey, is free... all suupport  multi-lang from the cradle.

  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...