Ok, ok, this is the last one. After digging into this Servoy 4.0 Public Pre-Release a bit more (over a nice bottle of wine) - I found some other cool stuff that I played around with andjust had to tell you about: form inheritance, form variables, and menubar plug-in.
Form inheritance is really cool and a huge time saver. Basically, it allows you to base a new form on any other existing form - so that you don't need to create many similar forms from scratch. It works like this: let's say you have a basic dialog form that has a text area and two buttons ("OK" and "Cancel") and you want to create another one that has a third button "Details".
In previous versions you'd have to duplicate the form, then go back and duplicate the method on the OK button, then duplicate the method on the Cancel button, then duplicate any other methods - and hook them up to all the objects, THEN add your new button and its method.
In 4.0 - when you create the form (or even after it's created!) - you can set the "extends" property to any other form. Servoy will then show all the objects on the form (locked with a red outline) and will keep all the methods attached to all objects and even all the form events hooked up to the original methods.
Now, here's the cool part - you can then overwrite the method that attached to any item with a new method (called "overloading" in geek speak). This allows you to quickly create lots of similar forms - and if you want to change something on all of them - you only have to change the base (original) form - and all the changes automatically appear in all the related forms.
Very cool!
Form variables are just what they say - variables that are scoped within a particular form - as opposed to "global" variables which are scoped within the entire solution. This is really a great feature. I can't tell you the number of times that I've created 10 or 15 global variables with the name of "text01", "text02", etc. so that I could use them at various places for specific form-based functions.
It's also handy in another situation: multiple instances of the SAME window. If I have Form_1 and open two copies of it - using global variables rather than form variables - if I changed the value in the global variable in the first window instance - it would change in the second instance as well.
Now, with form variables - both window instances have their own "copy" of all the form variables - so both window instances can act completely independently of each other.
Sweeeeeeeet!
And last, but by no means least, they've added a new menubar plug-in. Although available from the most-excellent Servoy plug-in vendor IT2Be for a couple of years - it's nice to see it bundled with the default installation.
The menubar plug-in allows you to - wait for it - take control over the menubar. You can add your own menus, change the default menus, add icons, hierarchical menus, disable/enable menu items, etc. But it goes farther than that.
You can add your own toolbars and place them inside windows, add contextual menus to any object and much more. Not everyone will want to monkey around with menus - so it's good that they made it a plug-in rather than just adding a bunch of overhead to the "application" object - for stuff only some people will use (isn't that why plug-in exist in the first place?).
Regardless - all these improvements (and I didn't even talk about rightClick and doubleClick events on labels and buttons!) really add up to a terrific release.
I didn't think it was possible to make Servoy any more productive - but in this case - I'm glad to say I was dead WRONG!
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 MORE live webinar events next week - but you gotta' register for them at their events page.
Showing posts with label Eclipse. Show all posts
Showing posts with label Eclipse. Show all posts
Friday, May 16, 2008
Thursday, May 15, 2008
The Servoy 4.0 Experience - Part 3
In this installment of my impressions of Servoy 4.0 Public Pre-Release, we'll have a look at the new Team Sharing capabilities.
In previous versions - doing team development was a bit arduous and could be slow over a WAN. Servoy used to have a "Multi-Developer Server" that would allow multiple developers to log into the same repository and then work on whatever they wanted.
Servoy would then "lock" the resource being used (form, method, relation, etc) and prevent anyone else from using it until you saved it. It would the broadcast that change to all the other connected developers - so that everyone had the "latest" changes.
In the 4.0 version - it's much more straight forward. Servoy now supports Team Sharing database repositories (without the broadcast stuff) - but it also supports both CVS and Subversion (SVN). These are standards-based, open source, commercial quality code management systems - that have been around for years.
You can either set them up on your own local machine, on a group server or even have them hosted as a service (most offer a free plan) over the Internet. Setting up Servoy to work with CVS or SVN is easy - just install the appropriate Eclipse plug-in (Help -> Software Updates -> Find and Install...), enter your CVS or SVN repository info - and you're off to the races.
Because Eclipse is file-based all the developers have all the objects on their own local file system. They can work on whatever they want, without being "locked out" of specific objects. Then, they can "synchronize" their stuff with what's in the repository (be it Servoy repository, CVS or SVN).
It will tell them the pending changes they have to put up to the server, what has been changed and is waiting to come down, and where there are conflicts (two people edited the same object with different settings).
In the case of a conflict, the developer can see his version and the version in the repository - with the changes highlighted in both copies. They can then adjust their code to remove conflicts - and "commit" their copy to the repository. Likewise, they can "Update" their copy at any point to pull down all the changed files "committed" by someone else.
This isn't at the solution level - but at the OBJECT level!
WOW. Totally cool!
Talk about being productive in a team environment! Hat's off to the Servoy engineers for making team sharing "for the rest of us."
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.
In previous versions - doing team development was a bit arduous and could be slow over a WAN. Servoy used to have a "Multi-Developer Server" that would allow multiple developers to log into the same repository and then work on whatever they wanted.
Servoy would then "lock" the resource being used (form, method, relation, etc) and prevent anyone else from using it until you saved it. It would the broadcast that change to all the other connected developers - so that everyone had the "latest" changes.
In the 4.0 version - it's much more straight forward. Servoy now supports Team Sharing database repositories (without the broadcast stuff) - but it also supports both CVS and Subversion (SVN). These are standards-based, open source, commercial quality code management systems - that have been around for years.
You can either set them up on your own local machine, on a group server or even have them hosted as a service (most offer a free plan) over the Internet. Setting up Servoy to work with CVS or SVN is easy - just install the appropriate Eclipse plug-in (Help -> Software Updates -> Find and Install...), enter your CVS or SVN repository info - and you're off to the races.
Because Eclipse is file-based all the developers have all the objects on their own local file system. They can work on whatever they want, without being "locked out" of specific objects. Then, they can "synchronize" their stuff with what's in the repository (be it Servoy repository, CVS or SVN).
It will tell them the pending changes they have to put up to the server, what has been changed and is waiting to come down, and where there are conflicts (two people edited the same object with different settings).
In the case of a conflict, the developer can see his version and the version in the repository - with the changes highlighted in both copies. They can then adjust their code to remove conflicts - and "commit" their copy to the repository. Likewise, they can "Update" their copy at any point to pull down all the changed files "committed" by someone else.
This isn't at the solution level - but at the OBJECT level!
WOW. Totally cool!
Talk about being productive in a team environment! Hat's off to the Servoy engineers for making team sharing "for the rest of us."
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.
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.
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.
Tuesday, May 13, 2008
Servoy 4.0 Goes Eclipse!
Today Servoy released a public pre-release version of their upcoming namesake development and deployment environment. I've kicked the tires of this thing for the past few days and BOY OH BOY is it ever cool!
The Servoy engineers have managed to keep the ease-of-use of the 3.x product - while at the same time moving to standards-based Eclipse for the IDE. This move will bring them out of their proprietary IDE and into the most-used IDE on the planet.
It's always difficult to move to a new IDE - regardless of the reason - regardless of the tool. There is a certain comfort level that is inherent in working with a tool for a period of time. You know where all the menu commands are, where to click in the toolbars - you barely have to even look to know the context you're in.
As with most moves to a new environment - the devil is always in the details. There's always that initial hesitancy, and that initial fear of the unknown: Will the form designer still work the same? What about scripting? How about debugging?
I, too, had these types of concerns - because I had never used Eclipse before. I mean, hell, I'm not even a "real" programmer - just an old 4GL hack - and even I found it easy to figure out what's going on and get going right away.
The first thing I noticed is that it's both very familiar and totally different at the same time. It felt like when I was 17 and got to drive my dad's car - very grown up and luxurious. All the basic controls were right where I expected them - but there were a few that were in new places and it took about 1/2 hour of playing around (and referring to their great Flash tutorials and PDF files) to become familiar with all of it.
They have a great "Welcome" screen now - one that links to their site for more information and tutorials, and they even have a link to start the process of "checking out" a solution from the repository.
I'll admit that at first I found this to be a bit strange - but once I realized that Eclipse is a 100% file based environment, and that Servoy 3.x is a completely file-less environment - it began to make sense. Once I checked out a solution from the local repository (all the sample solutions now come automatically installed) - it basically looked and behaved just like the 3.x version - with some noticeable improvements:
You can edit multiple items at once. That means you can have multiple forms open, multiple methods (more on that in a minute), valuelists, table definitions, etc.
Gone are the modal dialog boxes for creating and editing objects. Everything is in its own tab, and you just hit Ctrl + S (or "Save" from the "File" menu) and that's it. You can even close a tab and it will ask you if you want to save your changes! Nice.
The other thing I wasn't quite used to is opening a form in the designer. In the 3.x product, you could just navigate to a form (via the windows menu - that would grow to a huge list in complicated solutions) - and go into designer mode. Then you would exit designer mode and "run" the current form.
In the 4.0 version - you can simply stay in the Form Designer and open up a Smart Client (that loads almost instantly!) and see the form that you're working on. They even hooked up the keyboard equivalent, so that your finger "memory" won't change and you get the same result.
The other thing that has been greatly improved is the way the over designer works. It's not really a huge change - but, for example, you can now click and move without first having to select the object. They've also added drag rectangles for the objects - making it easier to see where you're going to move them to.
And another small improvement - but one that I'm personally thankful for - is the ability to set the horizontal size of a form by dragging an arrow widget in the top ruler.
Again, in and of themselves, it's not that big of a deal - but it's these little improvements that really have the effect of giving the tool a more refined "feel."
The improvements just keep coming - especially when it comes to coding - but I'll get into that and the new Team Sharing capabilities tomorrow.
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.
The Servoy engineers have managed to keep the ease-of-use of the 3.x product - while at the same time moving to standards-based Eclipse for the IDE. This move will bring them out of their proprietary IDE and into the most-used IDE on the planet.
It's always difficult to move to a new IDE - regardless of the reason - regardless of the tool. There is a certain comfort level that is inherent in working with a tool for a period of time. You know where all the menu commands are, where to click in the toolbars - you barely have to even look to know the context you're in.
As with most moves to a new environment - the devil is always in the details. There's always that initial hesitancy, and that initial fear of the unknown: Will the form designer still work the same? What about scripting? How about debugging?
I, too, had these types of concerns - because I had never used Eclipse before. I mean, hell, I'm not even a "real" programmer - just an old 4GL hack - and even I found it easy to figure out what's going on and get going right away.
The first thing I noticed is that it's both very familiar and totally different at the same time. It felt like when I was 17 and got to drive my dad's car - very grown up and luxurious. All the basic controls were right where I expected them - but there were a few that were in new places and it took about 1/2 hour of playing around (and referring to their great Flash tutorials and PDF files) to become familiar with all of it.
They have a great "Welcome" screen now - one that links to their site for more information and tutorials, and they even have a link to start the process of "checking out" a solution from the repository.
I'll admit that at first I found this to be a bit strange - but once I realized that Eclipse is a 100% file based environment, and that Servoy 3.x is a completely file-less environment - it began to make sense. Once I checked out a solution from the local repository (all the sample solutions now come automatically installed) - it basically looked and behaved just like the 3.x version - with some noticeable improvements:
You can edit multiple items at once. That means you can have multiple forms open, multiple methods (more on that in a minute), valuelists, table definitions, etc.
Gone are the modal dialog boxes for creating and editing objects. Everything is in its own tab, and you just hit Ctrl + S (or "Save" from the "File" menu) and that's it. You can even close a tab and it will ask you if you want to save your changes! Nice.
The other thing I wasn't quite used to is opening a form in the designer. In the 3.x product, you could just navigate to a form (via the windows menu - that would grow to a huge list in complicated solutions) - and go into designer mode. Then you would exit designer mode and "run" the current form.
In the 4.0 version - you can simply stay in the Form Designer and open up a Smart Client (that loads almost instantly!) and see the form that you're working on. They even hooked up the keyboard equivalent, so that your finger "memory" won't change and you get the same result.
The other thing that has been greatly improved is the way the over designer works. It's not really a huge change - but, for example, you can now click and move without first having to select the object. They've also added drag rectangles for the objects - making it easier to see where you're going to move them to.
And another small improvement - but one that I'm personally thankful for - is the ability to set the horizontal size of a form by dragging an arrow widget in the top ruler.
Again, in and of themselves, it's not that big of a deal - but it's these little improvements that really have the effect of giving the tool a more refined "feel."
The improvements just keep coming - especially when it comes to coding - but I'll get into that and the new Team Sharing capabilities tomorrow.
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.
Subscribe to:
Posts (Atom)