Data exchange between client and server

Hello, dear forum.

I am a newbie at both Ruby and Rails and I don't even have much experience with web programming (I know some PHP but want to continue with RoR or Python/Django).

I need to make a server part of a project which will be primarily destined to store the data uploaded from client applications (desktop and mobile) and to synchronize the data between the client applications using the same account. Also, users will need to be able to manipulate their own data using web interface. Client applications are tied to operating system, so there is no way to make it a full web application.

Clients will need to be able to login to the server automatically and upload new data. A user may start a client on a computer/device which doesn't have his recent data and he/she should be able to access the data on his/her account (download it) using authentification.

There is already a partially finished desktop version of the client made in C++/QT with sqlite database and WinAPI use, and probably there will be mobile versions made for Android/iOS. Local sqlite database is to store the data temporarily in case a client is offline.

What may be a good general strategy to do such a project in Ruby on Rails? Especially, I have little understanding of how to do secure authentification, upload and download part (client-server interface).

Is it a good idea at all to do such project in Ruby on Rails or something like Python/Django may be better?

  My software: Windows 7 x64 Ruby 1.9.2 (ruby 1.9.2p290 (2011-07-09) [i386-mingw32]) Rails 3.1.0