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.
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.
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/subs
ReplyDelete/sub
ReplyDeleteEdwin 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.
ReplyDeleteUniGUI is server.
ReplyDeleteThey can made a compiler to asm.js for example but it will be a standalone app running in browser.
Paul Thornton You have right. Web Assembly could be the perfect new platform with an HTML canvas for FMX...
ReplyDeleteAll the cases, with UniGUI or with FMX evolved to ExtJS, sounds well. I prefer the FMX evolved, but... sounds good!
ReplyDeleteFor applications without the need to work with a server can be OK with FMX. The app will be downloaded every time it changes.
ReplyDeleteBut 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.
Cristian Peța No. It's not a problem. An FMX app can use soap, rest or websocket.
ReplyDeleteyou don't care whether it is a native app or through a browser.
Cristian Peța
ReplyDeleteBecause 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!!!!
Renaud GHIA but developing a server app like UniGUI is faster because interface part (ExtJS) is already there integrated in UniGUI.
ReplyDeleteWriting 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.
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.
ReplyDeleteRenaud 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).
ReplyDeleteI agree, it is better to extend existing FMX, instead of having one more framework.
ReplyDeleteJuan 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.
ReplyDeleteBoth FMX and ExtJS are UI libraries. I do not see how you can combine the two.
/subs
ReplyDeleteCristian Peța
ReplyDeleteCan 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/...
/sub
ReplyDeleteThere 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.
ReplyDeleteFMX 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.
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.
ReplyDeleteJuan C. Cilleruelo I understand you.
ReplyDeleteBut 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?
Farshad Mohajeri
ReplyDeleteCan 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/...
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!
ReplyDeleteCristian Peța
Farshad Mohajeri it is server side rendering ? It's not a real FMX application that is compiled in web assembly or javascript.
ReplyDeleteCristian 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...
ReplyDeleteFarshad 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.
ReplyDeleteThere was something similar with OpenGL for FMX app but I think it is discontinued.
Renaud GHIA what I see good to WebAssembly is that all major browsers has adopted it.
ReplyDeleteNo 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.
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
ReplyDeleteI 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. ;)
ReplyDeleteThe 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.
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.
ReplyDeleteI'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.
ReplyDeleteNow 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.
"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."
ReplyDeleteYES! Forget IW-like solutions.
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.
ReplyDeleteYou can design your app as you want. FMX and ExtJS are only framework.
Farshad Mohajeri making a web app with FMX is not viable. Only something like Thinfinity (a remote UI).
ReplyDeleteBut 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.
medium.com - Why WebAssembly is a game changer for the web — and a source of pride for Mozilla and Firefox
ReplyDeleteRenaud 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.
ReplyDeleteCristian 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).
ReplyDeleteRenaud 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.
ReplyDeleteI see a browser like a VM with a default OS already installed.
A detailed explanation of "web app":
ReplyDeleteen.wikipedia.org - Web application - Wikipedia
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).
ReplyDeleteIt'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).
ReplyDeleteraudus web framework I don't understand you. What Raudus Builder is doing? Is somewhere a description in English?
ReplyDeleteclick link vÃdeo YouTube . RaBuild2Js in action. Build example Application delphi to web client and Show App in browser
ReplyDeleteToday there is a new uniGUI webinar. It can shed some light on some of the questions asked in this thread.
ReplyDeletecommunity.embarcadero.com - UniGUI Web App Development Event