MVC. NUNCA TRABALHEI COM RAZOR...
é uma boa prática trabalhar com MVC e não usar o Razor? Posso driblar o razor e utilizar .aspx no padrão MVC da Microsoft?
O que vocês têm a dizer sobre o Web Form View Engine?
Abs.
Citação::
Faz muito, muito tempo que abandonei esse padrão de UI da Microsoft. Uso React, Angular ou Knockout, garanto que vale a pena.
Nem a questão do acesso a dados você usa o Visual Studio?
Banco de dados: SQL Server, Oracle ou MySQL(raramente)
Camada de acesso à dados: Uma DLL em C#, sempre dando preferência à uso de ORM, como Entity Framework ou NHibernate. Classes POCO com uso de herança e polimorfismo(quando aplicável). Dividido em 3 projetos: DAL, BLL e Validações de dados.
Camada intermediária(middleware): Uma WebAPI, dando preferência à uso de OData, mas sem problemas quanto à tradicional REST(mesmo OData sendo também REST). Usando autorizações(baseada em token) e OWIN. Também escrita em C#.
Camada de apresentação: Aqui sim deixo de usar o Visual Studio tradicional, uso geralmente Atom ou Visual Studio Code para desenvolver. Daà depende da aplicação, se for Web, preferência por Angular, React, Knockout ou Vue, nessa ordem e em vários casos, principalmente para aplicações internas, uso o OS.js. Se for aplicação mobile, uso Cordova/Ionic2. Aplicações desktop, tenho feito MUITO raramente, na verdade a última foi coisa de uns 3 anos atrás.
Como uso muitos templates T4, consigo fazer aplicações muito rapidamente, trabalho manual mesmo só para desenvolver a camada de dados, o resto é todo feito de forma automática(bem, quase tudo) usando diversos templates T4 que venho aperfeiçoando ao longo do tempo. Então fica assim:
1 - Faço a camada de dados. Se usar Entity Framework(Code-First), melhor, se não puder, com EF uso o NHibernate mesmo
2 - Uso os primeiros templates para gerar a camada intermediária. Essa parte é bem robótica mesmo e a WebAPI fica prontinha, com todas as rotas, autorizações, verificação de direitos de usuário até mesmo à nÃvel de registro(até mesmo parcial)
3 - Uso então vários templates para gerar a UI, geralmente uma aplicação Web contendo os cadastros(incluindo Master/Detail), fica prontinha, com menus, guardas de autorizações e tudo mais. Quando faz parte do escopo, gero também aplicações mobile básicas.
À partir daqui tem sempre algumas telas que são ainda feitas à mão, por serem muito especÃficas. Mas como os componentes ficam todos prontos para todos os artefatos, basta reaproveitá-los e criar as entradas de menu para eles. Tenho até mesmo um vÃdeo onde dou uma idéia de como isso é feito. Gero uma aplicação usando Entity Framework, WebAPI e AngularJS em MENOS de 3 minutos. Várias telas com cadastros para duas entidades, coisa simples, mas já se pode ter uma noção do que se pode fazer usando templates e automatizando essa parte de código.
Citação::
Como ficam minhas aplicações:
Banco de dados: SQL Server, Oracle ou MySQL(raramente)
Camada de acesso à dados: Uma DLL em C#, sempre dando preferência à uso de ORM, como Entity Framework ou NHibernate. Classes POCO com uso de herança e polimorfismo(quando aplicável). Dividido em 3 projetos: DAL, BLL e Validações de dados.
Camada intermediária(middleware): Uma WebAPI, dando preferência à uso de OData, mas sem problemas quanto à tradicional REST(mesmo OData sendo também REST). Usando autorizações(baseada em token) e OWIN. Também escrita em C#.
Camada de apresentação: Aqui sim deixo de usar o Visual Studio tradicional, uso geralmente Atom ou Visual Studio Code para desenvolver. Daà depende da aplicação, se for Web, preferência por Angular, React, Knockout ou Vue, nessa ordem e em vários casos, principalmente para aplicações internas, uso o OS.js. Se for aplicação mobile, uso Cordova/Ionic2. Aplicações desktop, tenho feito MUITO raramente, na verdade a última foi coisa de uns 3 anos atrás.
Como uso muitos templates T4, consigo fazer aplicações muito rapidamente, trabalho manual mesmo só para desenvolver a camada de dados, o resto é todo feito de forma automática(bem, quase tudo) usando diversos templates T4 que venho aperfeiçoando ao longo do tempo. Então fica assim:
1 - Faço a camada de dados. Se usar Entity Framework(Code-First), melhor, se não puder, com EF uso o NHibernate mesmo
2 - Uso os primeiros templates para gerar a camada intermediária. Essa parte é bem robótica mesmo e a WebAPI fica prontinha, com todas as rotas, autorizações, verificação de direitos de usuário até mesmo à nÃvel de registro(até mesmo parcial)
3 - Uso então vários templates para gerar a UI, geralmente uma aplicação Web contendo os cadastros(incluindo Master/Detail), fica prontinha, com menus, guardas de autorizações e tudo mais. Quando faz parte do escopo, gero também aplicações mobile básicas.
À partir daqui tem sempre algumas telas que são ainda feitas à mão, por serem muito especÃficas. Mas como os componentes ficam todos prontos para todos os artefatos, basta reaproveitá-los e criar as entradas de menu para eles. Tenho até mesmo um vÃdeo onde dou uma idéia de como isso é feito. Gero uma aplicação usando Entity Framework, WebAPI e AngularJS em MENOS de 3 minutos. Várias telas com cadastros para duas entidades, coisa simples, mas já se pode ter uma noção do que se pode fazer usando templates e automatizando essa parte de código.
Kerplunk, e a questão da instabilidade das versões do AnuglarJS? Tipo, a 1 foi muito bem homologada, a 2 apresentou problemas e muitas rejeições de desenvolvedores e a 3 está em desenvolvimento e muitos afirmam que será um [Ô]Só Deus sabe como vai ficar...[Ô]. Mesmo assim você recomendaria utilizar o AngularJS? Simpatizo com o AngularJS, achei show de bola. Mas no que você mencionou se referiu a versão 1, correto?
Abs.