Perfil oficial da 💅 Rinha de Frontend 💅 Evento criado pela comunidade para que devs possam evoluir suas habilidades. Contato & Parceria: rinhafront
@gmail
.com
[PERFIL DESATIVADO]
Agradecemos a todos e todas que fizeram parte desse divertido evento online. Agradecemos especialmente a pelo apoio. Parabenizamos as pessoas vencedoras e aproveitamos para deixar aqui nosso anseio: que venham outras rinhas. Abraços!
✨ SAIU A RINHA DE FRONT END ✨
Desafio: Construa uma JSON tree-viewer que rode inteiramente client side e carregue o maior JSON que vc conseguir, dentre os disponibilizados por nós. A SPEC completa do desafio vc acessa no link abaixo. Detalhes na thread
Sabe quem vem aí? 🐓 RINHA DE FRONTEND! 💅
Estamos fechando parcerias para que possamos entregar prêmios para os vencedores
No dia 10 vamos divulgar o desafio da Rinha e abrir oficialmente a temporada de caça a frontenders
Siga esse perfil pra acompanhar os detalhes ;)
É amanhã!!! Amanhã estará oficialmente aberta a RINHA DE FRONTEND.
Divulgaremos após o almoço a especificação com o desafio da Rinha, e a inscrição (tudo super simples, mas divertido). Preparem seus teclados e pincéis de pintar botão
Por enquanto, nosso vídeo de abertura:
Olá Olá
A Rinha tem tomado uma proporção muito bacana na comunidade Front End. Tivemos uma recepção majoritariamente positiva. Gostaríamos de agradecer, vcs são massa! Porém tivemos tb algumas críticas, e nessa thread daremos retorno sobre 5 delas:
Saiu!!! Eis os vencedores da ⚡️ Rinha de Frontend ⚡️ e as menções honrosas. Detalhes na thread.
1. Jônatas Araújo (sem twitter)
2. deyvis0n (pessoa misteriosa sem twitter)
3. Eduardo (
@eu_sou_o_duardo
)
4. Helio Kroger (sem twitter)
5. Vinicius Fonseca (
@distanteagle16
)
Atenção: A rinha de frontend não deve ser levada como parâmetro de competência pra vc. É um desafio que foge aos padrões convencionais de mercado, e com certeza tá fazendo todo mundo aprender (alguns mais, outros menos). Se vc tiver dificuldade, tá safe, a rinha é feita pra isso!
Pessoal, está oficialmente encerrada a rinha de front end. Parabéns pra todos e todas que participaram!!!
Um imenso agradecimento a pelo apoio e pela imensa força em todo esse processo.
Vamos analisar as submissões e compartilhar o vencedores em breve!
Essa thread cita todas as pessoas que serão analisadas para a final da rinha. Desse montante selecionaremos os 5 melhores projetos. Se vc foi citado nessa thread, parabens, vc está nas "quartas de finais".
gostaríamos de creditar aqui o pai de todas as rinhas:
@zanfranceschi
que fez acontecer a primeira Rinha (de Backend), dando inicio a essa sequencia de desafios que construiu uma comunidade muito legal e uma prática muito bacana através das Rinhas. tmj zan ^^
entro nas notificações desse perfil e é só barulho de grito, criança chorando, pneu cantando, gente fugindo, chrome travando...
alguém já conseguiu exibir um json inteiro que não seja o small, seja qual for a tecnica de navegação?
alguns numeros da rinha
tivemos ~200 submissões até agora
34 delas marcaram que carregam o giant.json
basicamente 17% dos inscritos na rinha estão carregando o maior JSON de maneira funcional
todo mundo que comenta diz que há alta dificuldade em otimizar a aplicação
olha, se foi só o dropdown, chuto que seja um "details". mas se essa tela inteira é puro html/css e possui um file load client-only como especificado
explica pra gente essa bruxaria pf :D
Status:
Estamos corrigindo os projetos da Rinha. Como são poucas pessoas nessa task (2 rs), nós vamos levar um tempinho. Queremos ter os resultados no dia 20, está bem? Valeu pessoal, até lá :D Estamos considerando uma live pós-anuncio dos/das winners.
2. o desafio não é de frontend
é. o desafio é muito de frontend. nele procuramos fugir desse esteriótipo de layout/pinta-botão. um dos maiores desafios que bons frontenders passam é o multi-environment e a escassez de recurso de processamento, dificuldade de acesso, segurança..
Antes de tudo: A rinha é uma brincadeira gratuita. Entretanto, os primeiros 5 lugares receberão prêmios simbólicos. Para detalhes sobre o desafio e implementação, por favor leia a especificação no link, basta clicar em "participe", clonar o repô inicial e começar a codar.
Alguns comentários a respeito da Rinha...
- Correctness e a11y foram os fatores que mais decrementaram notas. Boa parte dos projetos falhava em alguma ação inesperada, e/ou tinha ZERO accessibilidade
+
Esse tweet é pra falar sobre um parceiraço nosso: A CODANTE :D
A Codante foi responsável por construir toda a estrutura da Rinha (em tempo recorde). Eles são brabos. Deixa a gente apresentar a plataforma deles pra vc, que é nacional e open source! Abre a thread pra conhecer 👇
Hoje é o penultimo dia da Rinha de Frontend. De todas as submissões, 10% estão entre os projetos que cumprem o maior requisito de carga. Boa sorte pra todo mundo!
Curiosidade: de todos os projetos enviados para a rinha, ~10% cumpriram o requisito inicial para chegar na final: Carregar - seguindo o layout e de maneira funcional - o giant.json, maior json proposto para o desafio.
5. não sei nem por onde começar, não vou fazer
deixa de ser mole! há toda uma comunidade engajada nesse desafio, super disposta a ajudar. há diversos artigos, posts, videos surgindo sobre diversas tecnicas. há conteudo para diferentes níveis. comece assim que puder e como puder!
3h da manhã e recebo chega uma mensagem no whats rs. 🏆 Temos finalmente o ranking com os 5 ganhadores da Rinha de Front 🏆 e o motivo de terem ganho. Um deles inclusive implementa wasm na solução (será o primeiro? será que não? mistérios). Mais detalhes com o raiar do dia ;D
4. é muito simples de fazer, não vou nem perder tempo
hum... rs... esse desafio engana, viu. participantes podem falar sobre isso com certeza. se vc está pensando assim, tente fazer nem que for o comecinho, sem layout sem nada, só mostrar metade do penultimo maior arquivo rsrs
estamos há 10 dias do final da rinha. toda vez que abrimos as notificações desse perfil é:
alguns poucos aliviados que terminaram, de resto é choro, tiro, porra e bomba... bem como deveria ser :D
1. as outras rinhas foram mais simples
questionaram o fato de termos um sistema, integração com github, forms, profiles, etc. isso acontece pq de cara tivemos o apoio da , que são muito bons em subir essas estruturas muito rápido :) brigado codante!
esse desafio trás o core dos problemas de front em sistemas complexos. claro que vc não verá coisas assim fazendo landings, sites estáticos ou sistemas que são cruds gourmetizados (nada contra, paga nossas contas)...
Resumidamente é criar o seu JSON tree-viewer (client-only) seguindo o layout (que é simples de tudo), e fazer ele carregar o JSON mais parrudo possível da forma mais fluida possível utilizando somente o browser.
preferimos assim para manter a simplicidade de ambos os lados, agilizar nos testes e analise dos participantes, e para manter o debate mais focado em uma vertente (o que tem um lado bom e ruim). no mais: seria legal alguem organizar uma rinha mobile.
mas se vc entrar no mundo dos sistemas modernos que entregam valor com otimização e inovação (netflix, maps, figma, etc), vc chegará em problemas que verá aqui: otimização de recursos, "low-level" frontend e preocupações pra além do seu layout
3. não pode codar mobile nativo
isso foi uma decisão estratégica. mobile liberaria recursos nativos e uma infinidade de memória que deveríamos depois converter em outra infinidade de ambientes de desenvolvimento e emuladores. ou era limitar ou não liberar, preferimos não liberar
Tivemos um número muito pequeno de mulheres participantes da Rinha. Os motivos podem ser muitos, seria interessante as próprias mulheres tomarem parte nisso.
Se vc é mulher e participou da rinha, deixe seu nome/user abaixo pra te darmos o RT de parabéns, representou demais!
Queremos tbm agradecer a Codante por estar apoiando o evento, e por terem sido parceiraços na construção dessa brincadeira. Não deixem de conferir essa plataforma de projetos que é made in brazil, open source, e sensacional!
No desafio disponibilizamos o layout no figma e arquivos de teste dos mais variados tamanhos e números de nós. Sugerimos muito que vc comece criando uma solução que carregue os menores antes de partir parar os gigantes :D
Sem olhar na google, sem testar, respondendo da maneira mais rápida: O catch abaixo vai pegar o erro?
try {
setTimeout(() => {
throw new Error('Throw');
}, 1000);
} catch(error) {
console.error('Catch');
} finally {
console.log('Done');
}
Sim, vc pode utilizar a stack que vc quiser (desde que client-only). Essas e mais informações como: criterio de aceite, criterio de avaliação e outras cositas mais vc tbm encontra na SPEC nesse link que deixamos aqui.
- Ronnie Brito (Sem twitter)
- Toshi Kurauchi (
@toshikurauchi
)
Esses projetos citados com "-" foram muito interessantes seja do aspecto de construção ou usabilidade.
Quais pessoas vocês gostariam de ver dando um workshop sobre algum tema de frontend?
Na plataforma do Codante tem uma parte com workshops de front-end ó: .
Eles estão buscando especialistas para gravar esses workshops. Se tiver sugestões de tema manda tb!
- Boa parte dos projetos não implementou estruturas de decisão para entender se um arquivo é pequeno o bastante pra ser mostrado inteiro, ou grande o bastante pra ser quebrado/virtualizado. A grande maioria foi 8/80: ou virtualiza tudo, ou tenta mostrar o máximo possível.
- Para performance o que mais pegou foi virtualização: após muito scroll a perfomance vai caindo exponencialmente devido ao acumulo de Nodes do DOM, dai a necessidade de virtualizar ou fazer algum tipo de GC de Nodes. Boa parte dos projetos perderam performance por isso.
- Tab navigation foi disparada a maior pedra no sapato e curiosamente algo extremamente simples de se resolver. A gigantesca maioria dos projetos não era navegável via Tab.
- A ergonomia do projeto tb contou bastante, ex: como navegar do começo ao final de um JSON gigante e voltar? quanto tempo leva? como fica a UX? Em alguns projetos, por mais que o giant.json carregasse bem, isso era quase impossível, por ex.
- Tirando o file size, Vanilla JS não demonstrou tanta diferença de performance e usabilidade em comparação a projetos feitos com frameworks (com exceção dos que implementaram Wasm)
Comecei a fazer a
@rinhafront
, decidi fazer com JS vanilla msm, vamos ver no que dá.
Considerações até o momento:
- Vou precisar de recursão
- [object Object]
o comecinho foi, agora vem a parte casca grossa de fazer funcionar exibindo as keys: values todos
A rinha se decidiu por pequenos detalhes, e demos o primeiro lugar par ao projeto mais completo como um todo, que foi o que obteve notas altas em basicamente todos os requisitos e se destacou de maneira comparativa. Mas Da lista de todos acima, as diferenças são pequenas.
O Codante foi criado esse ano e ainda é uma plataforma nova. Atualmente todos os conteúdos estão disponíveis de forma gratuita no nosso site e no YouTube. Nossa ideia pro futuro é continuar trazendo conteúdos gratuitos e ter um plano "PRO" com acesso a conteúdos mais exclusivos.
O é uma plataforma open-source que surgiu com a vontade de fugir da ideia de que você precisa pagar um curso caro para aprender ou evoluir na tecnologia.
Quer aprender um framework novo de JS? Tente resolver um Mini Projeto usando essa tecnologia. Quer uma base teórica ou atualização em algum tema? Nós temos Workshops online com profissionais do mercado justamente para isso.
A premissa do Codante é que a melhor forma de evoluir no front-end é praticando e quebrando a cabeça com código. É por essa razão que quisemos apoiar a Rinha de Front-end. É exatamente nisso que acreditamos!
@GigioJr
o motivo é que não temos recurso para testar. quando chamamos pessoas para ajudarem nos testes (que muitas vezes envolvem VMs complexas e definições de hardware virtualizado pra ficar justo), não apareceu ngm.
@rinhafront
quando consegui fazer carregar o large.json em 0.5s tava achando muito facil, ate ter que carregar o giant e começar a ter o Código de erro: Out of Memory kkkkkkkkkk, estou ha 2 dias surtando