Atualmente, nossa equipe está trabalhando na construção de nossa próxima geração de HIS (Sistema de Informações Hospitalares), composta por mais de 30 módulos (atualmente estimados em 400 homens / mês), que podem estar hospedados em um local central e acessados em diferentes regiões geográficas. Portanto, os NFRs da UI principal (requisitos não funcionais) seriam
- Compatibilidade com vários navegadores
- Carregamento rápido de páginas com GUI avançada
- Capacidade de integração com dispositivos de hardware, como scanners biométricos, leitores biométricos etc.
- Facilidade de desenvolvimento, manutenção (incorporando alterações), ciclo de desenvolvimento mais curto
- Capacidade de abrir vários formulários na mesma janela do navegador (sem abrir janelas adicionais)
Prós:
- A interface do usuário seria independente do navegador , não precisamos nos preocupar em garantir que nossas páginas da Web funcionem com o IE 7, 8, 9 ++ / Chrome 8, 9, 18 ++ / Mozilla Firefox (atualmente há muito esforço de desenvolvimento nesse sentido). verificação e correção de compatibilidade)
- Poderíamos tornar nosso aplicativo mais modular, diferente de um aplicativo ASP.Net monolítico
- Uso de armazenamento isolado no PC cliente
Contras:
Problemas de vazamento de memória do Silverlight. Nós os enfrentamos em algumas amostras que criamos usando o SL e temos o mesmo problema em um aplicativo XBAP herdado. Os links a seguir comprovam o medo http://davybrion.com/blog/2010/08/silverlight-getting-worse-when-it-comes-to-memory-leaks/ /programming/5091636 / silverlight-4-memory-leaks
A Microsoft não parece muito entusiasmada com o futuro do SL. Eles parecem estar investindo mais no HTML 5. As versões futuras de um SL 5 ou 6 também são incertas. http://support.microsoft.com/gp/lifean45 http://www.zdnet.com/blog/microsoft/microsoft-our-strategy-with-silverlight-has-shifted/7834 http: //www.zdnet. com / blog / microsoft / haverá um silverlight-6-e-importa-o / 11180
Os módulos HIS abririam como várias guias na mesma janela do navegador (estamos falando de um máximo de oito guias abertas simultaneamente). Quanto de carga seria aplicada nessa instância do navegador e como isso afetaria o problema de vazamento de memória?
Curva de aprendizado para desenvolvedores do ASP.Net
Outro link de pilha no SL /programming/251718/silverlight-wpf-web-app-xbap-or-click-once-pros-and-cons
Neutro
- Compatibilidade com SEO não é uma preocupação
Minhas consultas são?
- Você usaria o SL, conhecendo os prós e os contras acima (e outros)
- Caso usemos o padrão MVVM para criar um produto com SL como front-end, seria possível substituir a interface do usuário amanhã por outra interface do usuário (ASP.Net ou outra coisa). Meu entendimento é que o retrabalho seria substancial. O que a comunidade pensa?
- Passamos um tempo considerável na análise acima (e na criação de provas de conceitos). Existe um fato importante / fator decisivo que estamos ignorando?
Por favor, não marque isso como duplicado, pois muita pesquisa e esforço foram realizados neste exercício.
PS: Passamos os últimos 6 meses na criação do produto usando formulários da Web ASP.Net (usando o padrão MVP) e agora estamos observando uma mudança de tecnologia devido aos motivos acima.
Respostas:
Temos realmente esse problema. Começamos o desenvolvimento do Silverligth. É uma tecnologia bonita, mas provavelmente é desistida pela Microsoft. Então, mudamos para desenvolver no ASP.NET MVC.
Assim :
Espero que isso possa ajudá-lo.
fonte
Para responder algumas de suas perguntas:
Por que você precisa abrir 8 abas simultaneamente? Com o Silverlight você poderia ter uma única guia de aplicação e todos os controles / páginas etc abas dentro disso. Isso não sobrecarregaria mais a instância do navegador e não pioraria o problema de vazamento de memória.
Praticamente qualquer tecnologia que você escolher agora dará as mesmas dores de cabeça se você tentar substituir a interface do usuário. A menos que você possa separar totalmente a lógica do aplicativo da interface do usuário, haverá uma grande reformulação envolvida. O mínimo de dor seria se você o convertesse em um aplicativo WPF.
No entanto, esta declaração:
leva-me a pensar que o uso de qualquer tecnologia baseada na Web vai causar problemas nessa área. Aqui eu concordo com Alex - uma aposta melhor pode ser escrever um aplicativo nativo. O uso do Java fornecerá interoperabilidade em várias plataformas, mas com o custo de não usar elementos da interface do usuário nativos.
fonte
Este pode ser difícil e exigirá o modo OutOfBrowser para o Silverlight, você precisará usar o COM para que isso funcione e isso arruinará os requisitos de vários navegadores. COM funciona apenas no Internet Explorer.
IMHO, o requisito mais difícil para a aplicação WEB é trabalhar com dispositivos externos. Geralmente eles vêm com bibliotecas C, C ++ para trabalhar com eles, e você precisa de uma maneira de interoperabilidade em C, C ++.
Eu não acho que esses requisitos possam ser satisfeitos por qualquer tecnologia WEB, apenas se applets Java, mas não sei sobre os recursos de interoperabilidade de applets java. De qualquer maneira, eu pensaria em Java, miniaplicativo ou aplicativo de desktop, dependendo da capacidade de trabalhar com hardware.
fonte
Se JS não lhe interessar, eu utilizaria o Html5 + JS todo o caminho. Nenhum plug-in externo é necessário, o IE antigo pode ser usado para raciocinar com o Html5 através do JS e funcionará também em dispositivos móveis.
SL como o Flash requer um plug-in, não funciona em dispositivos móveis etc.
Se você gosta do padrão MVVM, pode se casar com o Html5 com o Knockout.js, uma biblioteca JS que usa o padrão MVVM, eu já o usei em alguns projetos e é incrível.
Portanto, para responder, fique longe do SL ou do Flash se desejar algo o mais compatível e o mais rápido possível.
fonte