Oficina de Python Web
Índice
Sobre a oficina
Oficina de Python web irá ocorrer as Quartas feiras com possibilidades segundo o planejamento. A oficina tem o objetivo de divulgar o conhecimento da linguagem Python e de frameworks web baseados na linguagem. Não há pré-requisitos de conhecimentos na linguagem, se aconselha que tenha conhecimento em alguma outra linguagem de programação (qualquer uma).
Planejamento
Janeiro
No mês de Janeiro (inicio da oficina) vamos ter 3 encontros (11, 18 e 25) sobre a linguagem python, demonstrar caracteristicas da linguagem e passar exercícios do HackerRank (sugestões de sites são bem vindos). Pode ser que seja um pouco repetitivo mas o objetivo é que todos tenham noções da linguagem antes de começarmos com frameworks.
Fevereiro+
Depois de janeiro, onde passar a fase de conhecimento básico da linguagem, vamos fazer projetos com os frameworks web. A idéia é programar atividades para os participantes desenvolverem em casa e ir tirando duvidas pela web, inclusive agendando hangout para discutir os conquistas e dificuldades com a atividade. Os encontros pessoalmente no LHC vão ficar mais espaçados, o objetivo é proporcionar uma opção de acompanhar a distância as atividades e interagir enquanto os projetos vão sendo montados atravez de algum grupo na internet (irc, hangout, etc). O encontro no LHC continua acontecendo cada 15 dias (ou mais), para atualizar novas atividades. Quem na hora não tiver idéias da atividade que quer fazer com seu webserver, não se preocupe que podemos pensar em atividades, ideias junto com o grupo.
Atividades
IoT e o Python
Grande parte do que se faz ou fala de IoT se conecta dispositivos a serviços na web, então uma das metas da oficina é ensinar a montar API web a ser consumida por outras plataformas (Android, ESP8266, Arduino, etc). Fazendo a interface baseado na arquitetura Rest e na notação Json. Podemos estudar a possibilidade de usar o MQTT (Mosquitto) também.
Linguagem Python
Criada por Guido Von Hossum, uma linguagem bem versátil, te permite programar em forma de script, imperativa, orientada a objetos e funcional. A linguagem tem uma filosofia própria (vide Zen of python), a idéia de "Gaste seu tempo resolvendo seu problema e não com a sintaxe de sua linguagem". Vamos dar umas pinceladas nas características da linguagem: formato, comandos de controle comuns como for, while, if, etc e claro, syntax sugar.
Frameworks a serem estudados
Existem diferentes necessidades quando se procura ferramentas de desenvolvimento, então vamos adotar 2 frameworks muito utilizados pela comunidade:
Django
Framework bem completo, com diversos plugins disponíveis, ORM integrado desde o banco até a camada visual. Neste framework vamos fazer a opção de usar o recurso de formulários "Django Admin", que facilita para cadastros simples de entidades. Este será adotado para escrever as APIs web, baseado no plugin "Django Rest Framework".
Flask
Um framework bem simplista e altamente customizado, não possui ORM integrado, scafolding ou geradores. Aqui se faz o que quiser como quiser, pegue o que precisar. O aprofundamento deste framework vai depender do grupo da oficina.
Diario
Relato dos encontros da oficina
Dia 1 (11/01/16)
Hoje falamos sobre esta seção no livro, recomendo darem uma olhada para acompanhar: http://www.diveintopython3.net/your-first-python-program.html
Apresentação do primeiro dia: http://www.slideshare.net/amesias/python-3-71119418