Archive
QTX vs. Smart Mobile Studio?
It appears to be some confusion regarding what “Quartex IDE” is and how it’s connected to Smart Mobile Studio. In fact, the Smart team was asked if they had stopped production — which is a very unfortunate interpretation of the facts. Let me assure you that Smart Mobile Studio is not only in production, it’s growing by the hour – with several key developers working on it (!). I must underline and stress that QTX has no relation to Smart Mobile Studio at all.
The only thing these two projects have in common, is me. I am the author of both
systems and as such there will be similarities between the two.
So what is QTX and what is Smart?
Smart Mobile Studio is the programming platform I created together with Eric Grange a couple of years back, and later in co-operation with other great programmers. We all to this day make up “the Smart Mobile Studio team”. Smart is sold and marketed by Optimale Systemer AS in Norway. I own 50% of the product and as such is intimately involved with every aspect of Smart Mobile Studio.
Smart Mobile Studio is a completely separate, isolated project which is, to be perfectly frank, the best HTML5 development platform on the marked. And it continues to grow on a daily basis – with (as mentioned) several programmers working on it. Myself included.
Smart Mobile Studio has NOTHING – I repeat – NOTHING to do with QTX.
So what is QTX or “Quartex” thing?
QTX is a personal side project. It was created by me after Smart Mobile Studio and functions more or less as a kitchen-sink for ideas. The goal of the QTX project is to create a generic IDE, preferably open-source, which would be the Delphi version of Java’s Eclipse. Meaning that it can be used as an IDE for many different compilers, not just Smart Pascal but also Free Pascal, Delphi, mono C# or even GNU C++.
Smart Mobile Studio is architected to interface with and absorb the document
object model and JavaScript completely. Smart gives you access to the browser with
the same fine grain of detail as the VCL does for WinAPI. The Quartex IDE and RTL does not.
The reason I created QTX as a side project, is precisely because Smart Mobile Studio is a living, vibrant project. Smart is purposefully intertwined with the document object model and JavaScript by design; Hence, in order to target other platforms, languages and compilers it made more sense to create a new and separate project.
The Smart codebase is small enough to be managed and maintained by a single individual (although barely) and we want to keep it that way. It’s tempting to push the envelope and stuff the IDE full of everything under the sun, including third party compilers, secondary code analysis packages and god knows what — but my experience is that such a codebase ultimately falls pray to bloat, confusion, unexpected errors and bad performance (read: Delphi 2006). We want a HTML5 development environment that is lean, mean and responsive.
So instead of doing that – I sat down and started to experiment with a new IDE. Testing new ideas of how to make routines faster, looking at managing tabs and frames through a different API. This is how the Quartex IDE was born. As a research and development IDE into the object pascal language and parsing technology.
Is QTX better than Smart?
Absolutely not. And the two products can’t be compared like that either. It’s like saying that a water-scooter is better than a dirt-bike without taking into account their completely different environments and design goals. I received some statements along the lines of “QTX is better than Smart and is the next Smart IDE”. This is an exquisitely absurd and anal interpretation of what I have written. I tend to write from a personal point of view and I can sympathise with people who may mix up personal views with “hard production facts”; but let me assure you that QTX is not the replacement for the Smart IDE. Smart Mobile Studio is architected to interface with and absorb the document object model and JavaScript completely. Smart gives you access to the browser with the same fine grain of detail as the VCL does for WinAPI. The Quartex IDE and RTL does not.
What I have stated is that parts of the QTX Core, routines inside the IDE which takes care of files, packages and general organization of open editors — that, and that only may merge with the SMS codebase at some remote point in the future. But there is presently no need to do so, because SMS if polished, tried and tested.
One feature which sets the products apart is the RTL (run-time library). Smart ships with a RTL written from scratch to interface with the browser(s) exclusively. While it is theoretically possible to abstract the RTL so it could run on native platforms, it would require herculean efforts and almost a complete re-write. The Quartex IDE, in contrast, comes with a generic RTL architected to suit any platform. Meaning that it’s a lot more complex and borrows shamelessly from the .net framework (since I am heavy into C# I tend to bring something back to Delphi whenever I can).
The only thing these two projects have in common is me. I am the author of both systems and as such there will be similarities between the two.
I have also aired that I have made advances in the way I have built the QTX IDE, internal optimizations and more efficient approches — but under no circumstances does that mean that Smart Mobile Studio is “bad” or “not as good”. Smart Mobile Studio is an extremely complex piece of engineering. Writing an IDE may seem like a simple task – but I can guarantee you that it’s not.
Code sharing
Since I am active in both projects, naturally there is a convergence of code between the two. For instance, I recently wrote the QTX HTML5 library, which can be freely downloaded and used in Smart Mobile Studio. It provides effects and several helper classes which makes it easier to deal with callback’s and non-linear calls.
I can understand the confusion some people have around this — but it’s really very simple. When I have code that benefits Smart Mobile Studio then naturally I will put the code there as well, and visa versa.
So what is the status of these projects
To sum up the situation:
- Smart Mobile Studio is a fully separate, living and vibrant product
- Quartex IDE is a generic IDE, separate from Smart Mobile Studio
- Smart Mobile Studio is written and fully adapted for HTML5, QTX is not (!)
- Both projects were written by me, this is the only thing they have in common
- Since I am active in both projects, I tend to share my codebase with myself (sigh)
- QTX functions as a kitchen-sink for new ideas, prototypes and parsing technology
- Good ideas are ultimately pushed into Smart Mobile Studio
- Smart Mobile Studio is 100% about JavaScript and HTML5
- Quartex IDE is generic and tries to work with everything
So there we have it. I have two separate projects i’m involved in. They both include an IDE. They both use compiler technology. But they are very different and completely separate.
I have written that “QTX begins where Smart Mobile Studio ends”. This have for some strange reason been interpreted as Smart Mobile Studio somehow going out of production (??). Let me de-mystify that line of thought straight away:
What is meant by that statement is simply that Smart Mobile Studio is not multi-lingual. It targets HTML5 and JavaScript exclusively. It contains thousands of lines of code written to cater for – and make JS programming as easy and flexible as possible. And it is getting better and faster and more clever for each day that passes! As such, Smart Mobile Studio is only about high quality JavaScript. Hence Smart Mobile Studio ends there; it only does HTML5 and JavaScript. And it does so brilliantly.
Quartex on the other hand is generic. Meaning that it completely relies on an external compiler to do the job. It implements the typical functions you expect from an IDE, but does not dig into the peculiarities of any language. It is purely language agnostic, meaning that it has no idea if you are writing pascal, php, java or c++. All of that has to be crafted and designed. As of writing it uses the freepascal compiler as its primary code generator. Allowing it to reach out to Windows, OS X, Linux, Amiga, Nintendo and other platforms. But it deals exclusively with native code at this point.
Will you make another HTML5 studio?
Well, I can if I want to, but there are several reasons why I would not do that. First of all we are 5 people who have worked countless hours on Smart Mobile Studio and Smart Pascal. Christian, Primoz, Andre and Jørn have invested both time and money into this – not to mention Eric Grange (writing a code generator for another language is no walk in the park) and I feel it would be a catastrophic demonstration of disloyalty, egoism and selfishness to create a competitor to a product I myself started, own, maintain and sell.
Secondly, the smart pascal team are my friends, and friends don’t do shit like that.
Third (from the Bhagavad Gita) : “A man at war with himself, is sure to lose”.
Final words
I sincerely hope this little post cleared up the confusion regarding this topic. Smart Mobile Studio is growing by the hour and it is well under way to reaching its goal: to become for HTML5 what Delphi is to WinAPI — The ultimate HTML5 Mobile application studio.
My personal project, Quartex IDE, has nothing to do with SMS. Since I am the author of both systems, naturally I will share my codebase with myself in order to make sure Smart Mobile Studio is as fast, robust and intuitive as possible. But keep in mind that Smart Mobile Studio has 4+ years of constant development behind it. We are 5 programmers working every day to make it more clever.
Kind regards
Jon Lennart Aasenden
Recent
The vatican vault
- March 2023
- February 2023
- December 2022
- October 2022
- January 2022
- October 2021
- March 2021
- November 2020
- September 2020
- July 2020
- June 2020
- April 2020
- March 2020
- February 2020
- January 2020
- November 2019
- October 2019
- September 2019
- August 2019
- July 2019
- June 2019
- May 2019
- April 2019
- March 2019
- February 2019
- January 2019
- December 2018
- November 2018
- October 2018
- September 2018
- August 2018
- July 2018
- June 2018
- May 2018
- April 2018
- March 2018
- February 2018
- January 2018
- December 2017
- November 2017
- October 2017
- August 2017
- July 2017
- June 2017
- May 2017
- April 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- September 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- June 2015
- May 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- June 2014
- May 2014
- April 2014
- March 2014
- February 2014
- January 2014
- December 2013
- November 2013
- October 2013
- September 2013
- August 2013
- July 2013
- June 2013
- May 2013
- February 2013
- August 2012
- June 2012
- May 2012
- April 2012
You must be logged in to post a comment.