[OFF] COMPARTILHANDO CONHECIMENTO: PROGRAMA?ÃO WEB

KERPLUNK 16/04/2014 17:38:41
#437364
Vejo muito no fórum, a galera com grandes dificuldades com programação Web. Vou nesse tópico, mandar as reais.
Se você ainda não domina HTML básico, este tópico não é pra você, existem milhares de tutoriais pela web para iniciantes em HTML, aprenda isso e volte para cá. Vou supor também que você tenha conhecimento básico de programação para Desktop, no mínimo saber como colocar um valor em uma textbox, nem precisa ser do banco de dados, apenas entender isso:

Dim nome As String
nome = [Ô]Zezinho[Ô]
Textbox1.Text = nome

Se nem isso você manja, sugiro então que aprenda isso.

Hoje, vou começar de leve, usando um framework incrível chamado AngularJS. Com ele, podemos fazer algo PARECIDO com o que se faz na programação desktop, através do uso de escopo. O arquivo em anexo, contém 3 arquivos:
  • previsao.html - O arquivo que contém o HTML e representa a interface de usuário(que vamos chamar daqui em diante de UI ou User Interface)
  • previsao.js - A ligação entre a UI e um controlador, escrito em javascript e que consulta um serviço de previsão do tempo
  • angular.js - O core do framework AngularJS
    Basta descompactar em qualquer pasta e abrir o
  • [Ô]previsao.html[Ô](usuários do internet explorer, somente da versão 10 para cima), de preferência com um browser de verdade como o Chrome ou Mozilla. Internet explorer está mais para um compilado de erros do que para um browser mesmo.

    Esta UI, tem uma caixa de texto, um botão e uma tabela abaixo. Basta digitar um nome de cidade qualquer(qualquer cidade no mundo) e clicar em buscar. A tabela será preenchida com os dados de previsão de tempo da cidade digitada.

    Aos poucos, vou explicando aqui como essa pequena aplicação funciona. Mas abram os códigos e vejam o conteúdo. Usuários com algum conhecimento em HTML vão ver algumas markups estranhas, como ng-click, ng-controller e outras. Além disso, também tem alguns [Ô]bigodes duplos[Ô], que tem dentro algo parecido com o que se usa em OOP como [Ô]data.data.request[0].query[Ô]. Fiquem tranquilos, aos poucos vou explicando como tudo funciona. Basta verem o quanto é simples se produzir aplicações web com funcionalidades ricas com pouquíssimas linhas de código e o auxílio de frameworks maduros e poderosos como o AngularJS.

    O objetivo todo aqui deste tópico, é construir uma aplicação de controle de clientes, simples, sem o uso de ASPX, apenas HTML + AngularJS + JQuery + (alguma UI que ainda vamos escolher).

    Admins, se quiserem/puderem deixar fixo este tópico, eu agradeceria.
    Por hora é isso, e aguardem por muitas atualizações. Não deixem também de conferir o tópico sobre OOP aqui mesmo no fórum.
    KERPLUNK 05/04/2015 01:29:04
    #445693
    Estou ressuscitando esse tópico. Me parece que o primeiro exemplo ficou meio complicado pra todo mundo entender.

    Esses dias recebi uma sugestão de criar uma aplicação web para que qualquer um com alguma experiência em programação pudesse entender. O melhor jeito que consigo pensar para isso são vídeo aulas e usar esse tópico para responder perguntas. Então começaram as dúvidas e gostaria das sugestões de vocês:

    - Que tipo de aplicação criar? Obviamente seria algo simplório, não um ERP completo, mas também não uma telinha simples. A questão é o que faríamos?
    - Que banco de dados usar? Percebi pelos tópicos no fórum que não há um consenso em relação à isso e que uma boa parcela utiliza MySQL
    - C# ou VB.NET?
    - Utilizar ou não as melhores práticas e frameworks? Claro que boas práticas seria desde o início, mas a questão de bibliotecas seria algo que poderia ser introduzido devagar(ficou meio pornográfico isso de [Ô]introduzir devagar[Ô])


    Tenho uma sugestão que podemos ir discutindo:
    Uma aplicação Web para gerenciamento de uma pousada, usando MySQL como banco de dados. Criando uma WebAPI em C# e uma interface em HTML puro, sem usar ASP.NET. Mas estou aberto à opiniões. O que vocês acham?
    LAMPIAO 05/04/2015 03:41:09
    #445694
    Olá KERPLUNK, rapaz pelo nível do pessoal quem postam as dúvidas aqui, eu diria que por mais simples que você tente expor um exemplo, vai ser o mesmo que tentar ensinar cantonês para os tupiniquins que aqui visitam, mas vamos lá.

    Bom para iniciar com AngularJs, o camarada vai precisar conhecer um pouco de Java script, além do html, também saber interagir com o css, isso só para fazer a interação com o lado cliente, ou seja, a ui propriamente dita.

    No lado do servidor, recomendo fortemente o C#, esqueça o VB.Net, basta ver que 99% dos exemplos + dicas encontradas na web estão em C#, se você já usa C# já percebeu o quando é poderosa a linguagem, mera coincidência com o Java, meus conhecimentos em C# foram suficientes pra eu desenvolver aplicativos pra Android usando o eclipse, ou seja, se eu só soubesse usar o VB.Net fatalmente teria sido muito difícil fazer algo usando o Java.

    Sobre o banco de dados:

    Bom minha experiência usando mySql foram frustrantes, mas porque eu estava usando Asp. Net Identity + codefirst + entity framework, na época isso em 2012 por ai, nunca funcionou direito pra mim, sempre tinha que fazer alguma gambiarra pra coisa funcionar direito, então eu abandonei, e uso o sql server que nunca me deu problemas, sempre funcionou redondinho. Isso pode ter mudado, na época o conector do mySql tinha de fato alguns problemas, que agora acredito tenha sido resolvido.

    é claro que se for usar o ADO.Net, com os clássicos comando sql, qualquer banco acredito que funcione muito bem, mas você perde nas vantagens de usar o Entity Framework.

    Uma coisa que mata aqui no brasil é quando se fala em aplicação web usando o .Net. O suporte ao próprio framework.net mais recente é uma piada.
    Pra mim isso se resolveu quando comecei a usar a plataforma da Microsoft, o Windows Azure, cara foi a melhor escolha que fiz, integração direta com o Visual Studio entre uma infinidade de possibilidades, por isso que pra mim usado o sql server ficou fácil demais, e o melhor de tudo, sem gambiarras, e sempre usando o framework mais recente.

    Acho que sai do assunto, mas o que eu quis dizer é hoje qualquer mortal hoje tem acesso a várias ferramentas top, é só saber usar e não ter preguiça de pesquisar, saber inglês ajuda muito.

    Voltando ao assunto, eu falei do server side usando C# como linguagem, mas tambem usando o modelo MVC, é o que eu recomendo, a vantagem de usar o web api, é que pode-se consumir os dados usando qualquer interface, web, desktop, Android e etc, é uma ótima sugestão sua.

    Mas é isso, quem quiser se aventurar no mundo web, a dica é pesquisar muito, ler muito e tentar entender os conceitos, os padrões, as tendências, e claro fazer seu laboratório de testes.

    A versão mais recente que ainda esta no modo preview, o Visual Studio 2015 CTP 6, tem uma mudança radical, sobre tudo na forma de criar-mos aplicações web, não estaremos mais limitados a platarforma windows, mas só teram essas vantagems quem for usar o convceito MVC, quem usa ou pretende usar o ASP.NET, não vão se beneficiar dessa nova funcionalidade, então quem for começar, comece do jeito certo, por isso a importância de ler e pesquisar.

    Eu li num post de um blog americano, não lembro agora de quem, mas mencionava que o VB.NET era a última coisa que estavam nos planos do time responsável pela plataforma do Visual Studio, isso mostra de forma clara que eles não estão dando tanta importância pra essa linguagem, eu não fui atrás de mais informações até porque eu não uso essa linguagem, e olha que eu comecei nessa profissão usando o visual basic 6, minha mudança de linguagem foi toda baseda em pesquisas, foi dificil no início?, sim, claro que foi, mas nada é impossível quando se tem um objetivo.

    Então novamente eu digo, que quem quiser entrar mesmo no mundo de aplicações web, fazendo da forma certa, o primeiro passo é mudar de linguagem. quem ainda estiver no VB6, não esperem mais, mudem, ou vão ficar pra trás.

    Novamente fugi do assunto, mas é isso, também estou aberto a opniões e se eu puder ajudar em algo, dentro do meu tempo disponível é só perguntar ok.

    Abraços
    CLEVERTON 05/04/2015 10:16:11
    #445700
    Kerplunk: deixo essa dica para queem queira aprender web passo a passo.

    www.codeacademy.com

    Vale muito a pena ver.
    F001E 06/04/2015 14:09:11
    #445736
    Até então estou usando o DevExpress e comecei a mexer um pouco com o Angular JS e pelo pouco que mexi estou pensando em sair do DevExpress. Claro, para novos projetos.
    F001E 06/04/2015 14:16:24
    #445738
    baixei o exemplo do anexo e é bem bacana. Só tem um problema quando existe nomes de cidades iguais em lugares diferentes. exemplo.
    A cidade do Rogério Ceni é Sinop - MT, mas existe Sinop na Turquia e quando faz uma pesquisa por Sinop já traz de cara Sinop - Turkey.
    Teria que ter um list listando as duas cidade e escolher qual delas. heheh
    Faça seu login para responder