Jump to content

TMS Web Core...a new framework from TMS Software


mierlp

Recommended Posts

  • 4 weeks later...

Just tried it on Tokyo, and it generates a pure Javascript application, with a simple HTML wrapper only:

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <link rel="icon" href="data:;base64,=">
    <title>TMS Web Project</title>
    <script type="text/javascript" src="tmstest.js"></script>
    <style>
    </style>
  </head>
  <body>
  </body>
  <script type="text/javascript">
    rtl.run();
  </script>
</html>

So it is a JS compiler, able to run on any http server. The interesting question is

of course DB connectivity, in addition to the obvious ones of compatibility

and stability, not to mention security. Time will tell. If they can solve these issues,

portability will be a good sales argument.

Link to comment
Share on other sites

After some more testing, it is clear that Unigui and TMS Web will never be the same.

 

First of all, Unigui is producing a client-server solution, whereas TMS Web only compiles a JS client.

 

So with Unigui, you are on both the server and the client side in the same project, and this makes

DB connectivity a lot easier.

 

With TMS Web you have to set up a separate REST server to serve the data, and work with

entities, which are Delphi objects that mirror DB tables. It can work with several different servers,

like the their own XData server, Google Cloud, RAD Server and maybe some more.

 

But this complicates things quite a bit, and creates a steeper learning curve, no doubt.

 

For the security they use webtokens, which is the industry standard as far as I know,

so this should be OK. But of course the whole JS application is exposed, and can be downloaded.

How easy it is to reverse-engineer this I do not know.

 

You can include pure JS, in asm blocks, as these are then not compiled. 

Since working with REST, they have Swagger integration, where you can test your REST API.

 

They are websocket ready: got both client and server websocket components.

The pas2js compiler related to the FPC project is used, but a validated version of it.

 

Having it all in a DLL or EXE simplifies things a lot, and makes it easier for the typical Delphi

programmer to take the step into the world of web applications. Unigui provides possibilities

for direct JS access, and also for both fixed UI positioning as well as utilizing the ExtJS

responsive web capabilities, whereas in TMS Web you also have the fixed option, but

to get responsiveness you have to assign classnames/IDs and then create the CSS yourself,

as far as I understand it.

 

Getting the XData server up was not hard, MySQL connectivity worked, but the client-server

communication I have not been able to solve yet. URLs must be registered, and they have

a so-called Sparkle webserver at the core of this.

 

When it comes to deployment, I see the argument that TMS Web itself only needs a simple webserver,

but then what about the data? If you compile your own XData server, you have to run it there too,

and at least will need shell access if on a Linux box. Anyway, installing an XData server as a

service will probably be a tiny bit easier than setting up IIS or Apache for serving DLLs.

 

Unigui and TMS Web have inherent differences, and both have their strengths and weaknesses,

although the only limitation for Unigui right now is the lack of portability, as it runs only on Windows.

 

TMS Web is based on the FNC component library, whereas Unigui is based on ExtJS, which has

a greater support base and is more mature. TMS has a very good planner component, though,

which may be more advanced than the ExtJS version. So at the component level there are some

differences which may be critical for specific projects, but at the end of the day I think Unigui is

the easier way to go right now for the typical Delphi developer starting with the web.

 

Price for TMS Web is 300 Euros and for XData server 500 Euros, a total of 800 Euros.

Price for Unigui Complete is about 750 Euros.

  • Upvote 4
Link to comment
Share on other sites

There are two more differences I want to add:

 

1. If you will be running many applications, you can probably reduce costs if you spread

pure JS clients on smaller and cheaper Linux servers, and run them all against one big REST data server

which may then run on a more expensive Windows or Linux box, or hired in the cloud.

 

That way you would also separate the applications, instead of running them all on one VPS box

to save money, and this would add to the stability, and they can run on different domains.

 

My point is that the splitting of client from server may be beneficial in some cases.

 

2. The long-term support security is probably greater with TMS, as they are a bigger

company than Farshad's FMSoft. Unigui's advantage here is that it is becoming so stable

