Bom dia.
Trabalho com desenvolvimento de aplicações desktop à 3 anos, usando VB6 e C#.
Mesmo me mantendo no ambiente desktop procurei sempre estudar boas práticas de programação, procurando aprofundamento nos conceitos da programação orientada a objetos ( padrões de projeto, arquitetura de software, etc).
Agora tenho como objetivo desenvolver uma aplicação WEB inicialmente de médio porte, porém como descrito, uma aplicação, não é um WebSite. Hipoteticamente, digamos que seja um sistema para automação de padarias.
Já desenvolvi em ASP.NET WebForms, porém tive uma dificuldade imensa em desenvolver interfaces ricas em WEB apenas com html, css, e javascript. Tive uma grande dificuldade em estruturar a visão juntamente com o JS, trabalhar com o ajax, etc. Na minha concepção, criou uma desorganização quando acoplei todo aquele código JS para alguns efeitos que tive que realizar, além de não ser nada produtivo.
Infelizmente não tive outras oportunidades de trabalhar e estou aproximadamente 8 meses sem trabalhar com esse contexto.
Agora novamente com essa oportunidade, gostaria de saber o que utilizar. Já vi tecnologias como:
-
Asp.net MVC: Não gostei. Me pareceu como servlets java, onde se recupera informações no contexto do request pelo id dos elementos envolvidos. Não tem a facilidade que o primefacess ou o asp.net WebForms, mapeando os controles entre tela e camada de transporte mais facilmente.
-
Primefaces: Como estou trabalhando com C#, trabalhar também com JAVA irá dificultar um pouco quando necessitar de algo específico da linguagem, e até em questão de produtividade.
-
Asp.net WebForms: É extremamente simples e se assemelha com o desenvolvimento desktop, e possibilita aplicação de padrões arquiteturais para benefício da manutenção. Minha dúvida é no momento de utilizar outras bibliotecas e frameworks por o webforms ser mais “fechado” que o asp.net mvc.
-
Blootstrap: Pelo que estudei será o ideal para meu caso: Assim como prime, não exige experiência para desenvolver interfaces ricas. Só estou com receio quando for trabalhar com ajax e componentes mais complexos como grids.
Resumo: Quais tecnologias WEB vocês recomendam para desenvolvimento com C#?