Wednesday, May 14, 2008

The Servoy 4.0 Experience - Part 2

So yesterday I started with my impressions of the new public pre-release of Servoy 4.0 - and I thought I'd delve a little deeper into some of the cooler new things today.

I've already talked about the forms editor - now let me wax poetic about the overall navigation and coding improvements and I'll tackle the Team Sharing tomorrow.

As I mentioned yesterday, most of the modal dialogs are gone, and rather than having a bunch of menus at the top of the screen, there is now the "Solution Explorer". This view shows all of the things that used to be on the menu - but in tree format.

To work on a solution - you right-click on the "All solutions" node. Want to create a new form? Right-click on the "forms" node. Setup security? Yep, right-click on security.

HOT TIP: Right-click is your friend! When in doubt, right-click!

Now let's take a look at another area that they've made great strides - the coding environment. It's nice to see that they've taking the time and effort to include some real improvements where the rubber meets the road.

All the methods of a particular type are all now in a single file (form methods are all grouped per form, global methods are all grouped together). This means that you can now get the "flow" of your methods. In previous versions you had to open up multiple tabs - one for each method. This "unified view" is much easier to gain context in as well as more flexible.

But, the code listings are much longer. Thankfully, you can now "fold" the code - or roll it up to the function level. You can now just create functions on the fly by using: function myfunction () { }. When you save, Servoy will automatically create the object and add it to the project.

The good news is - it still works the "old" way by clicking the icon or by right-clicking where you want to create it. This is a great blend of "old" and "new" - and is really easy to get used to.

You can now do cool things - like have auto-code complete. Before, you had to start typing and hit Ctrl+Space to get the contextual code complete menu to pop up. Now, if you enter the object type (application, form, controller, element, etc.) and type the "dot" - the contextual auto-complete menu pops up - and even will now show the example usage of the function along with any additional parameters.

There is also an "outline" view available - that will show all the methods (again in a tree) and if you double-click it - it will scroll automatically to that place in the code listing. It will also show all the variables you use (the ones you declare with: var x = ) in that same tree view. Nice!

Then there's the code coloring. There are lots of very particular people out there - and in the 4.0 version you can no only change the code coloring - you can add your own! There are preferences for everything about the environment - you can even arrange all the panes and all the tabs to your personal liking.

On top of all this - you have interactive debugging and persistent/conditional breakpoints.

Persistent breakpoints are saved between sessions - and also appear in overview (list) format - so you can just double-click right to a particular point. A right-click on the breakpoint will allow you to disable it, or make it conditionaal.

For example - it will only cause the breakpoint after X number of times of running (great for loops) - or you can even specify your own ad-hoc condition under which it activates. Terrific if you're trying to hunt down that pesky "sometimes happens" bug.

The interactive debugging is really cool! All you have to do is set a breakpoint and then open up either the Smart Client or Web Client - or BOTH - and click around in your application until you perform the method that you have the breakpoint set at. Once it hits the breakpoint, Eclipse comes forward and you're interactively debugging - able to see all the variable values, etc.

Did I mention this works for the BROWSER client as well? Really, not kidding. This is simply the easiest way I've ever seen to debug a browser-based application - bar none.

Not only can you debug interactively - but any changes you make to your forms (or methods) are automatically reflected in the Smart Client and Web Client sessions. There's no need to re-launch the browser application or re-start the client application (and re-do the login and all the things you normally have to do to get back to the point where you were testing) - all the changes just appear (and work!) - instantly.

Now THAT's productivity!

If you want to download the public preview (or the currently shipping 3.5 version for that matter) - just go to http://www.servoy.com/developer. They've also scheduled some live webinar events this week (and next) - but you gotta' register for them at their events page.

No comments:

Web Analytics