Ruby is no exception and there are a few different Gems that can be used to encode and decode data using Protocol Buffers.
What this means is that one spec can be used to transfer data between systems regardless of their implementation language.
A date like: "" will, in some countries, be interpreted as 3. Think of the following situation: you order 5 gross of laser printers, instead of 5 laser printers.
With XML Schemas, most of these errors can be caught by your validating software.
That's not a problem either; Wonderware Historian preserves the correct data sequence automatically.
Mainly, extra data validation (separate from client-side validation) and security should be implemented server-side for the reasons mentioned in the answers.
I don't agree that writing web apps is described only as server side sending a view.
I don't think SQL injections have anything to do with moving most of your logic to the client-side.
Even if you move data processing to the client-side, you still need some sort of server-side service which would actually run SQL queries (unless you want to make your database username and password public).That service is responsible for validating and escaping data. Push all your logic out to the client and it is fair game for hackers and exploits.