Contents:

 

 

Introduction


News blog


What is Servoy?


Getting Started


Comparison Servoy/VFP


Performance


How-To's

 

Code Reference

 

VFP2Servoy Toolkit

 

 

Contact / feedback

 

 

 

 

 

 

 

 

 

 

 

 

 

 

What is Servoy?



Of course the best resource to find out what the main features and advantages of Servoy are is their own site (http://www.servoy.com). However, you as a Visual FoxPro developer are probably especially curious how to position it compared to Visual FoxPro.

 

A detailed technical comparison will be added later but for now let's just look at the main architectural differences and similarities.

 

Let me begin to tell you that Servoy is actually not a programming language (still there?) but rather an application platform of which the main features are:

  • Rapid Application Development
  • Cross Platform Development (Windows/Mac/Linux)
  • Windows Application (Smart Client) or Web Application (Web Client) from just one code-base
  • Web Client also runs on iPad/iPhone/Symbian
  • Language syntax close to VFP
  • Low Learning Curve
  • Database independent
  • Powerful Reporting Options
  • SaaS (Software As A Service) and on Premises
  • Cloud Computing Ready
  • Zero Deployment
  • Scalable
  • Open Source
  • Agile software development

 

Licensing

Before telling you about the goodies let me start with what you won't like, the licensing model... Visual FoxPro runtime libraries and applications could be distributed royaltee-free to as many customers as you like. Then again this is probably the main reason for Microsoft to let VFP die, they couldn't make a profit.

 

There are many licensing models for different situations so I won't discuss them here. Perhaps more on that later. For now hang on to the thought that licensing may become part of your business model and think of new possibilities such as renting your application to your customers instead.

 

Rapid Application Development

Rapid Application Development (RAD) is a label that certainly applies to VFP. Whenever we demo how easy it is to throw a table on a form and create a working data entry solution in less than a minute we don't expect this to also be the case in other environments. Now the good news: Servoy is just as RAD as VFP and even more so!

 

In my perspective there are three key elements to success in this area:

 

  • State of the art application platform
  • Simple forms can be combined to complex forms but are still simple
  • Ease of use

 

It is tempting to tell you more but you have to see it with you own eyes. If you want to know more please check out the tutorials and webinars on the Servoy website. Of course in the near future a detailed section on this matter will follow.

 

Cross Platform Development

Some of you may remember that a long time ago there was a Unix version of Visual FoxPro and also a Mac version. In Servoy you can work on a project at the office on your Windows PC and continue at home on your Macbook or Linux computer. Source code control is possible through Subversion (an integrated open source third party product).

 

Smart Client / Web Client

Whereas Visual FoxPro was designed to build Windows applications and maybe a webservice or interaction with a website, it is not suitable for building web applications and if you want to use the application over the internet you will have a hard time. Servoy lets you build Windows style applications with full access to local PC resources or full blown web applications from just one codebase.

 

iPhone / iPad / Symbian

When you run your application from the Web Client it will run on anything that can access the internet such as mobile devices. There are tools available to test your web-app as an iPhone-app (see http://www.servoy.com/iphone ) which requires nothing more than adjusting the screen size! How cool is that?

 

 

 

Language Syntax close to VFP

You may have been wondering what to expect from the programming language. First let me tell you that Servoy is open source and has been built using Java. Don't worry though you don't have to learn Java. Visual FoxPro was built using C++ and we didn't have to learn that either.

 

As I mentioned before the Servoy application platform is not a programming language or a framework. It is a very powerful and flexible feature-rich application platform that comes with a lot of standard features such as automatic databinding (yes even when adding parent/child records in complex one-to-many forms and regardless of the underlying database!), powerful but user-friendly data filtering, built-in security features, logon functionality, auditing, reporting etc.

 

When you take a look at the source code of the sample applications you will notice that even in a full-blown application there is very little code needed to make things work. The language that you will use to operate and manipulate the Servoy application platform is Javascript. Some of you may know it already and others will find it to be pretty similar to the VFP syntax with regard to objects:

 

// Code in save button
//(When Autosave is off and you want to manually save changes)

databaseManager.saveData();
forms.companies.setFormReadOnly();

 

//Code in find button
// User enters search values in data-entry controls

var _formName = getActiveForm();
forms[_formName].controller.find();

 

Of course there are plenty differences as well and several concepts will require some getting used to. It will take some time to let go of what we are used to and start using Servoy as it has been intended and you will experience that the productivity will be just as good as in VFP and I dare say probably even higher.

 

Low Learning Curve

When I first watched Ken Levy's seminar on Servoy and started experimenting on my own I was worried that I wouldn't have enough control. Everything seemed to be a bit too simple. Visual FoxPro has a lot more events that you can respond to and I am certainly going to wish for them at one point or another but Ken has given the Servoy R&D team some VFP demo's and inspired them to add some of those features to Servoy.

 

Anyway we allready concluded that we have to stop looking back at what we will be missing but instead look ahead to what we will gain. Overall Servoy is much easier to learn than Visual FoxPro or .Net. Many resources are available to get you up to speed quickly:

 

  • This site of course :-)
  • Many tutorials and webinars on the Servoy website
  • A Developer's User Guide (779 pages)
  • A Developer's Reference Guide (768 pages)
  • Several Sample Applications
  • Plugins and third party tools/applications for Servoy (see Marketplace)
  • Servoy Developers World (in Amsterdam this year)
  • Servoy classroom training
  • Servoy Wiki Forum

 

Database Independent

One of VFP's strongest assets is being data-centered. Handling data from the command-window in VFP is always a pleasure. However handling SQL Server data or ODBC data requires a little more attention. Although Servoy does not have a native database it comes with PostgreSQL (not to be confused with Progress). Servoy used to ship Sybase but when they decided to go open source they switched to PostgreSQL.

 

When I attended the Servoy seminar a VFP developer questioned the ability of Servoy to handle data just as fast as VFP. At that point Jan Aleman (CEO of Servoy) said "I could tell you it was faster but you wouldn't believe me so I'll show you" and he threw together a form and a quite large database table (several million records), just like we would in Fox. He then demonstrated that each search had an immediate response. Of course as we all know proper indexes can speed up things dramatically so somebody challenged him to search for a three digit combination within all phone numbers and the response was still unbelievably fast.

 

Servoy automatically handles large ammounts of data efficiently and retrieves only the first two-hundred records of any select and only pulls in extra data when absolutely neccessary. This is comparable with the way VFP handles data using remote views. Except in this case you just define the connection to the database and after that the data handles as if it were native data with full drag and drop support.

 

Oh and by the way Servoy also connects to FoxPro tables with the jdbc driver.

 

Powerful Reporting Options

Reporting never was one of VFP's strongest features although the Report Writer sufficed for most. One of the stranger features of Servoy to us VFP developers is the ability to use a form as an on-screen report in a way that is very simualar to the way that we are used to defining reports with data bands. Where we can only report to a limited set of output destinations Servoy can report to PDF's, HTML, Excel, XML etc. easily but it doesn't stop there for some really powerful reporting JasperReports is included which is an opensource reporting plugin comparable with Crystal Reports.

 

SaaS - Software as a Service

As stated earlier the Servoy licensing model is something the Visual FoxPro developer will definitely dislike at first. However from a commercial point of view it also offers some interesting new possibilities such as being able to rent your solution to the client instead of selling it. There are numerous scenario's and licensing options to consider, you can setup a Servoy server that is shared by your clients or you can setup a Servoy application server on premises, particularly when the client wishes to keep the data in the company. Also secure cloud computing options are available. Always ask Servoy for advise so a solution can be tailored to meet your specific needs. Note that creating a offline standalone single-user application is also possible with Servoy Runtime.

 

Cloud Computing

A new buzz-word these days is cloud computing. Solutions such as google-apps make it possible to access your documents from anywhere. Servoy solutions are cloud-ready and there are hosting providers that support Servoy to effectively run your apps from the cloud.

 

Zero Deployment

Although Servoy claims zero-deployment that is not entirely true. Applications will have to be deployed to a server and that server will have to be installed and configured once. For the smart-client the client-computer will need the Java-runtime to be installed, most computers allready have it. After the server is up and running and the clients have the Java-runtime, applications can be deployed without the need for the user to exit the application. The next time he starts he will automatically get the new version.

 

Scalable

Servoy scales from a single user on a low-power machine all the way up to tens of thousands of concurrent users without having to rewrite a single line of code. Servoy can run on a desktop all the way up to high-end mainframe servers -- on any platform that supports Java 1.4 or higher.

 

Open Source

The Servoy application platform is written in Java and the source code is open source. If Visual FoxPro was open source the community could decide to continue its evolution so that's definitely an advantage. Also for the hard-core programmers this makes it possible to develope Java-plugins and extend the functionality of the platform.

 

Agile Software Development

What the heck is Agile Software Development? Please read the definition on Wikipedia.

 

In short the Agile Manifesto states:

 

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

 

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

 

  • Customer satisfaction by rapid delivery of useful software
  • Welcome changing requirements, even late in development.
  • Working software is delivered frequently (weeks rather than months)
  • Working software is the principal measure of progress
  • Sustainable development, able to maintain a constant pace
  • Close, daily cooperation between businesspeople and developers
  • Face-to-face conversation is the best form of communication (co-location)
  • Projects are built around motivated individuals, who should be trusted
  • Continuous attention to technical excellence and good design
  • Simplicity
  • Self-organizing teams
  • Regular adaptation to changing circumstances

 

Once again this list emphasizes the similarity between the development process in Servoy and the development process as we know it in Visual FoxPro. All you have to do now is to download the free community edition and try it out! 

 

 

 

External resources:

 

vfp plugin

 

ServoyWorld 2012 pics

 

Official Servoy website

 

Ken Levy on Servoy

 

Servoy info

 

Servoy Forum

 

Servoy Documentation

 

VisualFoxpro.com © 2010-2012 • All rights reserved • Contact: info@visualfoxpro.com