Several people have said that UniGUI may be the next acquisition after ExtJS so that Idera can provide more comprehensive web client functionality in Delphi.

Several people have said that UniGUI may be the next acquisition after ExtJS so that Idera can provide more comprehensive web client functionality in Delphi.

I'm not sure this is the case. Delphi already has FMX which basically does what UniGUI does, but for multiple platforms. Why not just add the web as the next FMX platform? Most of the work has already been done, they just need to write the glue.

Comments

  1. Hello Paul, but isn't Firemoneky purely for *native/desktop* UI whilst ExtJS is purely for web UI? Yesterday I heard someone from EMBT on the forum (forgot which forum), says that the acquisition of ExtJS would enable EMBT to provide web solutions. To achieve that, they can either acquire any of the Delphi wrappers for ExtJS such as UniGUI, or develop themselves.

    ReplyDelete
  2. Edwin Yip - The web would be another platform for FMX. It's really just an abstraction layer for the UI after all. When the application is compiled, Delphi will render the controls in HTML/JS instead of native code - which is where ExtJS comes in - then build the server for one of the already supported platforms - Linux, Windows or OSX. They already have pretty much everything they need.

    ReplyDelete
  3. UniGUI is server.
    They can made a compiler to asm.js for example but it will be a standalone app running in browser.

    ReplyDelete
  4. Paul Thornton You have right. Web Assembly could be the perfect new platform with an HTML canvas for FMX...

    ReplyDelete
  5. All the cases, with UniGUI or with FMX evolved to ExtJS, sounds well. I prefer the FMX evolved, but... sounds good!

    ReplyDelete
  6. For applications without the need to work with a server can be OK with FMX. The app will be downloaded every time it changes.
    But if the app can not work without a server... to connect to a server from the browser... why not move all the business logic to the server and only the interface in browser? Like UniGUI.

    ReplyDelete
  7. Cristian Peța No. It's not a problem. An FMX app can use soap, rest or websocket.
    you don't care whether it is a native app or through a browser.

    ReplyDelete
  8. Cristian Peța
    Because this new platform (FMX +ExtJS) open a new form of deploy OnCloud applications: Your customer can have your business software installed on a server, that is accessible externally. And internally, in the desktops or in the plant, you can have the Desktop version of the same business applications.

    By another hand, you can configure the desktop version of your app to communicate with a local database, which, when have communication with the server DB, synchronize the data.

    This last converts, with little changes, your application, from a desktop application to a Complete OnCloud application.

    Now, you only need Customers with this needs.

    ;)

    Ah! All of them with the same development environment and in some cases with the same source code!!!!

    ReplyDelete
  9. Renaud GHIA but developing a server app like UniGUI is faster because interface part (ExtJS) is already there integrated in UniGUI.

    Writing two app (one with FMX for interface and one for server) will take more time. You will need to connect that two app. But the advantage will be that you will have a much better control of the interface opposed to UniGUI - ExtJS.

    ReplyDelete
  10. Cristian Peța I don't understand why you want create two apps. But what I am sure is that all that are possibles with javascript / html5 would be possible with an FMX app compiled for the browser. The reverse is not true.

    ReplyDelete
  11. Renaud GHIA the FMX interface would need to be compiled with the other compiler (Pascal to javascript) so it will be an other app from that one on the server (Pascal to native code).

    ReplyDelete
  12. I agree, it is better to extend existing FMX, instead of having one more framework.

    ReplyDelete
  13. Juan C. Cilleruelo you do not need ExtJS to compile FMX to javascript. FMX itself is rendering the UI. FMX do not need ExtJS for this.
    Both FMX and ExtJS are UI libraries. I do not see how you can combine the two.

    ReplyDelete
  14. Cristian Peța
    Can you see the target platforms of my Application?
    What I want is add a new platform called, by example, ExtJS, or Web.

    It's very simple. The IDE, currently use the convenient compiler or render to deploy the application.

    Simple and possible​!!!
    https://plus.google.com/photos/...

    ReplyDelete
  15. There some radical differences here. Firstly, web is multi-user while FMX apps target single user. Web UI is not yet another UI which you can add to list of FMX supported platforms. Web UI is so different and advanced that eventually it will require you to implement a separate library for it.

    FMX relies on low level rendering engines to create a UI while Ext JS is a high level library with already built components of its own. For example, for a Grid implementation you have an Ext JS grid which is totally different than a VCL/FMX grid.

    We did this mistake in initial versions of uniGUI. We had both VCL and Web targets which you could use both. We tried to replicate a VCL form for the web UI which we were able to do that successfully. However, after a while we realized that what we were offering as Web UI was only a fraction of the functionality which is available in Ext JS library.

    ReplyDelete
  16. Cristian Peța Actually a company named Cybelesoft created a FMX port for HTML5. I think that library was discontinued in favor of Thinfinity. So yes, you don't need Ext JS for this. HTML5 canvas is enough.

    ReplyDelete
  17. Juan C. Cilleruelo I understand you.
    But for this your Delphi code (FMX also) will need to compile to javascript (Delphi->LLVM->Emscripten->JavaScript).
    There is no need for ExtJS.
    Real C, C++ code to asm.js is running about 2x slower than native code.
    I think that Delphi code will be more than 4 times slower at beginning. And who knows if someone will optimize it more.
    Is this OK for your app?

    ReplyDelete
  18. Farshad Mohajeri
    Can you see my $IFDEFs?

    This is what I want. Simple and possible!

    Don't complicate your mind with your experience. Rethink it again!
    https://plus.google.com/photos/...

    ReplyDelete
  19. I don't worry about if the code is compiled with javascript or only the UI. The result shall be deployable on a Web server. This is the only final requirement​. Simple!

    Cristian Peța

    ReplyDelete
  20. Farshad Mohajeri it is server side rendering ? It's not a real FMX application that is compiled in web assembly or javascript.

    ReplyDelete
  21. Cristian Peța Delphi->LLVM->WASM will be more performant. Hav you seen unreal engine compiled under wasm ? Differences between native and web app will begin to disapear...

    ReplyDelete
  22. Farshad Mohajeri Thinfinity will capture GDI/GDI+ of the app and sent this to the browser and back. Somewhat similar with Remote Desktop from Windows but using a browser and JavaScript to recreate the GDI calls.
    There was something similar with OpenGL for FMX app but I think it is discontinued.

    ReplyDelete
  23. Renaud GHIA what I see good to WebAssembly is that all major browsers has adopted it.
    No more asm.js (FireFox) or PNaCl (Chrome). Same app will run in all major browsers!
    Promising but it is not yet for production. And only 32-bit for now (4GB memory). 64-bit into the future.

    ReplyDelete
  24. Sencha has a visual app builder already. I think they will go the UniGUI way of doing it since that is the "easiest". I would prefer they create a WebGL target for FMX though (like Unity3d does). Turbo Pascal compiled and run in the browser: kanaka.github.io - pascal.js

    ReplyDelete
  25. I wonder if you guys also try to combine a screwdriver and a hammer if you have both in your toolbox and you are trying to build a carport. ;)

    The fact that Idera has bought Sencha to complement their portfolio does not mean that they are integrating one of them into the other and from my pov that would be a total waste of time and most likely a disaster.

    Thats a typical Delphi developer disease that everything has to be done in delphi/pascal code because it's "native". I wonder when that rumor ends that just because something compiles to asm it automatically means that it's faster. There are tons of examples that show that other tech is lightyears ahead of what the Delphi compiler can achieve in terms of optimizations that such code even if not being "native" smokes similar code being written in Delphi or requires severe handmade optimization in that code which in the end cost money because you spend time on those optimizations.

    ReplyDelete
  26. I think it is just better FOR FMX\vcl to support third parties(unigui & kitto) to fill the gap. and working on more integeration of php builder with sencha products.

    ReplyDelete
  27. I've been working with Ext JS since 2008. From what I see here what majority of Delphi developers want is to replicate their existing VCL/FMX app UI in a web browser. This can not be called a web application because it is not.

    Now let's talk about implementation obstacles. You will have many features in your FMX app UI which can not be implemented on the web side. You'll also have tons of features in web UI, Ext JS for our case, which are extremely difficult to replicate on FMX side. So eventually you'll end up with worst of both worlds.

    Major problem here is lack of familiarity with Ext JS and its advanced capabilities. Ext JS itself deserves a framework of its own rather than limiting it to a yet-another target for FMX.

    ReplyDelete
  28. "I've been working with Ext JS since 2008. From what I see here what majority of Delphi developers want is to replicate their existing VCL/FMX app UI in a web browser. This can not be called a web application because it is not."

    YES! Forget IW-like solutions.

    ReplyDelete
  29. Farshad Mohajeri Dany Marmur Sorry but a webassembly app is a web app. no debat for me. Not the old way, but the new way. It's the future.
    You can design your app as you want. FMX and ExtJS are only framework.

    ReplyDelete
  30. Farshad Mohajeri making a web app with FMX is not viable. Only something like Thinfinity (a remote UI).
    But for a standalone app running in browser, FMX is a good candidate. And WebAssembler being an adittion to JavaScript is a nice thing. I tried it in Chrome and Firefox and it's working nice.
    It is good for app that needs good UI control. With FMX one can make its own components. With ExtJS it's not so easy.

    ReplyDelete
  31. Renaud GHIA for me a web app is something that works on the web (with data stored on a server). A WebAssembly app is a standalone app like a Windows app. The browser is only an other OS.

    ReplyDelete
  32. Cristian Peța Ok. we don't have the same definition. For ma a web webapp is something twats works on the browser. a webapp can communicate or not on the network... For me, a javascript calculator is a web app (not a client server app).

    ReplyDelete
  33. Renaud GHIA I would call it a browser app. For me the web is something that operates over the Internet. There is also a GNOME Web (the browser). But Chrome or Firefox is not web.
    I see a browser like a VM with a default OS already installed.

    ReplyDelete
  34. ok if i take your definition i have done lot of native application that are web app (because communication with soap and rest web services).

    ReplyDelete
  35. It's a different paradigm, not just a different platform. Desktop apps are single-user. Web apps are server based and multi user (each user has different state and session data).

    ReplyDelete
  36. raudus web framework​ I don't understand you. What Raudus Builder is doing? Is somewhere a description in English?

    ReplyDelete
  37. click link vídeo YouTube . RaBuild2Js in action. Build example Application delphi to web client and Show App in browser

    ReplyDelete
  38. Today there is a new uniGUI webinar. It can shed some light on some of the questions asked in this thread.

    community.embarcadero.com - UniGUI Web App Development Event

    ReplyDelete

Post a Comment