and mature now that high level support needs are reduced, and the community is

gradually more and more able to add to the long-term support security. No matter what

happens, I guess we can be pretty sure that Unigui is here to stay, like TMS.

  • Upvote 3
Link to comment
Share on other sites

responsive web capabilities, whereas in TMS Web you also have the fixed option, but

to get responsiveness you have to assign classnames/IDs and then create the CSS yourself,

as far as I understand it.

 

One good thing about TWC, you can use Bootstrap templates with it, so making site responsive will be much easier than Unigui.

 

Also you can assign the work to front end developer, and the backend work you have to do it as restful services.

 

But unigui ease these things by making developing web application in RAD way, so both frameworks have pros/cons, and I'm looking for TWC to be more mature to use it later, but UniGui will be also options for many projects that don't need deep knowledge of ExtJS to customize it.

Link to comment
Share on other sites

I think it is close to impossible to beat Unigui when it comes to ease of use,

and relatively small learning curve. You can do a high perceptage of

projects without the need for heavy modifications, and deployment 

could hardly be easier unless it also compiled to a server-side language

like python or php.

 

In the beginning Unigui could compile JS clients only, so an option to compile

to both server-side and client-side languages would be interesting, or

alternatively components for a restful db connection as TMS has.

Link to comment
Share on other sites

One thing to take note of though, is that because UniGUI is so easy and so close in doing things the "Delphi way", it is also very easy to write very bad applications which performs and scale bad, just as some desktop applications have proven over the years. But with the right "web development mindset" it can be avoided whilst still being easy.  :)

  • Upvote 1
Link to comment
Share on other sites

If I'm not wrong, this "CORE" mean, tms componets work on web browsers, ( make needed js code and use jquery or etc.

So have to need other tms packed, like https://www.tmssoftware.com/Site/tmsfncuipack.asp?s=fncgrid follow operating systems & browsers. If I'm not miss understood, one project compile others, Idea is good, 'cos native app support "win, osx, linux, raspberry, android, ios"  and same application will work on browsers too. I watched video, need write server app for server, then for client side need write code. and if I'm not missunderstood, tms webcore, create html file on runtime.

So, diffrent then unigui. and this mean unigui still only one & best solution.

Maybe on future, "delphi server" add sencha components like a unigui, I mean, Adding "Target Platform (WEB)"  but this is sooooooo long time later can be, maybe :) they still not support lınux gui you know.

Link to comment
Share on other sites

@Mohammed Nasman

We are talk about beta version and Comparing Unigui to TMS Business is wrong I think, Follow whats included in "TMS Business" If I'm not wrong, https://www.tmssoftw....asp?s=fncgrid this packed and TWC will be enough. And don't forget TMS components not JUST for web, you can make native app for "win, osx, linux, raspberry, android, ios"  all of theme with source, you can use lazarus, some components support 2 years free update.

And I'm saying again, for web, Not alternative for unigui. and there is no any alternative, yet...

Link to comment
Share on other sites

@DelphiDude - have you watched this video on "From Database to Web App through REST server with TMS XData and TMS Web Core"?

 

https://youtu.be/AZs9e2DNXdI

 

 

Thanks, I have tried this, but only got "Error connecting to XData server", although

I was able to connect in design-time and get table field data etc.

 

No doubt one needs this Data Modeler tool and the XData server if doing anything useful,

so then we are at about 900 Euros total.

Link to comment
Share on other sites

@Mohammed Nasman

We are talk about beta version and Comparing Unigui to TMS Business is wrong I think, Follow whats included in "TMS Business" If I'm not wrong, https://www.tmssoftw....asp?s=fncgrid this packed and TWC will be enough. And don't forget TMS components not JUST for web, you can make native app for "win, osx, linux, raspberry, android, ios"  all of theme with source, you can use lazarus, some components support 2 years free update.

And I'm saying again, for web, Not alternative for unigui. and there is no any alternative, yet...

 

Both UniGui and TWC released their version 1, and no longer in beta

 

TWC price is 295EU, and that's only for frontend web application, FNC UI is another product.

 

