Friday, October 03, 2008

Choosing A Dev Tool

I came across an eWEEK article "Armed & Ready" in the August 2008 issue - written by journalist Frank Ohlhorst - and found it to be very interesting.

The article talks about development tools - and how to choose them. He has a look at Servoy and Alpha 5 - as well as a look at customers who are using those tools in the SaaS businesses. One of the most striking things was an outline in a sidebar.

In the article Frank outlines the "7 Criteria For Choosing The Right Tool" - and it sounds like it was custom-designed to describe exactly what Servoy is although the context is from a developer who chose to go with Alpha 5. NOTE: The sections below in italics are my comments and they did not appear in the original article:

  1. Commonality: A single development model has to cover both desktop and web users, and support native RDBMS, SQL Server, MySQL and PDF reporting. They didn't mention Sybase, DB2, Oracle, PostgreSQL, etc. that Servoy supports - but hey, you get the idea.

  2. Speed of Development: The tool must have a professional IDE that reduces or eliminates the need for handwritten code. Eclipse is the most-used IDE on the plant - and code samples allow you to get fully working code in a single click.

  3. Performance: The tool has to be on par with desktop-only applications. Of course performance is important - but so is scalability. Any product is "fast" with a single user!

  4. Ease of use: Language tools are intuitive and allow faster development than Visual Basic, PHP or others. Yes - especially these days. You want your tool to be more productive, and not less productive. That's why we've done a direct comparison between Servoy and .NET.

  5. Versatility: There is complete end-user customization of forms, field rules (via XML) and styles (via CSS). In Servoy you can also extend and integrate the environment itself via Java.

  6. Integrity: All processing is centralized There would be no client/server or thick client updates. We totally agree - that's why Servoy's Web Client processing is all done on the server side - maximum performance, maximum security, maximum concurrency.

  7. Functionality: Extensive use of standard library functions cover just about anything, including instance XML DOM manipulation, instead of having to use third-party libraries or extensive custom development. Servoy has it - CHECK!

While I was reading the quotes from the developers using Alpha 5, I could have SWORN they were talking about Servoy! So, I had to check it out for myself.

I went up to the Alpha 5 site and checked out their video library. After watching about a dozen or so movies - I couldn't help but come away with a some thoughts:

  1. Dialog boxes... sorry Wizards... sorry "Genies"... are nice - the first time you do something - but I would absolutely stick a pencil in my eye if I had to go through that many dialogs every time I wanted to do anything;

  2. They have some "interesting ways" of doing common tasks (some good and some awful);

  3. If the dialogs are going to just generate code on the back end - then just generate code. Don't try to create dialog boxes that have every single possible permutation of things that you can do in two lines of code with parameters;

  4. You still have a proprietary DATABASE? WTF? This is 2008!

  5. "Active Link Tables" - or copying the schema of a SQL table in your own proprietary database and then doing "silent" SQL calls (a la FileMaker 9) seems like MUCH more work, setup and maintenance than just acting directly against the table or view;

  6. Ummm... got a Mac or Linux or Solaris version? Anybody?

Ah well, that's just my opinion. I'm sure that if you've used it for years that you're used to the complex interface and the literally hundreds of options, links, states, modes, control panels, and all the other stuff that they've put in there to try to make it more approachable.

I guess if you're going up against developers who are using other kinds of desktop databases - then that might be a good approach.

The bottom line is - use the right tool for the job - and use one that will help you be MORE productive, accomplish more in less lines of code, have a single development paradigm for both web and client/server apps - and one that is based on open standards and links to any (and every) standard SQL database on the planet.

Ummm.... that would be Servoy, in case you missed the reference...

No comments:

Web Analytics