CONFUSÃO/INDECISÃO DE METODOLOGIAS ASP.NET !
faz o processo citado la embaixo vide¹..
motivo: preciso de mobilidade e uso de tablet e comprar aqueles tablet[ô]s com Windows 8.1 e 10 quem garante até quando estarão a venda correto? então estarei cavando a própria cova se depender disso, já estou começando a me preparar pra isso
as vezes temos que tomar algumas decisões rápidas para [Ô]resolver o bo[Ô] e depois pensamos em uma solução melhor para o futuro próximo.. [txt-color=#0000f0] (sim o tablet roda windows form sem travar)[/txt-color]
Continuando...
Estou numa extrema indecisão a qual tipo de tecnologia utilizar no meu novo projeto, (é um projeto de complexidade [ô]avançada[ô] que envolvem bastante requisições crud, muitos campos para preenchimento, leituras, validações juntando um ¹ processo rebuscado
de elaboração de laudos técnicos alem de crud deverá ter upload de fotos dos laudos etc etc)
Dentre as metodologias que estou em dúvida são:
1. Desenvolver em 3 camadas (UI, BLL, DAL) poderia utilizar tanto WebPages como WebForms?
2. Desenvolver em MVC (Model,View, Controller).
3. Desenvolver em Web Api.
terei de começar aos poucos apesar de conhecer o básico terei de estudar bastante e tenho certo tempo pra estudar, tudo que fiz até aqui sempre me deparei com problemas e mais problemas e tanto vocês do vbmania, google ou até eu mesmo muitas vezes pela minha persistência e nunca desistir consegui resolver más estou perdido, sobre 3 camadas conheço mais pois desenvolvo em Java 3 camadas .. Mvc e Web Api (tirando algumas coisas que aprendi com os videos do kerp) terei de começar do inÃcio..
Agora por ex se me recomendarem Web Api, Web api é aplicável em todo tipo de projeto ? desde ERP até algo que ainda não existe por ex ??
Estava em dúvida também entre e ja defini:
1.[txt-color=#e80000] Materialize[/txt-color]
2. [txt-color=#007100]BootStrap[/txt-color] <- BootStrap escolhido devido a alguns bug[ô]s indesejáveis que tive com o Materialize
Citação:: pela minha persistência e nunca desistir consegui resolver....
Sugiro fazer em 3 camadas, e acima de tudo manter sua persistência pois
isso é que nos torna diferentes dos fracassados....
Quando se trata de Web, o assunto é extenso e massante para muitos, talvez por este motivo muitos participantes do fórum não conseguem partir para este mundo, que exige muita dedicação e estudo.
Boa parte das coisas que aprendi, foi pesquisando em outras lÃnguas, como conteúdos em inglês.
Partindo do princÃpio, trabalhar em 3 camadas é a mesma coisa do que utilizar um framework de ORM, como o Entity Framework ou o Nhibernate, mais conhecido como o hibernate do java (talvez você o conheça). Utilizar estes frameworks te poupa um tempo monstruoso, pois você não precisa ter que criar a sua camada de acesso a dados, ou até fazer a manutenção dela. Hoje vejo muitos projetos grandes, onde temos que realizar a manutenção da camada de acesso e a camada de apresentação, o que se torna cansativo, principalmente para quem trabalha sozinho. Isto não quer dizer que os ORM[ô]s farão todo o trabalho por ti, mas você tem um ganho de produção considerável.
Sobre as tecnologias, cheguei a uma conclusão sobre todas elas, e hoje trabalho da forma mais simples possÃvel, para que a aplicação não fique [Ô]amarrada[Ô] ao contexto web, mas também para os outros dispositivos que vem ganhando mercado, como os tablets e celulares.
O uso de uma Web API é fundamental, para qualquer projeto web, mas a camada de acesso não precisa estar junta com a camada de apresentação, como é no caso do MVC, mas você pode trabalhar com SPA, o que te dá mais mobilidade e você não fica amarrado a uma tecnologia. Desta forma você tem seu projeto de acesso a dados separado do seu front-end, e isto te trará grandes benefÃcios, como transformar seu projeto web em uma aplicação desktop (com o uso do Electron).
Em uma breve pesquisa, você perceberá que existem uma infinidade de frameworks, como o que você já citou, o bootstrap, mas isto é só o começo. Para iniciar um projeto de SPA, é importante estudar estas tecnologias.
WebApi (Restful)
Entity Framework
Bootstrap
Angular
SOLID
DDD
DI
IoC
Cross Cutting
Nodejs
Gulp
Existem também alguns frameworks de acesso a dados, que é um pouco diferente o EF, como o Drapper, o Hand coded, etc... Vale a pena estudar.
Ufa, é muita coisa, é por este e outros motivos que muitos ainda estão nas aplicações desktop, mas as vantagens de se utilizar uma aplicação web são incomparáveis ao desktop. Assim como você, estou migrando minhas aplicações para web, com muito custo.
Boa sorte!
O GUIMORAES, já falou tudo, vou só complementar com a forma que faço hoje.
Bom, mas antes, respondendo sua pergunta, WEB API (RestFul), eu diria que no âmbito geral quase tudo da para se fazer
com Web Api.
Meu exemplo, tenho aplicacao ERP que inclui NF-e, NFC-e e SAT, tudo rodando numa Web API, lá no azure
A parte de login, uso o IdentyServer que roda tambem no azure, qual a vantagem disso, qualquer aplicação nova
que eu for desenvolver não preciso mais me preocupar com essa parte, que era um osso de gerenciar.
Então aplicativos distintos com banco de dados distintos, se autenticam no Identity Server e pronto.
Porque um serviço WebApi e não um MVC tradicional. Qualquer aplicativo móvel que você for criar, você só se preocupará
com as telas, porque o negocio em si ja esta rodando, bastando apenas consumir o serviço, seja uma tela de consulta, um relatório,
etc.
A coisa toda só complica no lado do cliente, principalmente se for usar um browser.
As opções são muitas.
Hoje eu uso o Angular 2, pra quem já esta acostumado com C#, é pra mim o mais recomendado, e WPF para o SAT e NFC-e que sincroniza com o WebApi.
Mas isso é questão de gosto, você pode usar qualquer uma ferramenta que goste, só não recomendo mesmo é o jquery feito na unha,
que se torna horrÃvel para se manter, é famoso código macarrão.
Fora o Angular 2, tem o Vue.js que é bem mais simples, e Ractive.js, que é mais complexo mas muito usado também.
Qualquer um desses pode ser compilado para usar com o Electron para criar aplicação desktop.
Materialize, Boostraper, são essenciamente css, vc usa o que for mais conveniente., seja qual for, você
inevitavelmente precisará ajustar alguma coisa no css. Como dica (Estude Css).
Em resumo, se tem tempo, estude e pesquise bastante antes de escolher qual ferramenta usar, para não escolher errado.
O meu setup hoje é o seguinte:
Visual Studio 2017 para o Backend, sim, já estou usando desde o RC.
ReportViewer, rodando no WebApi, esse é o pulo do gato.
Visual Studio Code para o Frontend
Angular 2 com typescript, esqueci de mencionar, é possivel usar com javascript, mas prefiro com o typescript, é quase um C#.
Alguns Plugins de terceiros que eu modifiquei, todos opensource.
Para desktop, uso o WPF
Para mobile, uso o xamarin, antes eu usava o eclipse com java, era um terror.
Bom é isso, se sua aplicação Windows Forms for dividida em camadas, acredito que dê para aporveitar muita coisa.
Outra coisa é, esqueça WebForms, complementando estude orientação a objetos (OOP), binding de propriedades, vai ajudar muito a entender como o angular funciona, como o wpf, xamarin, ou ainda o uwp fazem uso dessa tecnologia.
Abraços.
Para vocês mais jovens, bom trabalho, eu com 53 anos e 20 anos nessa luta não da mais, é muito para minha cabeça, tenho até necessidade, mas essa parafernália de programas, siglas e aplicativos não da. Eu até imaginava que no futuro muita coisa mudaria, mas nem tanto. Só de pensar em começar tudo de novo, eu teria que ser pelo menos uns 10 anos mais jovens. é possÃvel que tenha alguém até mais velho que eu que entre nesse mundo, mas isso é de cada um. Vou ter meus clientes Desktop até onde der.
São dois Nilsão, eu e tu.
é muita sigla, recomendo MVC, só isso, e o resto é com o JQuery
Citação:kkkkkkk
São dois Nilsão, eu e tu.
é muita sigla, recomendo MVC, só isso, e o resto é com o JQuery
kk, só de VBMania são 15 anos por ai, Obrigado pela Dica, MVC, vamos ver.
MVC, Angular, WebAPI, Node, Drupal, JQuery, Entity Framework... enfim, todas os componentes da sopa de letrinhas tecnológica aqui citados, são simples coadjuvantes. Isso mesmo, eles são consequência de um todo muito maior, e esse sim, é o que deveria estar muito bem entendido. Esse todo maior é o entendimento da estrutura da Web e como ela funciona. Todo o resto é puramente adereço. Entendendo a estrutura client/server, você entende do que se trata cada uma dessas tecnologias. Uma simples olhada no esboço ou prefácio de qualquer outra tecnologia nova, será suficiente para entendê-la bem, mesmo que seja algo completamente novo para você, você saberá como, onde, porque e quando usar. Já disse isso aqui uma vez e vou dizer tantas vezes quantas forem necessárias: O segredo é aprender a aprender. E para isso, você tem que aprender princÃpios, mas não só ter noção, dominar mesmo. A simples arquitetura Web básica(Client/Server), é básico para isso. Se você ouve falar nesses componentes da sopa de letrinhas tecnológicas e depois de uma leitura do prefácio de sua funcionalidade não ter nem noção de como aplicar, então você não entendeu a estrutura básica da internet(Client/Server). Entenda assim: Qualquer conhecimento que você tenha, se você não for capaz de explicá-lo pra sua avó, significa que você não entendeu. Um exemplo? O MVC. Model - View - Controller. Se você entende o que é Client/Server você vai entender perfeitamente que Model e Controller, são atuadores de Server e a View, um hÃbrido de ambos, atuando no client, ao menos no que diz respeito à renderização. JQuery? Um framework para controle do DOM, que é o documento renderizado no Client, logo, JQuery é um framework que roda no Client. WebAPI? Um provedor de dados, que pode responder em formatos de dados diferentes, como o XML ou JSON, responder, é tarefa do Server, logo WebAPI, diz respeito à algo feito no server, consumido pelo client. Repararam no padrão? Temos Client e Server, temos coisas que rodam no Client e coisas que rodam no Server. Se eu der um exemplo de algo que (talvez) você não conheça, o PrimeNG por exemplo. Se eu disser que trata-se de um framework UI, para aplicações em Angular, você já saberia do que se trata? Não? Se eu disser que Angular é um framework para desenvolvimento de aplicações web dinâmicas. Ainda não? Pois saiba que só isso deveria ser suficiente para entender ao menos do que se trata. O que quero dizer é que praticamente tudo é derivado de algo ou [Ô]imitação[Ô] de algo ou um hÃbrido de duas coisas e todas elas são baseadas na simples estrutura Client/Server. Acredite ou não, o próprio .NET Framework tem uma idéia similar à essa estrutura. O Framework em si, é uma série de bibliotecas com funcionalidades distintas, consumidas por alguma Client(seja uma aplicação ou outra biblioteca), o Visual Studio é uma ferramenta para desenvolver soluções capazes de consumir essa série de bibliotecas.O Java, a mesmÃssima coisa. Uma aplicação Web, também. Uma WebAPI, também. Um banco de dados, também segue a mesma metodologia, um client(sua aplicação) consumindo um Server. Praticamente tudo é em torno da estrutura Client/Server, então domine-a, entenda PERFEITAMENTE do que se trata e saiba reconhecer essa estrutura em todas as coisas que vê, pois essa uma das chaves para o entendimento de tudo. Uma das outras é o entendimento da OO(Orientação à Objeto), pois também praticamente tudo segue essa metodologia. Não estude dialeto(C#, VB.NET, Java, SQL...) estude onde eles estão apoiados, estude como eles funcionam que todo o resto será simples.
Angular 2 (ainda bem que nem aprendi o Angular )..
só que estou com grande dificuldade em achar um material bom para estudos em nossa lingua (tirando os videos do Kerplunk que são claros e objetivos e nota-se uma continuidade) os videos que eu tenho visto são a maior [Ô]salada[Ô] de tecnologias e isso contribui para ficarmos ainda mais indecisos e confusos..
Acho que o principal problema também são os vários tipos de padrões adotados:
Mvc, Mvvm, DDD, 3 camadas,Web Api
realmente estudar web não está sendo uma tarefa fácil pois são tantas metodologias aliás estudar programação nunca foi fácil, o mercado pede novas tecnologias porem há um grande problema
elas SURGEM e desaparecem do nada.. vamos pegar como ex o Angular
e detalhe: até os mais experientes sofrem com isso..
@GUIMORAES, excelente já tinha visto algo com o SPA porém acho um pouco [Ô]avançado[Ô] demais, tentei ate ver uns vÃdeos.. com certeza adicionarei em minha rotina de estudos..
@LAMPIAO para Front estou usando o Atom e achei superior ao VS code pelo menos até agora.
@NILSONTRES acho que devemos procurar sempre nos atualizar dentro do possivel, porem soluções desktop não acho que irão morrer, ainda existe uma certa resistência até por parte
dos próprios funcionários em achar que mesmo sendo servidor localhost a web não é segura, eu mesmo antes de propor realizarmos parte do meu projeto em Web para meus superiores
tive que repetir umas 15x que é SIM seguro..
@Kerplunk excelente texto também, concordo com tudo que você disse.. porém acho que lançando tantas tecnologias, frameworks só serve para tornar os profissionais e estudantes iniciantes totalmente perdidos..
Citação::
Meus DEUS, o que é isso tudo ?, kkk.
Para vocês mais jovens, bom trabalho, eu com 53 anos e 20 anos nessa luta não da mais, é muito para minha cabeça, tenho até necessidade, mas essa parafernália de programas, siglas e aplicativos não da. Eu até imaginava que no futuro muita coisa mudaria, mas nem tanto. Só de pensar em começar tudo de novo, eu teria que ser pelo menos uns 10 anos mais jovens. é possÃvel que tenha alguém até mais velho que eu que entre nesse mundo, mas isso é de cada um. Vou ter meus clientes Desktop até onde der.
Ei homem, que isso, não jogue a toalha agora não, que desanimação é essa. Eu tenho 49 anos, e estou sempre aberto a novas tecnologias que me facilite a vida. O mundo ta sempre em constante evolução e nós temos que tentar acompanhar isso. Essa evolução ocorre em quase todas as areas. Além do mais, quem gosta do que faz, não se cansa da profissão.
Pode parecer complicado no inÃcio, mas com a persitência se consegue superar as dificuldades.
Tudo de bom
Abraços
Citação::
muito bom, irei estudar mais afundo o MVC com BootStrap e dar uma olhada no
Angular 2 (ainda bem que nem aprendi o Angular )..
só que estou com grande dificuldade em achar um material bom para estudos em nossa lingua (tirando os videos do Kerplunk que são claros e objetivos e nota-se uma continuidade) os videos que eu tenho visto são a maior [Ô]salada[Ô] de tecnologias e isso contribui para ficarmos ainda mais indecisos e confusos..
Acho que o principal problema também são os vários tipos de padrões adotados:
Mvc, Mvvm, DDD, 3 camadas,Web Api
realmente estudar web não está sendo uma tarefa fácil pois são tantas metodologias aliás estudar programação nunca foi fácil, o mercado pede novas tecnologias porem há um grande problema
elas SURGEM e desaparecem do nada.. vamos pegar como ex o Angular
e detalhe: até os mais experientes sofrem com isso..
@GUIMORAES, excelente já tinha visto algo com o SPA porém acho um pouco [Ô]avançado[Ô] demais, tentei ate ver uns vÃdeos.. com certeza adicionarei em minha rotina de estudos..
@LAMPIAO para Front estou usando o Atom e achei superior ao VS code pelo menos até agora.
@NILSONTRES acho que devemos procurar sempre nos atualizar dentro do possivel, porem soluções desktop não acho que irão morrer, ainda existe uma certa resistência até por parte
dos próprios funcionários em achar que mesmo sendo servidor localhost a web não é segura, eu mesmo antes de propor realizarmos parte do meu projeto em Web para meus superiores
tive que repetir umas 15x que é SIM seguro..
@Kerplunk excelente texto também, concordo com tudo que você disse.. porém acho que lançando tantas tecnologias, frameworks só serve para tornar os profissionais e estudantes iniciantes totalmente perdidos..
Fala MESTRE, e então programar nunca foi tão fácil realmente, o difÃcil é escolher a ferramenta certa, a tecnologia certa para iniciar um novo projeto ou mesmo migrar um existente. Por isso a importancia de pesquisar bem antes de por a mão na massa.
Para material de estudo, infelizmente vc não encontrará muita coisa em Português, por isso a importância de saber Inglês, sem isso, tudo fica ainda mais complicado.
Sem querer desanimar, mas angular 2, já vai ficar atrasado, ja saiu o angular 4. kkkk.
Mas calma, é só uma mudança de versionamento, quem tem aplicativo feito no ng2 pode migrar para ng4 sem problemas, a versão 4 conta com melhorias de performace e coisa novas também.
O lance é não ficar fazendo uso massivo de plugins jquery. O mais legal é você ir aprendendo a fazer de forma nativa seus próprios plugins de acordo com suas necessidades.
O Atom, é muito bom também, optei pelo VS Code, por ser mais rápido e por terem integrado nele um terminal. é apenas gosto, ambos são bons, nada te impede de abrir um terminal por fora.
Talvez você já saiba, eu não mencionei, mas vc vai precisar instalar o node js, para iniciar com o angular, o resto é estudo infelizmente, não tem outra maneira.
Abraços