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
|