thiagojrchaves:
Olá pessoal,
Estou querendo fazer um sistema para gerenciar revendas de motocicletas, com as seguintes características:
- Será acessado por 30 pessoas aproximadamente, inclusive via internet(matriz/filiais). Dependendo da expansão das empresas, pode chegar a mais de 100 acessos.
- Usará impressora fiscal, NF-e, PAF-ECF, TEF…
- Portabilidade. Windows, Linux e Mac, até mesmo Android e iOS se sobrar tempo.
- Desempenho. Não importa se terei que investir em infra do lado servidor ou cliente. Maaaas, vi nesse fórum um comentário bem interessante. É melhor investir em 1 computador(servidor) a investir em 100 computadores(clientes).
Minhas dúvidas:
- Que banco de dados usar? Pensei no Firebird, MySQL e PostgreSQL. Pelo que andei pesquisando, o PG é o mais robusto dentre esses 3.
- Que linguagem usar? Pensei no Java, mas depois que a Oracle comprou a Sun, fiquei duvidoso em relação ao seu futuro($$). Não conheço Ruby, Python e Groovy. Muita gente fala sobre a praticidade de programar com essas linguagens.
- Web ou Desktop? Sempre programei para desktop, mas ultimamente os software web tem chamado muito minha atenção.
Então, vocês poderiam me ajudar? :)
Olha, me deu vários tipo de medo agora. NMHO, já começou errado. Você vai fazer um sistema desse tamanho (pela descrição, parece que vai ter MUITA importância pros clientes) e você não sabe sequer avaliar que modelo de sistema vai fazer? Na boa, sem querer parecer chato ou pessimista, mas larga mão, pq, além de arrumar dor de cabeça pra você, isso tá com cara de que vai dar muita m*** pro cliente.
Antes de perguntar se vai fazer web ou desktop, você tem que conhecer bem a estrutura do seu cliente para aí então, inferir como será feito. Vou lançar algumas perguntas e você tente responder antes de decidir.
- Você sabe se todos os clientes terão acesso à internet?
- Se tiver que atualizar a versão do software, será online, será visitando todos os clientes ou vai enviar cds, dvds, pendrive para eles próprios atualizarem?
- Se o sistema ficar fora do ar, os clientes poderão continuar trabalhando normalmente?
- Qual a tolerância dos clientes a falhas? Qual o prejuízo que eles podem ter se o sistema cair em dias de faturamento, por exemplo?
- Os clientes realmente precisarão acessar o sistema via Android ou iOS ?
- O modelo das impressoras fiscais são o mesmo em TODAS os clientes? Ou você terá que fazer ‘versões’ para cada impressora que encontrar pelo caminho?
E tem outras que provavelmente irão surgir numa conversa com o cliente.
Veja, são perguntas que você deve fazer a si e aos clientes ANTES de iniciar qualquer implementação. E digo isso pq tenho experiência em desenvolvimento de software web pra uma grande rede de concessionárias de carros, e, cara, quando dava uma m*** em dias de faturamento e de enviar pedido pra fábrica eles ficavam MUITO, mas MUITO irritados mesmo, do tipo que você provavelmente não conhece, e isso é extremamente desagradável.
Portanto, eu só peço a você que avalie todas essas coisas antes de começar a pensar no desenvolvimento. Com muitas dessas perguntas respondidas, muitas vezes o modelo surge naturalmente.