Se for usar banco de dados, veja o RDS da amazon, tem servidores no Brasil, é muito bom, ele pode ter replica automática, https://aws.amazon.com/pt/rds/?nc2=h_l3_db
Se vc mesmo quiser instalar seu servidor de banco de dados em um VPS, pode usar o Digital Ocean ou Linode, são excelentes e tem um custo benefício muito bom...
Falando no assunto a Microsoft acabou de anunciar muitas coisas interessantes sobre desenvolvimento, dentre elas podemos citar: o Xamarim (desenvolvimento Android, Windows Phone e Android) http://blog.xamarin.com/microsoft-and-xamarin-expand-global-partnership/ com uma versão gratuita e também anunciou o Visual Studio Community http://www.visualstudio.com/pt-br/downloads/download-visual-studio-vs#d-community que basicamente é o Visual Studio PRO só que de graça... Como competir com isso...
Mais sobre os anúncios aqui: http://www.hanselman.com/blog/AnnouncingNET2015NETasOpenSourceNETonMacandLinuxandVisualStudioCommunity.aspx
Não sendo pessimista, mas talvez realista, acredito que até que o produto fique 100% vai demorar muito, e a evolução do Android e IOS são rápidas, hoje em dia já temos várias soluções multi plataforma para Android e IOS tais como Xamarim que se integra com .NET, e o Rad Studio(Delphi) da Embarcadero.
Segue um exemplo
*******************************************************************
function enviarLogDeErro(cLog)
*******************************************************************
* Envia o log de erro para o servidor
* Data de início: 08/08/2014
*******************************************************************
LOCAL oUrl, oInternet
LOCAL cData, cRet
LOCAL cParam1 := cLog, cParam2 := "hcprw"
oUrl := TURL():New( "http://www.seusite.com.br")
oUrl:cPath := "/logs"
oInternet := TIPClientHTTP():New(oUrl)
oInternet:cUserAgent := "Mozilla/4.0 (compatible; MSIE 5.01; WindowsNT 5.0)"
cData := ""
oUrl:cFile := "log.php"
WITH OBJECT oInternet
IF :Open()
IF :Post("log=" + cParam1 + "&sistema=" + cParam2)
DO WHILE !Empty((cRet:=:Read()))
cData += cRet
ENDDO
ENDIF
ENDIF
:Close()
END WITH
If cData == "true"
MsgInfo("Log de erro enviado.")
EndIf
RETURN Nil
O grande problema desse tipo de abordagem é que sempre teremos resoluções bizarras.... para vc ter uma ideia consultando as estatísticas do site da minha empresa tiveram 289 resoluções de tela diferentes, logico que entra também celulares nessas estatísticas.....
Sim, o servidor de aplicação é a aplicação que receberá as requisições das aplicações cliente, processará e enviará de volta o resultado(XML, JSON) para aplicação cliente(que pode ser tanto WEB, Desktop, Mobile)
É o famoso modelo em 3 camadas.... http://pt.wikipedia.org/wiki/Modelo_em_tr%C3%AAs_camadas
Outra vantagem desse modelo é que a aplicação cliente geralmente fica leve...
Alessandro, uma boa opção seria: ter um servidor de aplicação feito em PHP que servirá: WEB e desktop, no WEB vc pode utilizar o ExtJS, e no desktop pode continuar com o FiveWin...
@aferra - Com relação a "nuvem" vc se refere a ter um sistema totalmente online ou um sistema desktop que acessa informações de um servidor na "nuvem" ou ainda a mistura dos dois ?
O C# e todo ecossistema .NET é bem legal, legal mesmo... o que não gostei do .NET foi a comunidade brasileira....