[OFF]WEB API + WINDOWS FORMS

ALTAIR148 28/06/2017 16:02:20
#474843
Boa tarde,

Mais uma vez venho pedir opinião aos experientes.

Preciso desenvolver um projeto para entregar rápido, sei que não é o ideal, mas a questão é de urgência mesmo. Vamos ao cenário.

O ponto mais critico é que o sistema precisa ser online e interface amigável. Mas hoje eu ainda tenho muitas dificuldades em WEB com a parte visual, mesmo usando bootstrap e tal. O que pesa nisso tudo é que o sistema precisa ser online, alguns usuários estarão remotos e o banco de dados estará centralizado, vocês acham que compensa desenvolver um serviço WEB API e consumir ele com Windows Forms que tenho muita facilidade com a parte visual.

Sabem me dizer se entre um sistema WEB e consumir via WEB API terei perda de performance?

Obrigado;
KERPLUNK 28/06/2017 19:37:38
#474852
Resposta escolhida
Você está focado em código. Quanto à perda de performance, é fator de rede e não de aplicação. Uma WebAPI estaria [Ô]próxima[Ô] ao banco, tornando o acesso dela ao banco muito eficiente. Quando você consome essa API com uma aplicação também [Ô]próxima[Ô], a performance não é afetada. Quando você usar uma aplicação remota, você terá um caminho de rede que pode ser o calcanhar de aquiles para performance, apesar de totalmente possível.
ALTAIR148 28/06/2017 20:15:13
#474853
Citação:

:
Você está focado em código. Quanto à perda de performance, é fator de rede e não de aplicação. Uma WebAPI estaria [Ô]próxima[Ô] ao banco, tornando o acesso dela ao banco muito eficiente. Quando você consome essa API com uma aplicação também [Ô]próxima[Ô], a performance não é afetada. Quando você usar uma aplicação remota, você terá um caminho de rede que pode ser o calcanhar de aquiles para performance, apesar de totalmente possível.



Mas em minha situação que preciso de algo rápido, acha que é viável?
KERPLUNK 28/06/2017 20:22:31
#474855
Honestamente, desenvolver Web é mais rápido que desktop pra mim. Mas sim, é viável. Algo que vai te ajudar MUITO, é fazer a Api com métodos OData. Existe um gerador de código client para C# que vai deixar tudo prontinho no que diz respeito à integração com a webAPI.
ALTAIR148 28/06/2017 20:36:03
#474856
Citação:

:
Honestamente, desenvolver Web é mais rápido que desktop pra mim. Mas sim, é viável. Algo que vai te ajudar MUITO, é fazer a Api com métodos OData. Existe um gerador de código client para C# que vai deixar tudo prontinho no que diz respeito à integração com a webAPI.



Para seu desenvolvimento web ser produtivo o que usa além do visualstudio?

Então vou fazer umas duas telas aqui e testar, ver se realmente vale a pena.

Sobre o OData eu até ví um vídeo seu no youtube e os primeiros métodos montei a partir dele.

Valeu.
KERPLUNK 28/06/2017 20:53:04
#474857
Para desenvolvimento Web, utilizo quase sempre Angular(agora na versão 4) com o Visual Studio Code. O que falei que gera o código client é o OData Client Code Generator. Ele gera o código cliente para consume de métodos OData à partir de sua URL de metadados, mas ele só funciona com métodos OData da versão 4, que você precisa baixar o template de código aqui. Você baixa e instala no seu visual studio, gera os métodos(que são baseados no Entity Framework) e depois gera o código cliente e consume sua WebAPI OData. Recapitulando:
- Baixe e instale o template para geração de métodos OData v4
- Modele sua aplicação usando o Entity Framework, ele vai disponibilizar o uso do template acima, sem precisar programar nada
- Gere o código cliente na sua aplicação(a que vai consumir a WebAPI)
Depois disso é só sair fazendo a UI, pois toda a parte de integração de dados estará totalmente pronta.

