Categoria: Geral

IDE’s ou não para desenvolver em Python/Django

Sendo uma linguagem fácil de trabalhar e com uma curva de aprendizagem bem curta, não é de forma alguma necessário o uso de qualquer IDE para o desenvolvimento com Python. Particularmente ainda lembro de uma dica da minha professora de HTML/CSS que dizia que a melhor IDE que existe é o bloco de notas, pois não tendo auxílio nenhum fixamos melhor à linguagem. Mas como o título do post fala irei aqui dar algumas dicas de IDE’s para o desenvolvimento em Python/Django.

IDE’s:

  1. Aptana, http://www.aptana.com/, é uma IDE não só para Python/Django com muitas funcionalidades que auxiliam o desenvolvimento.
  2. Eclipse, http://www.eclipse.org/, muito conhecida da galera que trabalha com Java, traz também várias funcionalidades.
  3. NotePad++, http://notepad-plus-plus.org/, bem simples nem podendo na minha maneira de pensar ser considerada uma IDE, mas muitas pessoas utilizam por ser bem leve, apenas para Windows.
  4. SublimeText2, http://www.sublimetext.com/2, minha preferida, pois além de ser desenvolvida em Python é a mais leve de todas e com inúmeros recursos, tendo como característica principal a simplicidade, além de ser Multiplataforma.

Como já disse a minha preferida é a SublimeText2, e caso algum leitor queira conhecer mostrarei aqui alguns plugins dessa IDE.

  1. O Package Control é o plugin inicial, pois ele será nosso gerenciador de plugins no sublimetext, facilitando a instalação/manutenção/remoção dos demais plugins, a instalação é bem simples para isso depois de instalado e aberto o SublimeText2 basta abrir o console e colar o código abaixo e clicar na tecla Enter:
    import urllib2,os; pf=’Package Control.sublime-package’; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),’wb’).write(urllib2.urlopen(‘http://sublime.wbond.net/’+pf.replace(‘ ‘,’%20’)).read()); print ‘Please restart Sublime Text to finish installation’Para instalar os demais plugins iremos trabalhar com o Package Control utilizando as teclas CTRL + ↑ + P e ao abrir a janela digitamos Package será mostrada uma janela como essa abaixo, ao escolhermos a opção Package Control: Install Package na próxima janela digitaremos o nome do plugin que desejamos instalar

    Janela do Package Controle

  2. ZenCode, https://bitbucket.org/sublimator/sublime-2-zencoding/wiki/Home, o objetivo desse plugin é agilizar o desenvolvimento principalmente em HTML, um exemplo que posso mostrar é a criação de uma lista UL com 5 elementos LI, para isso podemos digitar ul>li*5 e teclar TAB o resultado será isso:

    Bloco de código criado pelo ZendCode para uma lista desordenada, UL.

  3. Prefixr, http://wbond.net/sublime_packages/prefixr, esse plugin é muito interessante para quem já trabalha com CSS3. O funcionamento dele é bem simple, estando num bloco de código CSS3 que customiza por exemplo o background gradiente da página basta apertarmos CTRL + ALT + X e o resultado será a criação de comando para que o CSS3 funcione nos principais navegadores do mercado, que atualmente renderizam o CSS3 com prefixos.

    Comando CSS3 para configurar o background da página.

    Resultado do comando CTRL+ALT+x do plugin Prefixr, que configura o comando CSS para os principais browser’s do mercado

  4. GIT, https://github.com/kemayo/sublime-text-2-git, como o nome já diz é um plugin para trabalhar com versionamento
  5. CodeIntel, https://github.com/Kronuz/SublimeCodeIntel, para quem prefere ter o auxílio de um plugin de autocompletar esse plugin traz essa funcionalidade para várias linguagens.

Existem inúmeros outros plugins para o SublimeText2, basta fazer a pesquisa no Package Control.

>>> print u’%s’ % (“Abraços”)

Anúncios

Porque aprender Python e Django?

Não vou tentar convencer ninguém que Python/Django é melhor ou pior que qualquer outra linguagem/framework, vou falar sobre o que me fez aprender essa dupla.

Python, apesar de pouco conhecida no Brasil, já é muito utilizada no exterior, tendo como exemplo o Google que o utiliza em vários de seus produtos como YouTube e Gmail. O Python não é limitada ao ambiente web, podendo-se desenvolver com python para vários ambientes e dispositivos, até mesmo sistemas embarcados podem ser desenvolvidos.

Entre as inúmeras vantagens que vi no Python destaco:

  • Fácil de aprender
  • Reusabilidade do código
  • Orientada a Objeto, inclusive com herança múltipla
  • Verdadeiramente multi-plataforma, pois o mesmo código, sem alteração, roda tanto em Linux/Unix, Windows e MAC
  • Infinidade de bibliotecas disponíveis para as mais variadas tarefas
  • Legibilidade do código
  • Módulo nativo para desenvolvimento orientado a teste, TDD

Já em relação ao Django o que posso dizer é que ele seguiu quase todas as características do Python, tendo entretando uma característica bem interessante que é a geração automática de formulários de manipulação, incluindo a validação, dos dados da sua aplicação/site, o famoso CRUD (Create, Read, Delete, Update)

A necessidade do desenvolvimento de aplicações/site cada vez mais complexas, a garantia de código gerenciável, facilidade de manutenção e agilidade no desenvolvimento são algumas das necessidades do desenvolvedor atual e todas elas são atendidas pela dupla Python/Django. Foram essas características combinada com a equipe reduzida que temos na Prefeitura Municipal de Palmas, que me levou como gerente de projetos e sistemas a adotar o Django como framework para desenvolvimento de nossas aplicações web como também do nosso portal.

>>> print u’%s’ % (“Abraços”)