Programação em desenvolvimento web

7 views
Skip to first unread message

Bianca Trancoso

unread,
Jun 15, 2012, 10:18:56 PM6/15/12
to ixdav...@googlegroups.com
Vou aproveitar para o momento aula.

Eu sou bem leiga nessa coisa das internets, navegadores, processamento etc. (tá, tá... sei um tiquinho sobre isso).

Entretanto pra mim é muito misterioso (tipo magia, voodo ou qualquer outra coisa) quando alguém usa programação de linguagens como ruby e python em desenvolvimento web. 

Como isso funciona? 
Como funcionam frameworks como django e ruby and rails?
Como as coisas se encaixam? (pro navegador interpretar, na minha cabeça web dentro dos navegadores funciona: html, css, php, xml e umas coisinhas a mais - comofas pra tornar isso* legível pro navegador?).
* isso = as coisas em linguagem de programação.

(pq se eu perguntar pra qualquer programador isso, não vou entender nada mesmo e ainda fazer aham com a cabeça).


Grata.

Hugo Cristo

unread,
Jun 15, 2012, 10:50:13 PM6/15/12
to ixdav...@googlegroups.com
melhor que dar o peixe é mostrar como se pesca?

browser é 'cliente', servidor de web é 'servidor'.

uma coisa é aquilo que o cliente entende (xml e seus 
derivados, css e javascript). outra coisa é o que o servidor 
entende para gerar xml, css e js e mandar para o cliente.

eu, por exemplo, comecei fazendo sites dinâmicos 
programando em C, lá no final dos anos 90... sim, C. 
e poderia ter sido até assembler ou fortran, não faz a 
menor diferença. googleie sobre isso e vai se divertir.

frameworks são coisas que pessoas não tão preguiçosas 
fazem para os preguiçosos usarem. no bom sentido, claro.

pense no framework como plugin do photoshop. não há
nada em um plugin que o photoshop não faça passo a 
passo, mesmo que seja com mais dificuldade. o plugin
automatiza uma série de etapas facilitando o processo,
mas ele ainda é um mero uso daquilo que o photoshop
sempre conseguiu oferecer ao usuário.

abs

--
Você está recebendo esta mensagem porque se inscreveu no grupo "ixdavitoria" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para ixdav...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para ixdavitoria...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/ixdavitoria?hl=pt-BR.



--
Prof. Hugo Cristo, Msc.
Doutorando em Psicologia - PPGP / UFES
Professor Assistente - Departamento de Desenho Industrial / UFES
Coordenador do Laboratório de Psicologia da Computação - LabPC / UFES
www.hugocristo.com.br | www.labpc.com.br | www.twitter.com/hugocristo

Conheça o projeto Computação para Todos: www.computacaoparatodos.com.br

Felipe Carreiro

unread,
Jun 15, 2012, 11:09:03 PM6/15/12
to ixdav...@googlegroups.com
Oi Bianca.

Virão respostas mais ricas dos especialistas, mas um panorama desse novelo é o seguinte: 
  • client-side:
    • HTML (linguagem de marcação pré-definida e interpretada pelo navegador)
    • XHTML  (linguagem de marcação pré-definida e interpretada pelo navegador)
    • CSS (linguagem de formatação pré-definida e interpretada pelo navegador)
    • JavaScript  (linguagem de programação pré-definida e interpretada pelo navegador)
    • XML  (linguagem de marcação definida pelo desenvolvedor (tags) e interpretada pelo navegador segundo um modelo pré-definido pelo desenvolvedor usando o próprio HTML/CSS | O XML é uma linguagem criada para transportar dados entre sistemas | Usada também para que os computadores conversem entre si | Ex. sitemap.xml > Quando um robo (google) "acessa" seu site e quer saber rapidamente sobre todo o conteúdo sem precisa percorrer link a link)
  • server-side (linguagens mais robustas responsáveis pela criação do site/sistema lá no servidor, onde são criadas as conexões com banco de dados e mantém toda a lógica do sistema sem ficar aparente para o cliente que receberá apenas o resultado já processado em formato HTML/XHTML/XML e visualizará agradavelmente via CSS):
    • PHP
    • ASP.NET
    • Ruby on Rails
    • Perl
    • ASP
    • CGI
    • Python
    • JSP
    • ... o que desejar
  • Há ainda a possibilidade de execução de linguagens via plugins que são inseridos na página via código HTML e estes sim criam um ambiente próprio e rodam linguagens "encapsuladas" ali como é o caso do flash, java, silverlight, etc...

