For the past week and a half things have been quite calm on our website, this is not due to lack of work but rather focusing on some of the more tricky aspects of the IDE. So here they are in no particular order:
Alternative rendering
As an alternative to Chromium I attempted to wrap the Opera DLL’s last weekend, but the differences between Safari and Opera (both style and javascript wise) were to large – so I decided to drop it. Chrome is the browser most compatible with Safari (they both use the same webkit foundation) and as such we will stick with TChromium. We also had to backtrack to find the most stable version of TChromium since the latest revisions simply don’t work as expected.
Keyword proposal
This is an issue that has been driving me nuts for a while, but finally I tracked down the bug (wrong cache pointer .. sigh) – and Smart Mobile Studio now have keyword proposal in the box. We will naturally aim to expand this into the realm of code-completion and other advanced features in the future.
XML file format
In the first versions of the Alpha release we used a custom binary file format. This file format is now replaced by a proper XML format, making it easier to expand the system with new options and data without breaking backwards compatibility. You will need to copy and paste out your units to make the transition though, but it’s a small price to pay for a more versatile system. The new file format also supports external unit files (much like Delphi has by default) and we added a recursive search method to locate implicitly referenced units. Also, a new folder as been added to the mix: “libraries”. If you have made some utility units place those files under IDE/Libraries and the IDE will automatically find them.
What’s next
Once we have completed some of the tickets on fogbugz the final battle begins, namely offscreen rendering of components and the visual form designer. Then we brush up on the look & feel of the IDE and give the standard components more features and bling — then it’s release time.
Crack open the Redbull, im ready to rock 🙂
Code completion was indeed a need. Very nice!
What about code navigation (Ctrl+Shift+Up or Ctrl+Click)? This is IMHO mandatory for an IDE.
Using XML instead of plain binary is a good idea. Did you consider using JSON instead? It more lightweight and human-friendly IMHO.
In all cases, when working with big projects (which is the aim of SmartStudio, isn’t it?), plain text format is better than binary, at least for working on team with a SCM.
Do not drink too much Redbull, a bier may help better – you need to sleep in order to maintain a fresh mind! 😉
Sorry for the late reply here, the server had deleted your post from the inbox.
Yes, code completion was awsome to get in place. It has been pestering me for a long time so it’s nice to see it working properly. As for JSon as a fileformat – I use NativeXML by Nils Haek, which is free and very, very good. Smart Mobile is a Delphi project after all, so there is no reason to use JSon for the project files.
As for size, Smart is growing for each day 🙂 We have a set of functionality we want to see in v1.0. The rest will have to wait for v1.1 ++. We all have to start somewhere.
PS: I cant drink to much beer, it makes me sick. A glass of wine with food at night is nice though 🙂
OK, if you come around the French riviera some day, please tell – I’ll offer you some good wine – and would enjoy discussions about Object pascal! 🙂
Sounds good! Will do 🙂