Smart Mobile Studio 1.1 RC build 400 “sneak peak”
It’s been two years in the making, 400.000+ lines of Delphi code, and it’s now in the last stages of testing before release. I give you Smart Mobile Studio 1.1.400 RC:
So what’s new?
You will have to wait for the press release to get the full low-down, but since this is my personal blog I’m free to write whatever i want. So what really excites me about this release are the general IDE improvements. We have been so fortunate to have both Primoz and Christian playing around with the codebase – so things like multithreading and background compilation (which is how the IDE extracts information regarding your code) is now faster than ever.
In the previous versions one bottleneck was the code-insight feature (code proposal window that pops up while you type). It worked but it was slow and had the unfortunate tendency to pick up information from an earlier compile sequence. So it was not as accurate as we Spartans are used to. Well this has been taken care of and it’s now spot on, extremely fast and uses its own thread to do its thing.
The same goes for the unit structure tab, which shows a full overview of the current unit including classes, methods, fields and properties. This to was suffering from having to share a symbol dictionary with the code-insight function. Well that is now a thing of the past and both of them now have their own thread and business logic.
Christian decided to go commando and added a very handy feature: macro recording. So we now have some mysterious new buttons just over the unit structure tab (these should be known by Delphi and freepascal users alike):
With the new background threading in place, handy features like gabelou hints is now available, you can activate that in the preferences dialog and enjoy the hints and parameter insights that brings. And of course – compiler metrics which will give you more detailed insight into how fast the compiler really is:
You will also find it handy to be able to add your own form-factor sizes directly from the IDE. With so many new mobile devices being launched these days – it’s best to avoid hardcoding anything:
The component palette has also been expanded. We decided to add more tabs and organize the components in groups. Three new components have been added: Steema Teechart (tw3chart), Listbox (Primoz) and a css animated progressbar.
We also have dependency validation for components now — so whenever you add a control to your design, it will check if the required units are in your source-code, if not: it will add the units directly. So no more having to add the units yourself 🙂
And finally, the classbrowser. You can now click on the ancestor class and navigate there directly, you can also double-click on a method and the IDE will open up the unit in the back so you can look at the code. We have also added a couple of new tabs — these will be implemented as we move along, and they will give you some idea of what the final classbrowser is about. This is the place where you (once we get support for packages) can edit your docs and .. well, you get the idea. Much better than documenting in the code which is a nightmare to maintain. But for this release: ancestor navigation, unit access – as requested by many users.
- var parameters
- Initialization / Finalization support
- Records, nested records, array of records (et al)
- Classes, inheritance
- Partial classes
- class helpers
- record helpers
- lambda support
- operator overloading
- speed improvements
- direct JS object access via variants
- external classes (map JS classes directly)
- external functions
- .. for a full low-down on the compiler, buy the smart mobile studio book here
Andre Mucche, the ever creative Spartan which provided Smart Mobile Studio with direct Remobjects support, is currently busy porting over datasnap. Yes, you read right: datasnap support. While it wont make it into the release candidate, we hope to have it done for the final release (but no promises, we are only human). The remobjects import wizard have also been updated with the latest remobjects headers. The phonegap units is also updated and completed, webGL is up to date – and we have added more components and expanded the RTL with too much to list here. Way to much.
For those into large numbers, Christian have ported over Halvard Vassbotn‘s unit for that very thing. We called Halvard up and asked of course, which is proper, and he gave us his blessing. Hopefully we will see Halvard joining the Smart Pascal consortium soon 😉
I also started the conversion of CODEF to smart, so you will notice some new additions to TW3Canvas. If you are wondering what CODEF can do for you, check out this demo (use chromium! or safari — mozilla cant handle the speed).
Credits go out to the team: eric, primoz, christian and andre! Cheers guys!