Espero ter ajudado e acertado. ;)


2012/6/15 Bianca Trancoso <biancat...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "ixdavitoria" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para ixdav...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para ixdavitoria...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/ixdavitoria?hl=pt-BR.



--
Felipe Carreiro
@fmcarreiro

Saulo Pratti

unread,
Jun 15, 2012, 11:16:03 PM6/15/12
to ixdav...@googlegroups.com
Bianca,

Diferente do PHP -- que tem suporte nativo do Apache -- as aplicações feitas em Ruby, Python e etc precisam de uma interface entre o servidor web e o interpretador da linguagem.

Lembra de antigamente, quando existiam sites que tinham na URL um pasta chamada /cgi-bin/? Então, eram provavelmente scripts em Perl que usam a interface CGI pra se comunicar com o servidor web. Hoje em dia é usado muito o FastCGI pra fazer essa comunicação.

E como o Hugo falou, os frameworks são basicamente fundações que poupam o programador de centenas de funções úteis no desenvolvimento. 

O Ruby on Rails, por exemplo, além de toda essa base de códigos que serão úteis, ainda especifica uma determinada quantidade de regras e de convenções sobre como o aplicativo deve ser construído e tal.

Rasteiramente, um exemplo simples de conveção por esses frameworks é o padrão MVC -- model-view-controler -- no qual as dos dados e regras de negócio do aplicativo são separados da parte de entrada -- interações feitas pelo usuário -- e de saída -- montagem do html no navegador.

Hugo Cristo

unread,
Jun 16, 2012, 12:26:07 AM6/16/12
to ixdav...@googlegroups.com
Diferente do PHP -- que tem suporte nativo do Apache -- as aplicações feitas em 
Ruby, Python e etc precisam de uma interface entre o servidor web e o interpretador 
da linguagem.

e nem sempre foi assim. o apache também já precisou de um mod_php da vida, 
do mesmo jeito que tem um mod_python. é como se disséssemos ao webserver que 
se o usuário solicitar um arquivo py, rb ou php, a ação deverá ser invocar o interpretador 
correspondente, pegar o resultado daquele processamento e enviar ao usuário. se o 
arquivo for html ou txt, não será necessário chamar nenhum interpretador. 

você consegue ver isso na prática se fuçar o httpd.conf do apache na pasta do seu 
xampp e similares. há uma série de regras sobre o que fazer com vários tipos de arquivos.

talvez a complicação esteja no fato de que algumas linguagens foram feitas para
aplicações web (tipo cold fusion, php e asp) e usam interpretadores para entregar 
suas respostas. outras podem gerar aplicações nativas para o sistema operacional do 
servidor de web e são simplesmente invocadas quando necessário.

quando você coloca um webserver dentro de um arduino, acontece exatamente a 
mesma coisa. a diferença é que o webserver é a própria aplicação, compilada para a arquitetura 
do arduino, que "escuta" requisições em algumas portas (na web normalmente 80) e envia 
respostas para quem pediu segundo regras previamente definidas.


você poderia expandir esse programa para, além de enviar html para o cliente, 
interpretar uma linguagem script qualquer e também enviar respostas.

no iis (windows), você pode usar um programa (exe) como aplicação para gerar 
a saída que o browser vai entender. dá pra fazer isso em delphi, visual basic, 
c++ ou o que você quiser. também há servidores de web específicos para algumas
linguagens, sem precisar habilitar ou instalar algum tipo de interpretador, e que 
já possuem frameworks completos para lidar com sessões, bancos de dados etc.

abs

Bianca Trancoso

unread,
Jun 17, 2012, 12:34:40 PM6/17/12
to ixdav...@googlegroups.com
Eternamente grata a todos.
Reply all
Reply to author
Forward
0 new messages