Closed yuriploc closed 2 years ago
Você que é interessante "ensinar" node nesse curso? Ou a idéia é só mostrar que da pra usar fora do browser e as diferenças entre usar no browser e no server?
Ahhh acho interessante ter um modulo sobre "class" com os gets e contructors E tb sobre prototypes
@houstondapaz acredito q seja necessário, mas poderia ser mostrado q da pra fazer javascript na web no servidor, onde você quiser. E seria meio q uma intro pra um curso de node logo em seguida não sei.
@houstondapaz acho que a @larismourullo transmitiu bem a ideia. Ensinar a linguagem e mostrar as duas aplicações mais famosas: browser e servidor. Pode-se até comentar um pouco sobre IoT também, e servir de preâmbulo pras outras trilhas.
@yuriploc porque ao meu ver esse seria um curso mais introdutório de início, então acho legal pegar e mostrar o quanto a ferramente é útil.
Uma boa seria criando projetos também.
a ideia do @IsmaelEzequiel é fenomenal! De preferências, projetos que pode auxiliar alguém. Talvez auxiliar alguma organização. Se não me engano, o freecodecamp no seu canal do Youtube fazia uma live desenvolvendo um projeto sem fins lucrativos. Dessa forma, matamos dois coelhos em apenas uma paulada. Ensina e ajuda quem realmente precisa.
Exato @andersoonweb foi mais ou menos o que pensei. Também acompanho a comunidade do FCC, daí essa seria mais que uma boa pra todos.
Organizar um hackaton pra essa finalidade seria uma ideia bacana mesmo, algo nos moldes do Hackaton do Bem do OneBitCode
Assumindo que será ensinado já com as features do ES6, seria legal adicionar Set
e Map
na ementa. 😄
@bernardocs concordo. O modelo do Eloquent JavaScript atualmente é ES5 ainda, poderíamos incrementar as coisas do ES6 no conteúdo.
Para mim é necessário abordar tanto esses temas que são basicamente o JS até a ES5.1 e abordar os conteúdos como o do livro de ES6 da casa do código. O Sumário do livro é esse:
1 ECMAScript x JavaScript
1.1 Implementações da especificação
1.2 Breve histórico
1.3 Futuro
2 Precisamos falar sobre o Babel
2.1 Outras ferramentas
3 Métodos auxiliares para Array
3.1 A maneira tradicional de iterar um Array
3.2 forEach
3.3 map
3.4 filter
3.5 find
3.6 every
3.7 some
3.8 reduce
4 Iteração com iteradores e iteráveis
4.1 Iteradores
4.2 Iteráveis
4.3 Iteradores e iteráveis na prática
5 Iteração com o laço for...of
5.1 Diferenças entre o for...of e for...in
5.2 break e continue
5.3 Voltando para o Chapéu Seletor
6 As novas estruturas de Map e WeakMap
6.1 Map
6.2 WeakMap
6.3 Administrando uma biblioteca
7 Listas sem repetições com Sets e WeakSets
7.1 Set
7.2 WeakSet
8 Declaração de variáveis com const e let
8.1 Constantes com const
8.2 let é o novo var
8.3 Qual a diferença, no final das contas?
9 Manipulação de textos com template strings
9.1 Template strings simples
9.2 Template strings marcado
10 Arrow functions
10.1 São menos verbosas
10.2 O contexto de execução é diferente
11 Melhorias em objetos literais
11.1 Declaração de propriedades
11.2 Índices de propriedades computadas
11.3 Objetos literais x JSON
12 Parâmetros predefinidos em funções
12.1 Atribuindo valores padrões
12.2 Valores undefined
12.3 Referenciando outros valores padrões
12.4 Referenciando variáveis internas
12.5 Utilizando funções como valores padrões
12.6 Tornando parâmetros obrigatórios
13 Parâmetros infinitos com operador Rest
13.1 Entenda o que arguments faz
13.2 Arguments X Operador Rest
13.3 Particularidades do operador Rest
13.4 Podemos utilizar em conjunto com parâmetros “fixos”
14 Expansão com o operador Spread
14.1 Fazendo compras com o Spread
14.2 Adicionando itens a um Array
14.3 Operador Spread em chamadas de funções
14.4 Operador Rest x Operador Spread
15 Desestruturamento de Arrays e Objetos
15.1 Rotulando propriedades
15.2 Desestruturamento de vários objetos
15.3 Desestruturamento em retorno de chamadas de métodos
15.4 Desestruturamento de Arrays
15.5 Desestruturando Arrays — Parte 2
16 Modelando com classes
16.1 Utilize classes do ES6
16.2 Estendendo classes
16.3 Hoisting em classes
16.4 Declaração por meio de expressões
16.5 Métodos estáticos
16.6 Atributos privados com WeakMap
16.7 Últimas considerações
17 Módulos
17.1 CommonJS x AMD
17.2 Importar e exportar módulos
17.3 Exportando classes
17.4 Rótulos em módulos
17.5 Últimas considerações
18 Funções geradoras
18.1 O que são funções geradoras?
18.2 Iterações com geradores
18.3 Entendendo o Symbol.iterator
18.4 Delegação de funções geradoras
19 Operações assíncronas com promises
19.1 O que são promises?
19.2 Os estados das promises
19.3 O esqueleto de uma promise
19.4 Operações assíncronas
19.5 Aninhamento de then e catch
19.6 Como lidar com erros inesperados
20 Metaprogramação com proxies
20.1 O que é metaprogramação?
20.2 Voltando para os proxies
20.3 Validações de inputs com proxies e traps
20.4 Desativando um proxy
20.5 Últimas considerações1 ECMAScript x JavaScript
1.1 Implementações da especificação
1.2 Breve histórico
1.3 Futuro
2 Precisamos falar sobre o Babel
2.1 Outras ferramentas
3 Métodos auxiliares para Array
3.1 A maneira tradicional de iterar um Array
3.2 forEach
3.3 map
3.4 filter
3.5 find
3.6 every
3.7 some
3.8 reduce
4 Iteração com iteradores e iteráveis
4.1 Iteradores
4.2 Iteráveis
4.3 Iteradores e iteráveis na prática
5 Iteração com o laço for...of
5.1 Diferenças entre o for...of e for...in
5.2 break e continue
5.3 Voltando para o Chapéu Seletor
6 As novas estruturas de Map e WeakMap
6.1 Map
6.2 WeakMap
6.3 Administrando uma biblioteca
7 Listas sem repetições com Sets e WeakSets
7.1 Set
7.2 WeakSet
8 Declaração de variáveis com const e let
8.1 Constantes com const
8.2 let é o novo var
8.3 Qual a diferença, no final das contas?
9 Manipulação de textos com template strings
9.1 Template strings simples
9.2 Template strings marcado
10 Arrow functions
10.1 São menos verbosas
10.2 O contexto de execução é diferente
11 Melhorias em objetos literais
11.1 Declaração de propriedades
11.2 Índices de propriedades computadas
11.3 Objetos literais x JSON
12 Parâmetros predefinidos em funções
12.1 Atribuindo valores padrões
12.2 Valores undefined
12.3 Referenciando outros valores padrões
12.4 Referenciando variáveis internas
12.5 Utilizando funções como valores padrões
12.6 Tornando parâmetros obrigatórios
13 Parâmetros infinitos com operador Rest
13.1 Entenda o que arguments faz
13.2 Arguments X Operador Rest
13.3 Particularidades do operador Rest
13.4 Podemos utilizar em conjunto com parâmetros “fixos”
14 Expansão com o operador Spread
14.1 Fazendo compras com o Spread
14.2 Adicionando itens a um Array
14.3 Operador Spread em chamadas de funções
14.4 Operador Rest x Operador Spread
15 Desestruturamento de Arrays e Objetos
15.1 Rotulando propriedades
15.2 Desestruturamento de vários objetos
15.3 Desestruturamento em retorno de chamadas de métodos
15.4 Desestruturamento de Arrays
15.5 Desestruturando Arrays — Parte 2
16 Modelando com classes
16.1 Utilize classes do ES6
16.2 Estendendo classes
16.3 Hoisting em classes
16.4 Declaração por meio de expressões
16.5 Métodos estáticos
16.6 Atributos privados com WeakMap
16.7 Últimas considerações
17 Módulos
17.1 CommonJS x AMD
17.2 Importar e exportar módulos
17.3 Exportando classes
17.4 Rótulos em módulos
17.5 Últimas considerações
18 Funções geradoras
18.1 O que são funções geradoras?
18.2 Iterações com geradores
18.3 Entendendo o Symbol.iterator
18.4 Delegação de funções geradoras
19 Operações assíncronas com promises
19.1 O que são promises?
19.2 Os estados das promises
19.3 O esqueleto de uma promise
19.4 Operações assíncronas
19.5 Aninhamento de then e catch
19.6 Como lidar com erros inesperados
20 Metaprogramação com proxies
20.1 O que é metaprogramação?
20.2 Voltando para os proxies
20.3 Validações de inputs com proxies e traps
20.4 Desativando um proxy
20.5 Últimas considerações
O legal de abordar o ES5 é que pode ter gente que ainda cai de mexer com o mesmo (e porque tem coisas do ES6 que atualmente ainda não são aceitas pelo browser se não me engano).
Achei a ementa bem completa! ❤️
Vamos fazer um merge, então!
On Aug 7, 2017 16:55, "Bernardo da Costa Santos" notifications@github.com wrote:
Achei a ementa bem completa! ❤️
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/openschoolbr/curso-js/issues/1#issuecomment-320763617, or mute the thread https://github.com/notifications/unsubscribe-auth/ACdL_wjxL5SSWSkSxuZ1KkwaGB92X8Zeks5sV2uugaJpZM4OuneI .
Para mim é necessário abordar tanto esses temas que são basicamente o JS até a ES5.1 e abordar os conteúdos como o do livro de ES6 da casa do código. O Sumário do livro é esse:
1 ECMAScript x JavaScript 1.1 Implementações da especificação 1.2 Breve histórico 1.3 Futuro 2 Precisamos falar sobre o Babel 2.1 Outras ferramentas 3 Métodos auxiliares para Array 3.1 A maneira tradicional de iterar um Array 3.2 forEach 3.3 map 3.4 filter 3.5 find 3.6 every 3.7 some 3.8 reduce 4 Iteração com iteradores e iteráveis 4.1 Iteradores 4.2 Iteráveis 4.3 Iteradores e iteráveis na prática 5 Iteração com o laço for...of 5.1 Diferenças entre o for...of e for...in 5.2 break e continue 5.3 Voltando para o Chapéu Seletor 6 As novas estruturas de Map e WeakMap 6.1 Map 6.2 WeakMap 6.3 Administrando uma biblioteca 7 Listas sem repetições com Sets e WeakSets 7.1 Set 7.2 WeakSet 8 Declaração de variáveis com const e let 8.1 Constantes com const 8.2 let é o novo var 8.3 Qual a diferença, no final das contas? 9 Manipulação de textos com template strings 9.1 Template strings simples 9.2 Template strings marcado 10 Arrow functions 10.1 São menos verbosas 10.2 O contexto de execução é diferente 11 Melhorias em objetos literais 11.1 Declaração de propriedades 11.2 Índices de propriedades computadas 11.3 Objetos literais x JSON 12 Parâmetros predefinidos em funções 12.1 Atribuindo valores padrões 12.2 Valores undefined 12.3 Referenciando outros valores padrões 12.4 Referenciando variáveis internas 12.5 Utilizando funções como valores padrões 12.6 Tornando parâmetros obrigatórios 13 Parâmetros infinitos com operador Rest 13.1 Entenda o que arguments faz 13.2 Arguments X Operador Rest 13.3 Particularidades do operador Rest 13.4 Podemos utilizar em conjunto com parâmetros “fixos” 14 Expansão com o operador Spread 14.1 Fazendo compras com o Spread 14.2 Adicionando itens a um Array 14.3 Operador Spread em chamadas de funções 14.4 Operador Rest x Operador Spread 15 Desestruturamento de Arrays e Objetos 15.1 Rotulando propriedades 15.2 Desestruturamento de vários objetos 15.3 Desestruturamento em retorno de chamadas de métodos 15.4 Desestruturamento de Arrays 15.5 Desestruturando Arrays — Parte 2 16 Modelando com classes 16.1 Utilize classes do ES6 16.2 Estendendo classes 16.3 Hoisting em classes 16.4 Declaração por meio de expressões 16.5 Métodos estáticos 16.6 Atributos privados com WeakMap 16.7 Últimas considerações 17 Módulos 17.1 CommonJS x AMD 17.2 Importar e exportar módulos 17.3 Exportando classes 17.4 Rótulos em módulos 17.5 Últimas considerações 18 Funções geradoras 18.1 O que são funções geradoras? 18.2 Iterações com geradores 18.3 Entendendo o Symbol.iterator 18.4 Delegação de funções geradoras 19 Operações assíncronas com promises 19.1 O que são promises? 19.2 Os estados das promises 19.3 O esqueleto de uma promise 19.4 Operações assíncronas 19.5 Aninhamento de then e catch 19.6 Como lidar com erros inesperados 20 Metaprogramação com proxies 20.1 O que é metaprogramação? 20.2 Voltando para os proxies 20.3 Validações de inputs com proxies e traps 20.4 Desativando um proxy 20.5 Últimas considerações1 ECMAScript x JavaScript 1.1 Implementações da especificação 1.2 Breve histórico 1.3 Futuro 2 Precisamos falar sobre o Babel 2.1 Outras ferramentas 3 Métodos auxiliares para Array 3.1 A maneira tradicional de iterar um Array 3.2 forEach 3.3 map 3.4 filter 3.5 find 3.6 every 3.7 some 3.8 reduce 4 Iteração com iteradores e iteráveis 4.1 Iteradores 4.2 Iteráveis 4.3 Iteradores e iteráveis na prática 5 Iteração com o laço for...of 5.1 Diferenças entre o for...of e for...in 5.2 break e continue 5.3 Voltando para o Chapéu Seletor 6 As novas estruturas de Map e WeakMap 6.1 Map 6.2 WeakMap 6.3 Administrando uma biblioteca 7 Listas sem repetições com Sets e WeakSets 7.1 Set 7.2 WeakSet 8 Declaração de variáveis com const e let 8.1 Constantes com const 8.2 let é o novo var 8.3 Qual a diferença, no final das contas? 9 Manipulação de textos com template strings 9.1 Template strings simples 9.2 Template strings marcado 10 Arrow functions 10.1 São menos verbosas 10.2 O contexto de execução é diferente 11 Melhorias em objetos literais 11.1 Declaração de propriedades 11.2 Índices de propriedades computadas 11.3 Objetos literais x JSON 12 Parâmetros predefinidos em funções 12.1 Atribuindo valores padrões 12.2 Valores undefined 12.3 Referenciando outros valores padrões 12.4 Referenciando variáveis internas 12.5 Utilizando funções como valores padrões 12.6 Tornando parâmetros obrigatórios 13 Parâmetros infinitos com operador Rest 13.1 Entenda o que arguments faz 13.2 Arguments X Operador Rest 13.3 Particularidades do operador Rest 13.4 Podemos utilizar em conjunto com parâmetros “fixos” 14 Expansão com o operador Spread 14.1 Fazendo compras com o Spread 14.2 Adicionando itens a um Array 14.3 Operador Spread em chamadas de funções 14.4 Operador Rest x Operador Spread 15 Desestruturamento de Arrays e Objetos 15.1 Rotulando propriedades 15.2 Desestruturamento de vários objetos 15.3 Desestruturamento em retorno de chamadas de métodos 15.4 Desestruturamento de Arrays 15.5 Desestruturando Arrays — Parte 2 16 Modelando com classes 16.1 Utilize classes do ES6 16.2 Estendendo classes 16.3 Hoisting em classes 16.4 Declaração por meio de expressões 16.5 Métodos estáticos 16.6 Atributos privados com WeakMap 16.7 Últimas considerações 17 Módulos 17.1 CommonJS x AMD 17.2 Importar e exportar módulos 17.3 Exportando classes 17.4 Rótulos em módulos 17.5 Últimas considerações 18 Funções geradoras 18.1 O que são funções geradoras? 18.2 Iterações com geradores 18.3 Entendendo o Symbol.iterator 18.4 Delegação de funções geradoras 19 Operações assíncronas com promises 19.1 O que são promises? 19.2 Os estados das promises 19.3 O esqueleto de uma promise 19.4 Operações assíncronas 19.5 Aninhamento de then e catch 19.6 Como lidar com erros inesperados 20 Metaprogramação com proxies 20.1 O que é metaprogramação? 20.2 Voltando para os proxies 20.3 Validações de inputs com proxies e traps 20.4 Desativando um proxy 20.5 Últimas considerações
Essas informações devem ficar dentro do repositório também.
Seria interessante adicionar exemplos. Existe um repositório da usuária "maschinedreams" que contém esses exemplos feitos em Javascript. Referência: https://github.com/maschinedreams/exercicios-js
Podemos usar a estrutura do Eloquent JavaScript e inserir elementos do You Don't Know JavaScript:
Seria interessante ter mais inputs/opiniões :)