Desenvolver Web ou Desktop?

Quero desenvolver uma aplicação e estou com muitas dúvidas.
Principalmente entre programar para Web ou Desktop.
A idéia é a seguinte: Quero desenvolver um sistema de cadastro e controle de alunos, ele vai trabalhar em rede.
Eu acho que a distribuição na rede sendo desenvolvido para Web é mais pratica, mas fico com dúvidas quanto a segurança (copiarem meu sistema, modificarem essas coisas assim), nisso acho que para desktop é mais seguro

Se puderem me ajudar, pontos fortes e fracos de cada um

Web é totalmente seguro…sua aplicação estará em um servidor web a segurança tem que ter ná maquina do servidor web o usuário final não poderá modificar o código java…ele só terá como retorno html…

Mesmo se o sistema for web e tiver muita lógica em javascript, dá para usar um obfuscador de código para dificultar a cópia.

No caso do Java, nisso não há segurança nenhuma no desktop. Faça para web.

Aliás, eu hoje só recomendo sistemas desktop se você realmente precisar de muita interatividade. Tais como são os casos de jogos ou sistemas de tempo real.

web… até porque é mais fácil manter o software…

Valeu Senhores!

alexgalvao, Segurança no servidor? (Você pode dar uma explicada sobre, ou ainda melhor, me indicar material para estudo?)
A máquina estará com um professor em outra cidade, ele terá acesso as pastas do sistema.

Bruno Laturner, Obfuscador de código, você também pode me explicar um pouco, ou, passar material de estudo?

ViniGodoy e edu_merckx, obrigado também pela atenção.

Desde já agradeço as opniões de todos, vocês ajudaram na decisão.
:smiley:

a segurança realmente eh o fator chave de qualquer aplicacao, mas vc ficar preocupado em copiarem e talz, huahua nao se preocupem nao, que isso vai acontecer se alguem gostar do seu sistema, no dia seguinte ja estao copiando. ja pensou se a apple nao lance o iphone 4, pensando na copia pelos chineses? entao esqueça isso e o segredo é agregar valor ao produto e pronto.

Eu recomendaria web nao so pelo que falaram, mas que vai poder aprender será bem mais produtivo de curto-longo prazo, se ja estiver visando o mercado. ao contrario do jse que o mercado nao é um dos melhores.

flw.

Vai trabalhar em rede, correto ? Neste caso você teria de ter um servidor com o banco de dados, e o programa que estivesse em outros computadores se conectaria ao banco de dados remotamente e faria o que tem de fazer. Se for, web será menos trabalhoso.

depende do tempo que você tem pra desenvolver e quais requisitos para o software porque se for pra ontem então faz em delphi mesmo cliente servidor com 1 minuto vc tem seu crud pronto. Sistemas WEB principalmente com java demora mais. (Lembrando que se for para software pequeno e de pouca escalabilidade) resumindo “programinha”. Programas em delphi para LAN funcionana perfeitamente. Eu por exemplo dou preferencia em desenvolver todos os programas para web porque vai que tenha necessidade de acessa-lo à distancia! etc…

Se você está desenvolvendo para uma empresa, não caia no conto do vigário que é só “um programinha”.
Em empresas, isso não existe. O sistema tende a crescer, e é muito bom que você esteja preparado para isso.

Minha idéia realmente não é programinha. A coisa deve começar pequena mas com um projeto bem maior. Começaremos controlando apenas uma fração do negócio e será estendido para todo o controle dos alunos atividades, inclusive com a possibilidade de acesso via internet.

Estou estudando como farei (tipo de banco de dados - MySql, Firebird…, se uso jsp/servlet’s, applets, javascript).

Caso possam me ajudar com dicas quanto a isso também, fico muito grato. Sou novo nisso, tenho pouca experiência (venho do access), e, não quero começar errando, pelo menos não muito.

Valeu a todos até aqui.

então recomendo uma aplicação web mesmo utilize sqlserver (tem versão limitada dele) ele é muito rápido.
utilize glassfish - já fiz comparações com minha aplicação em demais containers e o glassfish foi muito mais rapido.
na viw você pode usar tanto richfaces ou jsf puro mesmo. tem também um extjs (é em javascript) com DWR,
Hibernate com generics em seus DAOs e padrões como facade e proxy para web


use UML! e se possivel um processo de software leia sobre engenharia de software RUP