We are trying to decide which tool use to create the interface of our new database. The candidates are Servoy, VB.net, Ruby on Rails (http://www.rubyonrails.org/) & PHP. I have not programmed before with them so, I would like to know your opinion about them. What advantages and disadvantages you find? I want to set a standard for db development, so this decision will affect our future databases.
Having used all of the above technologies I can comment a bit on their strengths and weaknesses, but to make a well informed decision it would be best to figure out what exactly you are trying to accomplish. Is this new database small/large, what does it manage, etc.
Of course, being a Servoy forum you are going to get a lot of pro-Servoy responses which is appropriate since it really is a great tool. However depending on the scope, environment, and budget for your project you may decide to use something else. Each technology has its place.
PHP and Ruby are great for creating web based projects, while VB.net and Servoy are better suited for a more rich-client experience. Honestly for most projects Servoy is going to give you a better feature set and more deployment options than the others, but it comes at a per client cost. If that is not an issue go with Servoy
Having looked at Ruby I don’t know why you would need PHP. For web development (shopping carts etc) it does seem to be making alot of ground.
I would recommend the book “Agile Web Development for Rails” which can be downloaded as a PDF. The same author has created the bible on Ruby programming. The book shows how quickly and easily one can build a sophisticated data driven web application using Ruby for Rails. Ruby for Rails automatically turns the database schema into objects.
From my limited knowledge and experience (very limited!) I would see Ruby as a way to go for general datadriven web development where you don’t want to go down the concurrent licence route of Servoy. However, for internal systems Servoy is a rich RAD environment with a drag and drop interface.
I think the key difference between these technologies is the GUI development environment. When using Servoy we have the ability to create forms using a graphic user interface, and set properties and access built-in properties and functions very simply. Servoy also provides features such as automatic data-binding, built-in security, session management, network deployment and many more.
When creating this type of functionality in a programming environment we must write code to handle all of these operations. Certainly one can find or build libraries to help, but in the end it is not as simple as dragging fields, images or text labels around a form. You need to get knee deep in code for everything.
When I was in high school I had a summer job as a cobol programmer (around 1970). I’ve written code many different times in my career, and actually enjoy some of it. But I hate spending a lot of time coding the mundane (i.e. UI stuff). I’d much rather sink my teeth into some good old business logic or process problems. That, IMHO, is the difference between Servoy and FileMaker, for example, versus PHP, Python or Ruby.
But, as has been pointed out, you pay for this in terms of licensing. But you save in terms of development time and cost.
My understanding of Ruby on Rails is that is has automatic databinding, session supports and also full support for the likes of AJAX. It also includes a full set of Web Services.
The Ruby on Rails architecture is a Module, View, Control (MVC) which allows you to neatly seperate out the business logic, which improve maintainability etc.
Ruby on the Rails has given a real kick start to Ruby precisely because it is a very fast way to develop datadriven web applications.
However, as mentioned it does lack a GUI, though there are now several IDEs available.