+1

Alternativas para Desenvolvimento Web J2EE, .NET e Django/Python

criado por Leidmar Magnus Festa em 08/03/2010 11:16pm
Ao receber uma requisição, o primeiro a fazer um tratamento é o handler, que traduz estas requisições e as direciona para os middlewares (pequenos códigos que analisam a requisição, estes podem ser criados pelo próprio programador). Ao passar por todos os middlewares, a requisição passa a ter outras informações, como por exemplo qual usuário está autenticado.
Após isso é a vez do URL Dispacher, que verifica o endereço e qual View será chamada. A View é uma função escrita em Python que recebe uma requisição e fornece a resposta para a mesma. As consultas de banco de dados são feitas através da ferramenta ORM, que evita o uso de SQL.

3.2 Foco de mercado do Django
Para entender o foco do Django, precisamos saber qual é sua filosofia: “Django apps é plugável: você pode utilizar uma apps em múltiplos projetos e pode distribuir apps, porque elas não possuem dependências de qualquer instalação ou configuração do Django. Você o utiliza gratuitamente, como software livre” (Django philosophy http://www.djangobook.com/).
Por seguir esta filosofia, o Django não tem uma visão exclusivamente voltada para o mercado, pelo contrário: é utilizado em várias áreas, inclusive na comercial! Ao verificar a Internet, é possível notar que a maioria das aplicações existentes são voltadas para a educação e para entidades sem fins lucrativos.

3.3 Benefícios e desvantagens do Django
Um dos maiores benefícios em utilizar este framework é a aplicação do princípio DRY, já citado anteriormente, que é um dos fatores que motiva os desenvolvedores a utilizar o Django/Python. Esta característica faz com que sistemas possam ser desenvolvidos muito mais rapidamente do que em outras plataformas/frameworks (como .NET , CakePHP ou J2EE). O Django permite a construção de aplicações robustas e seguras, podendo ser utilizado em sistemas de pequeno, médio e grande porte.Outras
características são:
- Geração automática de formulários seguindo o modelo da base de dados
- Geração automática de uma interface para administração para os modelos criados através do ORM.
- O Django possui um sistema de cache que se integra ao memcached ou em outros frameworks de cache.
- Multiplataforma

4 CONCLUSÃO
Atualmente, praticamente todas as plataformas para desenvolvimento web
possibilitam ao desenvolvedor criar boas soluções de segurança, design, interação e funcionalidades úteis. Em sua grande maioria também estão eliminando aos poucos o trabalhoso acesso aos bancos de dados, ou seja, usando ferramentas que dispensam o uso da SQL e a manipulação “crua” dos dados. O fato é que a maioria já está bem suprida de recursos, os quais facilitam as atividades dos desenvolvedores e possibilitam uma manutenção menos onerosa, bem como a escrita de códigos mais claros intelegíveis. Assim sendo, podemos afirmar que a escolha da plataforma vai depender não somente somente do conhecimento dos desenvolvedores, mas também do problema a ser resolvido, dos recursos que o cliente deseja empregar, dos requisitos do sistema, do hardware/software disponibilizado pelo cliente/provedor e muitos outros aspectos. A
plataforma ideal para todos os problemas ainda é uma utopia!

Obviamente existem algumas perguntas básicas que podem lhe dar uma resposta útilo sobre qual plataforma utilizar. Saiba primeiro o que você precisa fazer e depois enquadre em alguma das opções abaixo:
- Escalabilidade e processos de clientes concorrentes: J2EE ou Django
- Rapidez no desenvolvimento para sistemas pequenos e médios: .NET ou
Django
- Sistemas grandes que exigem alta padronização devido ao elevado número de desenvolvedores: J2EE
- Sistemas grandes em geral: J2EE ou Django
- Sistemas pequenos ou médios que exijam um tempo de acesso menor: .NET
- Sistemas comerciais pequenos ou médios: .NET


Enfim, sabemos que nenhuma empresa vai aceitar (e nem deve fazê-lo) mudar de uma hora para outra. O .NET representa um tremendo esforço da Microsoft para juntar de uma maneira coesa em um só produto uma plataforma server-side para seus clientes. J2EE é um esforço conjunto dos desenvolvedores da comunidade Java, sendo que hoje já se equipara e até supera o .NET em muitos aspectos. Django é a aplicação de princípios da comunidade de desenvolvedores que possibilita o desenvolvimento rápido e preciso de sistemas. A pergunta correta na maioria dos casos não é “qual plataforma devo”. Afinal de contas, quem conseguiria convencer uma organização a migrar de uma plataforma para outra? Quem conseguiria encontrar argumentos coesos e poderosos o
suficiente para fazer isso? Por estas razões é que todo o contexto precisa ser analisado e se os sistemas de sua empresa já estão baseados em Java, isso significa que .NET não é a sua melhor opção, e sim J2EE! O mesmo vale para qualquer outra plataforma.

Referências Bibliográficas

PEREIRA, Adriano ; COGO, Vinícius Vielmo; CHARÃO, Andrea Schwertner - Frameworks para Desenvolvimento Rápido de Aplicações Web: um Estudo de Caso com CakePHP e Django – UFSM 2005

MICAI, Joice Cristina e LOURENÇO, Lidiane Silva - Tecnologias de desenvolvimento para web: estudos de j2EE e .NET - Centro Universitário Claretiano 2005

VAWTER, Chad e ROMAN, Ed - J2EE vs. Microsoft.NET: A comparison of building XMLbased web services – The Middleware Company

SANTOS, Luis Filipe Almeida ; VELOSO, Ricardo Jorge Marques - Plataforma J2EE “Write Once, Run Anywhere” - 2001

[Internet]:
http://portal.acm.org/citation.cfm?id=SERIES11715.1468059

http://pt.wikipedia.org/wiki/Django_(framework_web)

http://www.aprendendodjango.com/entendendo-como-o-django-trabalha/

http://archive.pythonpapers.org/Volume2/Volume2Issue2

Comentários:

Mostrando 1 - 10 de 10 comentários
Wendson disse:
Infelizmente eu tenho que concordar com quase tudo que o Marcos falou. Como ele disse Rails e Django são para poucos (entusiastas) que podem se dar ao luxo de desenvolver em uma linguagem com poucos profissionais no mercado. É mais dificil e relativamente mais caro encontrar um programador Rails e Djang. Se houvessem mais projetos famosos desenvolvidos nessas liguangens acredito que cenário seria outro.

IG e google app usam o Django + quem mais sabe disso além dos programadores? + todos conhecem algum grande projeto em java, .net ou php.
07/07/2011 6:40pm (~13 anos atrás)

A linguagem não importa, o que importa se você sabe programar bem na linguagem. Eu trabalho com PHP e Perl, as duas atendem minhas necessidades, eu não fui por opinião de ninguém quando escolhi essas duas e sim porque gostei de programar com elas, tenho livros de várias linguagens, o livro de Python eu nem cheguei a ler. Esse negocio de profetizar linguagem é furada meu. E também tem pessoas que nunca sabem o que quer, mas eu vou dar um conselho, ficar pulando de galho em galho não vai aprender nem uma e nem outra, então escolha sua linguagem e bola pra frente.

Falou.
30/06/2011 7:39pm (~13 anos atrás)

Marcos Regis disse:
Opa. olá a todos.
Só agora vi os comentários e percebo que mexi num vespeiro com minhas palavras.
Primeiro todos que me citaram devem entender que em nenhum momento disse que Django ou RoR são ruins. Na verdade eu sou um fã de RoR pelo padrão que ele usa e que é largamente copiado. Afinal o que é bom nós devemos aproveitar.
O que quiz deixar claro é o seguinte. O uso de Django ou de Ruby on Rails, Python, LISP é restrita a entusiastas que sabem o poder que elas lhe oferecem. Não são linguagens de mercado como o PHP, .Net ou JEE. A quantidade de vagas de trabalho (e consequentemente projetos comerciais que a utilizam) para estas linguagens é muito menor do que a quantidade de programadores disponíveis mesmo estes últimos serem apenas uma pequena porção do universo de desenvolvedores WEB. Já as que citei posteriormente possuem tantas vagas quanto programadores a ponto de que eu não conheça nenhum programador PHP de nível Pleno/Senior desempregado aqui em São Paulo.
Ninguém vai implantar um sistema cuja mão-de-obra seja de entusiastas.

Isso não acontece só com as liguagens. O mesmo se dá com BDs por exemplo. Por que o PostgreSQL quase não é mais usado (proporcionalmente falando) e MySQL praticamente domina os Webservers?
Vocês podem me mostrar meia duzia de grandes sistemas feitos nestas plataformas e eu lhes darei dez vezes mais de grandes sistemas feitos em PHP.
Acompanho o desenvolvimento WEB desde o início e já vi este filme antes por isso continuo com minha opinião que tanto Django quanto Ruby on Rails não vão deslanchar e se tornarem tão populares quanto PHP (nem vale a pena mencionar .Net e JEE que possuem gigantes por trás), mas pode ser que eu me engane, pois não sou dono da verdade.
Para aqueles que nada têm a ver com isto e estão procurando informações sobre o que estudar/aprender apra entrar no mercado de trabalho sugiro como sempre JEE, .Net ou PHP por que quem trabalha quer dinheiro.
01/02/2011 7:16pm (~14 anos atrás)

Marcos Regis disse:
Opa. olá a todos.
Só agora vi os comentários e percebo que mexi num vespeiro com minhas palavras.
Primeiro todos que me citaram devem entender que em nenhum momento disse que Django ou RoR são ruins. Na verdade eu sou um fã de RoR pelo padrão que ele usa e que é largamente copiado. Afinal o que é bom nós devemos aproveitar.
O que quiz deixar claro é o seguinte. O uso de Django ou de Ruby on Rails, Python, LISP é restrita a entusiastas que sabem o poder que elas lhe oferecem. Não são linguagens de mercado como o PHP, .Net ou JEE. A quantidade de vagas de trabalho (e consequentemente projetos comerciais que a utilizam) para estas linguagens é muito menor do que a quantidade de programadores disponíveis mesmo estes últimos serem apenas uma pequena porção do universo de desenvolvedores WEB. Já as que citei posteriormente possuem tantas vagas quanto programadores a ponto de que eu não conheça nenhum programador PHP de nível Pleno/Senior desempregado aqui em São Paulo.
Ninguém vai implantar um sistema cuja mão-de-obra seja de entusiastas.

Isso não acontece só com as liguagens. O mesmo se dá com BDs por exemplo. Por que o PostgreSQL quase não é mais usado (proporcionalmente falando) e MySQL praticamente domina os Webservers?
Vocês podem me mostrar meia duzia de grandes sistemas feitos nestas plataformas e eu lhes darei dez vezes mais de grandes sistemas feitos em PHP.
Acompanho o desenvolvimento WEB desde o início e já vi este filme antes por isso continuo com minha opinião que tanto Django quanto Ruby on Rails não vão deslanchar e se tornarem tão populares quanto PHP (nem vale a pena mencionar .Net e JEE que possuem gigantes por trás), mas pode ser que eu me engane, pois não sou dono da verdade.
Para aqueles que nada têm a ver com isto e estão procurando informações sobre o que estudar/aprender apra entrar no mercado de trabalho sugiro como sempre JEE, .Net ou PHP por que quem trabalha quer dinheiro.
01/02/2011 7:16pm (~14 anos atrás)

Marcos Regis disse:
Opa. olá a todos.
Só agora vi os comentários e percebo que mexi num vespeiro com minhas palavras.
Primeiro todos que me citaram devem entender que em nenhum momento disse que Django ou RoR são ruins. Na verdade eu sou um fã de RoR pelo padrão que ele usa e que é largamente copiado. Afinal o que é bom nós devemos aproveitar.
O que quiz deixar claro é o seguinte. O uso de Django ou de Ruby on Rails, Python, LISP é restrita a entusiastas que sabem o poder que elas lhe oferecem. Não são linguagens de mercado como o PHP, .Net ou JEE. A quantidade de vagas de trabalho (e consequentemente projetos comerciais que a utilizam) para estas linguagens é muito menor do que a quantidade de programadores disponíveis mesmo estes últimos serem apenas uma pequena porção do universo de desenvolvedores WEB. Já as que citei posteriormente possuem tantas vagas quanto programadores a ponto de que eu não conheça nenhum programador PHP de nível Pleno/Senior desempregado aqui em São Paulo.
Ninguém vai implantar um sistema cuja mão-de-obra seja de entusiastas.

Isso não acontece só com as liguagens. O mesmo se dá com BDs por exemplo. Por que o PostgreSQL quase não é mais usado (proporcionalmente falando) e MySQL praticamente domina os Webservers?
Vocês podem me mostrar meia duzia de grandes sistemas feitos nestas plataformas e eu lhes darei dez vezes mais de grandes sistemas feitos em PHP.
Acompanho o desenvolvimento WEB desde o início e já vi este filme antes por isso continuo com minha opinião que tanto Django quanto Ruby on Rails não vão deslanchar e se tornarem tão populares quanto PHP (nem vale a pena mencionar .Net e JEE que possuem gigantes por trás), mas pode ser que eu me engane, pois não sou dono da verdade.
Para aqueles que nada têm a ver com isto e estão procurando informações sobre o que estudar/aprender apra entrar no mercado de trabalho sugiro como sempre JEE, .Net ou PHP por que quem trabalha quer dinheiro.
01/02/2011 7:16pm (~14 anos atrás)

Achei o artigo muito acadêmico. De qualquer forma, informação nunca é demais.

@Marcos Regis, acho que você precisa se informar um pouco mais sobre as linguagens de programação atuais e os projetos. Embora o PHP seja a linguagem escolhida por nós que comentamos aqui no site, temos que reconhecer outras linguagens sempre, mesmo que não sejamos programadores nelas. O mercado é volátil e o que PHP é hoje, pode não ser amanhã.

Primeiro, RoR não é linguagem, daí o nível de desinformação que você tem. Rails é framework, Ruby é a linguagem. A linguagem é que está em plena ascenção a algum tempo. Os melhores projetos do mundo ágil hoje são os projetos em Ruby. Pesquise por TDD/BDD e você vai encontrar nomes como RSpec, Cucumber. O melhor script para deploy de aplicações remotas hoje é em Ruby, o Capistrano e seu cliente web, o Webistrano.

Vide Python, que está presente em grandes projetos, inclusive sendo largamente utilizado em projetos do Google e, mais recentemente, no Brasil, na Globo.com.

Assim como PHP, cada linguagem tem seu nicho e suas características. Pior ou melhor é uma questão de escolha do programador e projeto.
07/11/2010 1:26pm (~14 anos atrás)

* Caro Marcos, o texto não foi escrito com a intenção de "ofender" ou "menosprezar", pelo contrário: através de uma pesquisa bibliográfica tentar mostrar que, dependendo do caso, uma plataforma pode ter mais vantagens do que outra. Não estou dizendo que o seu .Net é menos ou mais que as outras plataformas.

*Quanto a nomenclatura (J2EE,JEE etc) ok, mas acredito que isso trata-se de gosto. Eu e alguns colegas falávamos JEE mas tivemos aula com o professor Alexandre Denes Santos que trabalha com a plataforma desde os primórdios e ele mesmo muitas vezes utiliza J2EE... gosto.

*Com relação ao que vc mencionou sobre Rails e Django: bem somente porque vc não ouve mais falar de alguma linguagem não significa que ela evaporou, morreu ou que não é mais utilizada. Você não ouve mais falar de COBOL e Natural, entretanto os sistemas bancários utilizam isso em larga escala (somente a camada de "maquiagem" do sistema é JEE, mas as consultas ao BD etc são feitas em COBOL). O mesmo vale para Django/Rails, tenho vários colegas que trabalham com software livre e utilizam isso em sw educativos e projetos para a comunidade.

*Concordo que o texto não é completo, assim como qualquer trabalho da área, porém temos pontos de vista diferentes e com certeza aquilo que você considera relevante não o será para outras pessoas. A mesma regra se aplica para as coisas que eu penso serem relevantes (talvez elas não sejam para outras pessoas).

Att
08/09/2010 10:44pm (~14 anos atrás)

André disse:
Comentando a citação: "Django foi apenas uma promessa..."

Informação é tudo. Atualize-se antes de emitir esse tipo de comentário. Django hoje é utilizado em larga escala pela Globo.com e começa a ser utilizado pelo IG. Citando apenas algumas empresas com marca forte no Brasil. Google App Engine foi baseado no Django.
06/09/2010 10:34am (~14 anos atrás)

Filipe Mtro disse:
Marcos, realmente também acho, mas eu já vi muitas vagas exigindo conhecimento no Ruby on Rails, mas realmente, estão meio absoletos!
15/06/2010 5:01am (~14 anos atrás)

Marcos Regis disse:
O artigo é bom e parece ter sido escrito como trabalho de faculdade de uns 6 anos atrás, porém algumas considerações precisam ser levadas.
Não se usa mais o termo J2EE e sim JEE. Se quer se informar sobre as ultimas novidades do assunto não use o termo J2EE em suas gugadas.
Django foi apenas uma promessa, assim como o Ruby on Rails. Nunca deslancharam. Você que está lendo já ouviu falar em algum sistema grande feito em Rails ou Django? Quantas vagas de trabalho você já viu para estas tecnologias?
.Net no texto está muito menosprezado. A plataforma .Net está em pé de igualdade não só com JEE mas com toda a gama de padrões de desenvolvimento Java como JME e EJB e corre para se tornar a plataforma mais utilizada para desenvolvimento tanto WEB quanto desktop.

Uma coisa que não se deve fazer é comparar PHP com .NET e Java sem levar em conta o contexto a qual ele está sendo aplicado. Isso porque existem diferenças muito grandes em termos de capacidade da arquitetura. .NET e JAVA podem fazer tudo o que PHP faz (ainda que com menor desempenho) mas PHP não pode fazer tudo o que este fazem.
03/06/2010 12:34am (~14 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)