I said compare TMS business with Unigui, because TWC itself will not produce full featured web solutions without adding the Xdata from TMS, or using PHP or python for the Rest services.

Link to comment
Share on other sites

Yep that is expensive but you don't need to use XData though...one can achieve similar results by using the Delphi MVC Framework as back-end...although you need to do a bit more coding :) 

 

What is important to me and what I do enjoy, is that there is more than one product available doing web development with Delphi...that is good for Delphi and for business in general.

Link to comment
Share on other sites

There are  main diferences between  Unigui and Tms Web Core.

 

1 - Unigui is statefull, tms web core is stateless.

2 - Unigui works only in windows, tms core runs everywhere.

3 - For the moment unigui is dificult to implement Responsive layout,  with tms web core is easy.

4-  Regarding acess to database unigui is full rad ( faster to develop), tms web core can by rad or what ever you like to do with.

5- with tms web core you can use phone gap our cordova to compile your javascript/html files to native apps, (ios,android,windows phone, windows, mac, ect...), I'm not talking about making a webbrowser wrapper, I mean really compile the apps and also using access to hardware throught coordova plugins, like NFC for example.

 

Just to clarify, there is not need to to have XData, you can use it but theres no need to, you can use php, python asp.net , mormot(I've done some teste with mormot), or what ever tecnologia you want.

there is no need to buy nothing else than to tms web core for 295. So in fact is mush cheaper then unigui.

 

 

On the other hand, the learning curve is bigger, it's faster to develop with unigui, must faster.

 

Don't  get me wrong I love Unigui, I've made quite some great projects with Unigui, but Tms web core it's also a great product.

 

Regards

 

Jose

Link to comment
Share on other sites

@zemorango, I agree with all points.

 

 


5- with tms web core you can use phone gap our cordova to compile your javascript/html files to native apps, (ios,android,windows phone, windows, mac, ect...), I'm not talking about making a webbrowser wrapper, I mean really compile the apps and also using access to hardware throught coordova plugins, like NFC for example.

 

This one is very good, but consider phonegap isn't native application, it uses native application to host your application inside webbrowser, you can open apk and look inside it, and you will see all the htmls & JS code there.

 

Unigui with ext 4 and sencha touch give very good mobile application experience, but it seems with newer modern it's lost the mobile feel.

Link to comment
Share on other sites

Just to clarify, there is not need to to have XData, you can use it but theres no need to, you can use php, python asp.net , mormot(I've done some teste with mormot), or what ever tecnologia you want.

there is no need to buy nothing else than to tms web core for 295. So in fact is mush cheaper then unigui.

 

 

Sure, you can use any REST server or even create your own using the Indy http server.

 

But to make the comparison fair, XData is needed to get close to the RAD level which Unigui works on,

as you then get client components working with their db mapping/entity system, speeding up the development process.

 

I could write my webapps using notepad++ and get it all for free, but it would take me about 200 years.

  • Upvote 1
Link to comment
Share on other sites

  • Administrators
I could write my webapps using notepad++ and get it all for free, but it would take me about 200 years.

 

That's the whole point. 

 

Aside from speed of development, we have Ext JS on client side which is probably the best JavaScript framework on the planet.

No to mention the full native Delphi database support.

  • Upvote 1
Link to comment
Share on other sites

Developing Unigui has no doubt been a monumental task, and considering that

this has been done primarily by a single individual - with a lot of support and encouragement

along the way of course - and followed up consistently through all the various

challenges, is highly impressive. It has no doubt taken an extreme amount of

dedication and discipline, and I am just happy that such people exist, to be honest.

 

I would probably pay 10 times as much for Unigui subscriptions, if I had to.

I know it might sound a bit far-fetched, but I don't have words to describe how much I appreciate it.

Farshad has proven himself to be such a helpful character, that he will always be part of my prayers.

And from what I understand, he has a lot of loyal supporters in here :)

 

As a rule, I never praise people like this, but a couple of times in my life I can handle an Exception,

knowing that all good gifts come from above, from a higher power :)

  • Upvote 1
Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...