TDC 2016
São Paulo
Um dos maiores encontros de comunidades e empresas no Brasil

Trilha JavaScript One language to conquer them all

Segundo a Lei de Atwood (co-fundador do Stack Overflow), qualquer aplicação que pode ser escrita em JavaScript, eventualmente será escrita em JavaScript.

JavaScript atualmente é a única linguagem presente no browser, servidor, desktop e mobile.

Vamos entrar a fundo na linguagem mais popular do mundo, que está cada vez ganhando mais espaço, de servidores web a dispositivos embarcados. Venha participar dessa aventura usando uma linguagem dinâmica, prática e divertida.

Palestras

Importante: A grade de palestras está sujeita a alterações sem prévio aviso.
Conteúdo
08:00 às 09:00 Credenciamento e recepção dos participantes

Todas as pessoas inscritas, palestrantes, coordenadores e de imprensa, devem retirar seus crachás e kit do congressista nos balcões de credenciamento localizados na entrada do evento, para obterem acesso às salas e Auditório Principal.

09:00 às 10:00 Abertura do evento no Auditório Principal

Após o credenciamento, convidamos os participantes a comparecerem ao auditório para receberem as boas vindas por parte dos realizadores e patrocinadores.

Neste keynote de abertura, todos serão orientados sobre o funcionamento do evento, destaques e outras novidades.

10:10 às 11:00 Scalable Javascript Architechture
Guilherme de Souza
Nesta talk, abordo técnicas para se escrever aplicações web escaláveis com módulos independentes, reaproveitáveis e facilmente testáveis . Traço um paralelo entre a forma como sistemas complexos são desenhados, comparando-os com sistemas operacionais, que permitem que aplicações que não se conhecem, possam ser usadas em conjunto, mesmo que isso não tenha sido previsto no projeto inicial. **BONUS** No final desta palestra, mostro um exemplo prático onde módulos que não se conhecem, se comunicam entre si e de quebra ainda faço um deles rodar em uma thread separada, quando este ""trava"", o resto da aplicação continua funcionando, bem como a aba no navegador onde esta, está rodando.
Novas estratégias de manipulação do DOM
Eduardo Matos
React, Angular 2, Ember 2... O que esses frameworks têm em comum? Todos estão utilizando novas técnicas de manipulação do DOM da forma mais performática possível. Vamos fazer um overview dos algoritmos usados em cada um desses frameworks e conhecer o que há de novo e mais veloz. O objetivo da palestra é demonstrar como cada um dos frameworks fazem renderização de HTML. Alguns tópicos como: - Templates de HTML - HTML no JS: prós e contras; - Algoritmos de renderização; - Virtual DOM; - Formas de atualização do DOM; - Diff; - Patch; - Que tipo de renderização cada framework mais atual utiliza (React, Angular 2, Ember 2, etc.);
11:10 às 12:00 Faça programação funcional com JavaScript codando menos
Rogério Chaves Fernandes Junior
Acha que tem que aprender mais pra deixar seu código mais funcional? Pelo contrário! Irei mostrar o que NÃO fazer para que seu código fique automaticamente mais funcional. Irei apresentar algumas práticas simples que qualquer desenvolvedor pode trazer (ou melhor, evitar) para seu dia-a-dia para deixar seu código mais funcional, e também mostrarei regras de lint que ajudam nessas regras.
Immutable data structures em Javascript
Breno Ferreira
Boa parte das dores de cabeça dos desenvolvedores tem como origem conseguir coordenar mudanças no estado da aplicação, e conseguir manter os dados consistentes. Se a aplicação possui um fluxo de dados complexo, isso pode se tornar extremamente complicado. Algumas linguagens (Javascript por exemplo), ainda tornam essa tarefa mais difícil quando ela é muito permissiva quanto à alteração do estado interno de objetos sem que isso seja explicitamente permitido. Um dos aspectos mais fortes de linguagens funcionais é a forma de programar pensada em estado imutável, ou seja, se algo muda, cria-se um novo valor, e não altera-se o antigo. Isso tem muitos benefícios: mais confiabilidade na chamada de funções (pois há a certeza de que o estado de um objeto não será alterado); maior facilidade em código concorrente e/ou paralelo (pois não há estado mutável compartilhado), entre outros benefícios. Mas também há alguns trade-offs que devem ser conhecidos e avaliados: performance tem que ser avaliada em alguns casos específicos; trabalhar com dados imutáveis muda muito a forma de pensar no fluxo de dados e a maneira como se programa. Nessa palestra irei mostrar como se trabalha com estruturas de dados imutáveis, os prós e contras e como utilizamos a biblioteca Immutable.JS em um projeto na empresa que trabalho.
12:10 às 13:00 Aplicações off-line first com Ionic e PouchDB
Itacir Ferreira Pompeu
Essa palestra mostra e como e simples criar aplicações Hibridas, com grande suporte a offline usando Ionic e Pouchdb, atualmente o myinfoshare possui essa aplicação na google play e applestore publicadas. Essa palestra, aborda os desafios acerca da criação de um chat com sincronia offline e realtime, usando Couchdb, Ionic e Pouchdb e com baixo custo.
Firebase - Implementando um Single Page App com firebase
Tiago Gouvêa
Fazer um Single Page App usando Firebase é fácil e rápido, além de não depender de um servidor de dados/API. Apenas o Firebase dá conta de todo o projeto. Nesta apresentação faremos uma rápida implementação usando os recursos principais da plataforma. Apresentarei rapidamente o firebase e partir pra prática, implementando um SPA. Desta forma os participantes poderão visualizar a parte essencial da implementação de uma solução completa com firebase.
13:10 às 14:00 Intervalo para Almoço
Uma excelente oportunidade de todas as pessoas no evento interagirem e trocarem ideias, colaboradores, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.
14:10 às 15:00 5 libs de teste JavaScript que você deveria conhecer
Stefan Raphael de Araújo Teixeira
Nesta palestra, serão mostradas 5 libs de teste JavaScript que você deveria conhecer, além dos runners tradicionais (Jasmine/Mocha/QUnit). São elas: Karma, Sinon.js, Supertest, Protractor e VisualReview-protractor. Veremos em que situação usar cada uma delas e por que usá-las, comparando com outras opções disponíveis. O objetivo da palestra é mostrar 5 libs de teste JavaScript que considero importantes e extremamente úteis: - Karma, para testes de unidade de JS front-end - Sinon.js, para mocks/stubs/spies - Supertest, para testes de API - Protractor, para testes de UI/e2e - VisualReview-protractor, plugin do VisualReview para o Protractor, para Visual Regression Testing No final, será disponibilizado um projeto de exemplo no GitHub para os participantes baixarem/forkarem, e, caso a palestra seja de 50 minutos, será possível fazer um hands-on rodando alguns testes e mostrando as libs de forma mais detalhada.
Integrando frameworks de teste em sua aplicação Javascript
João Ronaldo Del-Ducca Cunha / Vinicius Fernandes Dias
Quando desenvolvemos uma aplicação, é importante executarmos testes unitários para garantir o funcionamento dos diferentes módulos da aplicação. Nesta palestra iremos abordar como usar frameworks de teste para testar aplicações com javascript, como por exemplo Cordova e aplicativos NodeJS. Nessa palestra serão apresentados conceitos e técnicas de testes unitários aplicações que utilizam Javascript. Inicialmente serão passados conceitos básicos de teste unitário e sua importância no desenvolvimento de aplicações de modo geral. Depois serão mostradas formas de executar esses testes usando componentes para Javascript como Mocha e Jasmine. Além disso, será mostrado como integrar esses testes no ciclo de DevOps através de Task Runners como o Gulp. Para tanto, serão feitas demonstrações com aplicações Angular e Cordova.
15:10 às 16:00 Ferramentas de Code Analysis e Code Fixed para JavaScript
Charles Mendes de Macedo / Erick Wendel Gomes da Silva
Iremos mostrar algumas ferramentas de Code Analysis e Code Fixed, voltadas para JavaScript. Enfatizando o quanto essas ferramentas podem auxiliar (velocidade e qualidade) no desenvolvimento. Iremos abordar o uso das ferramentas de code analysis, como por exemplo o JSHint e outras, nas IDE's mais utilizadas do mercado (Visual Studio, Sublime, etc).
Desktop Apps com Electron
Emerson Thompson
Criando Aplicações Cross-Platform Desktop com Tecnologias Web(JS/HTML/CSS) usando o Electron. O objetivo da palestra é apresentar uma nova maneira para desenvolver Desktop Apps (Cross-Platform). Para isso usaremos Electron, demonstrando o quanto é fácil e rápido desenvolver com ele usando tecnologias web (HTML/CSS/JS). Na palestra veremos quem é o Electron, quem fez, como funciona, quem está usando(Slack, Atom, Visual Studio Code, WordPress, Ionic Creator...), como criar(live code), e como buildar a versão final(.app, .exe).
16:00 às 16:30 Coffee-break e Networking

Durante o intervalo de Coffee-break, as mesas de alimentação terão disponíveis café, sucos, frutas e biscoitos. Um delicioso intervalo para relaxar, conhecer novas pessoas e estreitar contatos.

Neste tempo, também surge a oportunidade de todas as pessoas no evento interagirem entre sí, participantes das trilhas, empresas patrocinadoras e apoiadoras, palestrantes e coordenadores.

16:40 às 17:30 JS Parser Generators
Marcelo Camargo
Como projetar micro-compiladores e linguagens de domínio específico usando geradores de parsers em JS. Uma introdução a como funciona, por dentro, um compilador, exemplificando com JavaScript. Envolve teoria da computação, construção de compiladores, ferramentas para ajudar a construir linguagens usando JavaScript
Desenvolvimento mobile híbrido com Ionic 2 (palestra backup)
Loiane Groner
Ionic é um framework open source baseado no Apache Cordova (Phonegap) que permite desenvolver apps mobile com código JavaScript/HTML/CSS e que podem ser publicados em lojas de aplicativos como Google Play e Apple Store. Hoje é um dos frameworks para desenvolvimento mobile híbrido mais usados no mercado, tento apps com top ratings inclusive na Apple Store. O Ionic utiliza o Angular em sua arquitetura, e por esse motivo, o Ionic 2 foi reescrito (pois o Angular 2 também é um framework bem diferente da sua primeira versão), e introduziu otimizações na performance, um visual e experiência mais parecido com o nativo, entre outras melhorias. Nessa palestra vamos bater um papo sobre o Ionic e também falar sobre as novas funcionalidades da nova versão.
17:40 às 18:30 Quebrando barreiras de velocidade do Javascript no V8
William Grasel Martins
Vamos ver como quebrar as barreiras de velocidade do seu JavaScript no V8, a incrível engine open source do Google, que é utilizada tanto no Chrome como no Node.js. Entendendo como as coisas funcionam por baixo dos panos, vamos ver que já é possível comparações impensáveis antes, como a velocidade de execução de códigos em Javascript e C++.
18:40 às 19:00 Encerramento e Sorteios

No horário de encerramento, todas as trilhas serão direcionadas de suas salas para o Auditório Principal, mesmo local da abertura.

Após a apresentação de resultados do dia muitos sorteios fecharão o dia.

Data e Local

Terça-feira, 5 de Julho de 2016

10:00 às 18:30 h

Universidade Anhembi Morumbi

Rua Casa do Ator, 275
Vila Olímpia | São Paulo - SP

Informações sobre Data e Local


Público Alvo

Desenvolvedores web, frontend e fullstack.


Investimento

presencial:R$ 200,00

Fazendo sua inscrição (presencial) você terá acesso a esta trilha e também a:
Pavilhão de Stands: Venha conversar com pessoas e conhecer empresas incríveis.
Área de Makers: Este ano teremos mini-palestras e workshops, chegou a hora de colocar a mão na massa e surfar a internet das coisas.
Lado B: Uma sala com conteúdo adicional e trilhas horizontais, estamos preparando muitas novidades.
Trilha Stadium: Você poderá assistir às palestras da trilha Stadium, que tem uma seleção de palestras das trilhas de cada dia do evento.


Patrocinadores