Mas aconselho categoricamente que aprenda a desenvolver Web o quanto antes. Acredite, se você está tendo dificuldades, você está fazendo errado. é tão simples que a gente meio que [Ô]fica com nojo[Ô] de desenvolver desktop. O mais legal é que desenvolvendo Web, tem muitas possibilidades:
1 - Com o uso do Ionic, você pode desenvolver Web e compilar sua aplicação para mobile(tanto iOS quanto Android), sem precisar aprender nenhuma linguagem nova
2 - Você pode usar o Electron para desenvolver código nativo para qualquer OS, inclusive Linux e Windows, tudo usando o paradigma de desenvolvimento Web. Ou seja, você faz uma aplicação Web, que [Ô]se transforma[Ô] em uma aplicação Desktop nativa para qualquer OS
3 - Mesmo que não use nada do que citei acima, sua aplicação será sempre acessível de um browser, que está presente em qualquer sistema operacional hoje. Ou seja, você não se preocupa mais com que plataforma seu cliente usa.
4 - Aplicações Web são mais simples, robustas e leves que qualquer aplicação Desktop e podem até mesmo serem hospedadas localmente. Você desenvolve uma WebAPI por exemplo e nem sequer precisa do IIS para hospedar, com o uso de Micro-serviços com o uso do OWin. Você desenvolve sua WebAPI, ela se [Ô]auto-hospeda[Ô] em alguma máquina da rede do cliente juntamente com sua aplicação Web.
5 - Em uma aplicação Web, a preocupação com atualizações nos clientes é mínima, ou quase inexistente. Eles sempre estarão atualizados.
ALTAIR148 28/06/2017 21:05:36
#474858
O pessoal aqui chegou a cogitar sobre a compra de componentes do Devexpress ou do Telerik, já utilizou ou conhece alguém que usa?
KERPLUNK 28/06/2017 21:12:35
#474859
Sim, já utilizei e são excelentes, apesar de terem um preço bastante salgado. Consigo os mesmos resultados com bibliotecas gratuitas, como o PrimeNG e não tenho queixas. O caso é que se você não entender de fato como funciona a metodologia de trabalho para desenvolvimento Web, de nada vai adiantar ter os melhores componentes. é como ter uma Ferrari e não saber a diferença de um acelerador e de um freio. Vai por mim, aprenda Angular, é fácil, simples e sem mistério. Utilizado por dezenas de milhares de empresas conceituadas, mentido pelo Google e Microsoft(é mole, ou quer mais?) e só tende à ficar ainda melhor. O caminho das pedras é:
- DOMINE HTML, ele é base de tudo.
- Entenda perfeitamente o que é client e server e o que roda no que.
À partir daí é mamão com açúcar.
KURTGU 29/06/2017 06:30:01
#474863
Altair eu fiz um WebService, que estou usando em um projeto Windows Form basicamente por que o proxy bloqueava todas as portas do banco de dados, consegui fazer seguindo alguns videos do KerpLuck... e não vejo diferença de performance de acesso e solicitações ao banco de dados.
DS2T 29/06/2017 08:28:40
#474865
Eu entendo bem o ALTAIR148.
Tenho uma dificuldade enorme com o visual da página. Tentei usar bootstrap, consegui até uns efeitos legais copiando algumas coisas da internet (ex: http://www.macoratti.net/13/04/net_boot1.htm), mas parece muito insano ter que decorar os vários estilos que existem... Aí hoje em dia, eu vou na raça mesmo (css, html...). Mas isso é extremamente lento e improdutivo.
Como eu ando sem tempo, eu acabei voltando pra minha zona de conforto (windows form)... Deve haver um jeito mais fácil, com certeza... Mas como eu foquei mais no aprendizado server-side, ainda não cheguei nesse ponto.

Inclusive, se alguém tiver algum bom material sobre como criar layouts, vai ser de grande utilidade.
Porque é osso. São tantas bibliotecas que eu fico perdido que nem azeitona na boca de banguelo.... A parte funcional da coisa eu dou meus pulos e faço funcionar, mas o design... meu deus, o design...
MESTRE 29/06/2017 08:36:26
#474866
Citação:

:
O pessoal aqui chegou a cogitar sobre a compra de componentes do Devexpress ou do Telerik, já utilizou ou conhece alguém que usa?


referente ao DevExpress eu recomendo apenas o DevExpress pra WinForms, para Web nunca usei e acho que fica meio pesado..
mas acho que compensa ver os videos do canal da devexpress.. no caso é bastante salgado o valor mas vale a pena pois o suporte deles é muito bom e eficiente..

porem pra web eu acho que Bootstrap já deixa bem legal..
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas