Mudanças entre as edições de "Trilha Javascript"
(→Geral) |
(→Resumo) |
||
(6 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 45: | Linha 45: | ||
Depois que conceituou sobre modularização e mostrou em um site real dividido em módulos, apresentou uma '''arquitetura modular sandbox''' onde todos os módulos são totalmente independentes utilizando o '''Mediator pattern''', no exemplo, conseguiu resolver um problema grave do javascript que é o gargalo de eventos que trava a página, como a solução é sandbox travava somente ela e os demais continuavam funcionando normalmente. ''(Uma das melhores palestras.)'' | Depois que conceituou sobre modularização e mostrou em um site real dividido em módulos, apresentou uma '''arquitetura modular sandbox''' onde todos os módulos são totalmente independentes utilizando o '''Mediator pattern''', no exemplo, conseguiu resolver um problema grave do javascript que é o gargalo de eventos que trava a página, como a solução é sandbox travava somente ela e os demais continuavam funcionando normalmente. ''(Uma das melhores palestras.)'' | ||
+ | |||
+ | Os benefícios de tentar aplicar os conceitos dessa palestra de modularização seguindo o mediator pattern é pensar na aplicação como vários módulos totalmente isolados e independentes, isso significa que pode ser reaproveitado em outras telas ou até mesmo em outros projetos. E num futuro, ter esforço menores em itens simples do desenvolvimento (paginação, filtros, listagem, etc). | ||
Linha 62: | Linha 64: | ||
− | ==== | + | ==== Firebase - Implementando um Single Page App com firebase ==== |
− | . | + | O palestrante criou na prática um chat em 30 minutos e apresentou os benefícios de utilizar o firebase para apoiar no desenvolvimento. Firebase é uma plataforma para desenvolvimento de soluções baseadas em armazenamento e sincronização de dados em tempo real utilizando apenas código client-side, além de contar com vários recursos para facilitar o dia a dia como: analytics e autenticação. |
− | + | No contexto da MStech seria interessante utilizá-la quando for necessário criar POCs rápidas com menos esforço, porém é necessário entender como a API do firebase funciona para realmente agilizar o desenvolvimento. | |
− | + | ||
− | + | ||
==== Desktop Apps com Electron ==== | ==== Desktop Apps com Electron ==== | ||
− | ... | + | O palestrante apresentou na prática o quão fácil é criar aplicativos desktop com soluções front-end. O Electron cria apps desktop com builds cross platform utilizando somente html, js e css, ou seja, tecnologias front-end. |
+ | |||
+ | Significa que se pensarmos que um projeto precisa atender web e desktop, desde que construa as aplicações tendo essas premissas o esforço do app seria apenas para os requisitos específicos da plataforma. Em resumo, vejo que é uma tecnologia que precisa ser considerada e colocada no leque de desenvolvimento da empresa. | ||
==== JS Parser Generators ==== | ==== JS Parser Generators ==== | ||
− | + | Primeiro apresentou como é construído um compilador de uma linguagem de programação, explicou sobre análise semântica e sintática, sobre a geração de tokens e suas interpretações. | |
==== Desenvolvimento mobile híbrido com Ionic 2 ==== | ==== Desenvolvimento mobile híbrido com Ionic 2 ==== | ||
− | . | + | |
+ | Foi uma palestra de apresentação de novidades, bem superficial. Em resumo, Loiane basicamente explicou com funciona o Ionic, depois as diferenças e novidades do Ionic 2 em relação a sua primeira versão. | ||
==== Quebrando barreiras de velocidade do Javascript no V8 ==== | ==== Quebrando barreiras de velocidade do Javascript no V8 ==== | ||
− | ... | + | |
+ | No início da palestra teve a seguinte pergunta '''"C++ ou Javascript executa mais rápido os primeiros 25 mil números primos?"'''. Obviamente uma linguagem compilada é mais rápido que a interpretada, com resultados aproximados de 1,98s em C++ e 6,78s em Javascript. Explicou que a V8 executa duas compilações, uma '''completa''' a outra '''otimizada''' utilizando técnicas de inline cache para deixar mais rápido. | ||
+ | |||
+ | Depois explicou sobre '''classes ocultas''' que são geradas na compilação, que podem ajudar ou prejudicar a execução dependendo de como o desenvolvedor codifica seu código. Deu as seguintes orientações: | ||
+ | |||
+ | * Construa objetos previsíveis | ||
+ | * Não delete propriedades do seu objeto (força criar outra classe oculta) | ||
+ | * Números até 31 bits | ||
+ | * Arrays do tipo rápido |
Edição atual tal como às 14h52min de 20 de julho de 2016
Índice
- 1 Conteúdo disponibilizado pelos palestrantes
- 2 Resumo
- 2.1 Geral
- 2.2 Scalable Javascript Architechture
- 2.3 Novas estratégias de manipulação do DOM
- 2.4 Faça programação funcional com JavaScript codando menos
- 2.5 Immutable data structures em Javascript
- 2.6 Firebase - Implementando um Single Page App com firebase
- 2.7 Desktop Apps com Electron
- 2.8 JS Parser Generators
- 2.9 Desenvolvimento mobile híbrido com Ionic 2
- 2.10 Quebrando barreiras de velocidade do Javascript no V8
Conteúdo disponibilizado pelos palestrantes
Palestra | Palestrante |
Scalable Javascript Architechture (material não disponível) | Guilherme de Souza |
Novas estratégias de manipulação do DOM (material não disponível) | Eduardo Matos |
Faça programação funcional com JavaScript codando menos | Palestrante: Rogério Chaves Fernandes Junior |
Immutable data structures em Javascript (material não disponível) | Palestrante: Breno Ferreira |
Aplicações off-line first com Ionic e PouchDB | Palestrante: Itacir Ferreira Pompeu |
Firebase - Implementando um Single Page App com firebase | Palestrante: Tiago Gouvêa |
5 libs de teste JavaScript que você deveria conhecer | Palestrante: Stefan Raphael de Araújo Teixeira |
Integrando frameworks de teste em sua aplicação Javascript | Palestrante: João Ronaldo Del-Ducca Cunha / Vinicius Fernandes Dias |
Ferramentas de Code Analysis e Code Fixed para JavaScript | Palestrante: Charles Mendes de Macedo / Erick Wendel Gomes da Silva |
Desktop Apps com Electron | Palestrante: Emerson Thompson |
JS Parser Generators (material não disponível) | Palestrante: Marcelo Camargo |
Desenvolvimento mobile híbrido com Ionic 2 | Palestrante: Loiane Groner |
Quebrando barreiras de velocidade do Javascript no V8 (material não disponível) | Palestrante: William Grasel Martins |
Resumo
Geral
Falaram bastante sobre imutabilidade de dados, paradigma funcional, performance no js, na manipulação de elementos DOM e escalabilidade.
Scalable Javascript Architechture
Depois que conceituou sobre modularização e mostrou em um site real dividido em módulos, apresentou uma arquitetura modular sandbox onde todos os módulos são totalmente independentes utilizando o Mediator pattern, no exemplo, conseguiu resolver um problema grave do javascript que é o gargalo de eventos que trava a página, como a solução é sandbox travava somente ela e os demais continuavam funcionando normalmente. (Uma das melhores palestras.)
Os benefícios de tentar aplicar os conceitos dessa palestra de modularização seguindo o mediator pattern é pensar na aplicação como vários módulos totalmente isolados e independentes, isso significa que pode ser reaproveitado em outras telas ou até mesmo em outros projetos. E num futuro, ter esforço menores em itens simples do desenvolvimento (paginação, filtros, listagem, etc).
Novas estratégias de manipulação do DOM
Apresentou de técnicas básicas a avançadas para manipular DOM e como funciona este processamento por parte do interpretador. Depois mostrou que o React trabalha com o conceito de virtual DOM que significa alterar somente os nós que sofreram influência e não toda a árvore de nós como é feito no Angular e outros frameworks. Porém, no benchmark de custo de renderização o angular não deixou a desejar em relação a outros frameworks.
Faça programação funcional com JavaScript codando menos
Explicou o que é programação funcional e imutabilidade de dados, depois recomendou não utilizar void, this, for, if sem else e não utilizar class que no final é uma função de qualquer forma e sempre tentar manter as funções como puras (passando os mesmos parâmetros tem o mesmo resultado) sem side effects (ex.: uma requisição).
Immutable data structures em Javascript
...
Firebase - Implementando um Single Page App com firebase
O palestrante criou na prática um chat em 30 minutos e apresentou os benefícios de utilizar o firebase para apoiar no desenvolvimento. Firebase é uma plataforma para desenvolvimento de soluções baseadas em armazenamento e sincronização de dados em tempo real utilizando apenas código client-side, além de contar com vários recursos para facilitar o dia a dia como: analytics e autenticação.
No contexto da MStech seria interessante utilizá-la quando for necessário criar POCs rápidas com menos esforço, porém é necessário entender como a API do firebase funciona para realmente agilizar o desenvolvimento.
Desktop Apps com Electron
O palestrante apresentou na prática o quão fácil é criar aplicativos desktop com soluções front-end. O Electron cria apps desktop com builds cross platform utilizando somente html, js e css, ou seja, tecnologias front-end.
Significa que se pensarmos que um projeto precisa atender web e desktop, desde que construa as aplicações tendo essas premissas o esforço do app seria apenas para os requisitos específicos da plataforma. Em resumo, vejo que é uma tecnologia que precisa ser considerada e colocada no leque de desenvolvimento da empresa.
JS Parser Generators
Primeiro apresentou como é construído um compilador de uma linguagem de programação, explicou sobre análise semântica e sintática, sobre a geração de tokens e suas interpretações.
Desenvolvimento mobile híbrido com Ionic 2
Foi uma palestra de apresentação de novidades, bem superficial. Em resumo, Loiane basicamente explicou com funciona o Ionic, depois as diferenças e novidades do Ionic 2 em relação a sua primeira versão.
Quebrando barreiras de velocidade do Javascript no V8
No início da palestra teve a seguinte pergunta "C++ ou Javascript executa mais rápido os primeiros 25 mil números primos?". Obviamente uma linguagem compilada é mais rápido que a interpretada, com resultados aproximados de 1,98s em C++ e 6,78s em Javascript. Explicou que a V8 executa duas compilações, uma completa a outra otimizada utilizando técnicas de inline cache para deixar mais rápido.
Depois explicou sobre classes ocultas que são geradas na compilação, que podem ajudar ou prejudicar a execução dependendo de como o desenvolvedor codifica seu código. Deu as seguintes orientações:
- Construa objetos previsíveis
- Não delete propriedades do seu objeto (força criar outra classe oculta)
- Números até 31 bits
- Arrays do tipo rápido