Category Archives: Uncategorized

JSX, a resposta do React pra resolver definitivamente um problema

Uma pergunta do Kewerson Hugo no meu post “Os músculos do Javascript” me lembrou de escrever sobre algo que parece tão simples, mas esconde nuances importantes que menosprezamos e deixamos de explicitar.


Respondendo diretamente: Template literals só resolve interpolação de strings e nada mais.

Em vez de fazer coisas como o primeiro código, pode interpolar valores em uma string usando o acento grave como marcador dessa string como pode ver no código seguinte.

https://gist.github.com/cmilfont/09b0623feaa3b6caaf1a01914747e3d4#file-template-concat-js

Engines de Template

Desde 1990 quando o HTML foi criado que ninguém tinha pensado (e se pensou não entregou) levar o XML pra dentro da linguagem para montar templates em vez do contrário como fizeram com PHP, JSP, ASP e todos os seguintes.

Há alguns poucos anos eu palestrei uma Lightning Talk no QCONSP sobre estratégias de engines de template em javascript.

Já na época eu contava mais de 20 existentes, não importa que estratégia era, tudo se resumia a no fim das contas concatenar/interpolar strings com estratégias mais elaboradas.

Templates não existem mais

Em 2013 quando o React surgiu eu lembro de um grande amigo, Mozart Diniz, me perguntar:

“- Milfont, o que acha desse React?”

E eu na minha ignorância usando meus preconceitos, respondi:

“- não vai dar em nada, idiotice”

Como sempre o idiota sou eu e talvez por isso eu seja pobre, na hora o que me veio a mente foi Javascript Obstrutivo™.

Interfaces Gráficas

Na própria página do JSX na documentação do React eles são bem humildões e dizem que é apenas um assucar sintático para o React.createElement.

É óbvio que JSX funciona muito bem com o Virtual-DOM, um assucar sintático pra montar a árvore DOM virtual dentro da sua árvore de componentes e usar uma linguagem ubíqua falando e mostrando as mesmas estruturas pra ir modelando o mindset de “dados sempre da raiz pras folhas”, unidirecional, etc.

Mas o que não percebemos até gastar algumas horas é o quão maravilhoso é esquecer de templates e considerar que XML agora é uma extensão bem vinda dentro da linguagem como cidadão de primeira classe no Javascript.

Atributo vira propriedade, tag vira classe na compilação, isso é só mais uma sintaxe Javascript, baby!

Se é linguagem, eu posso escrever uma ferramenta que compile, analize, verifique, me notifique e complete código.

Valores morais e boas práticas

Como template não existe mais, o que temos é um componente em uma linguagem que tanto devs quanto designers entendem (parcialmente pelo menos).

Por isso bato muito no curso de React sobre evitar trazer as más práticas da época do template pra o JSX, código como o seguinte é fácil de entender e talvez até o designer que não saiba programar consiga com algum esforço.

https://gist.github.com/cmilfont/60e77f8c7836aed63f98e4dbdd30fcc0

Em vez disso, escreveria como o seguinte.

https://gist.github.com/cmilfont/52026518d75b846c56d335ccbc484280

Parece bobagem a primeira vista, mas é civilizatório, acredite.

Quando um código em sintaxe XML cresce você decompõe em sub-componentes e tenta evitar dentro da marcação ter algum fluxo em outra sintaxe, apenas demarcações.

https://gist.github.com/cmilfont/a0b374345882f9d2aa6fbf93d3b10c9b

Os seus containers mais avançados com ciclo de vida se tornam também mais limpos e claros para todos os envolvidos no projeto.

Eu não consigo mais trabalhar com HTML fora do meu código Javascript.

Uso WebStorm (com essa extensão pra React) e Atom (no Atom o Nuclide e a extensão React por causa dos snippets dele).

Experimenta e me diz o que achou do JSX.

Ah, com o Babel, seja Webpack ou Browserify, você consegue usar em qualquer projeto.


Ah, pra quem se incomodou com assucar essa é a grafia correta. Jornais antigos demonstram isso.


Processo democrático no CEJS

Inaugurando um formato inédito (até que provem ao contrário nos comentários), fizemos uma chamada para submissão diferenciada no CEJS 2017 que ocorrerá no dia 13 de maio.

Uma reclamação constante ano após ano era qual processo e que critérios os coordenadores usavam pra escolher os palestrantes pra conferência CEJS.


Pois bem, apesar do Brasil não ter tradição no processo democrático, convocamos as ruas (inscritos no evento até aquele momento) para assistirem uma apresentação de 15 minutos (aproximadamente) no formato de Lightning Talk sobre o que o candidato gostaria de compartilhar no dia 11 de fevereiro. Palestra focada em apresentar o cerne do assunto e deixar o suspenso pra grande conferência.

P2115300

Apresentação.

Todas as submissões apresentadas já se encontram no site. Confira!

Dois palestrantes por motivos de força maior não puderam apresentar, infelizmente. Apesar da chuva forte no dia, outra falta de tradição cearense, umas 30 e poucas pessoas compareceram para exercerem sua cidadania.

Lista de LTs submetidas

Escolha

Aqueles que participaram do dia da apresentação tiveram uns 15 dias aproximadamente para votarem nas 3 melhores. O resultado final:


Os 3 escolhidos pelo povo foram:

  1. PWA já é possível? por Christiano Milfont com 77,3%.
  2. Criando aplicações componentizadas com Polymer por Felipe Sousa com 68,2%.
  3. Lidando com Efeitos Colaterias com Redux Saga por Filipe Costa com 63,6%.


ps. Para provar que o processo é democrático de verdade, até coordenador do evento teve que respeitar e participar do pleito.

Apesar do povo escolher sabiamente, aqueles que não votaram na escolha do partido foram devidamente encaminhados para o serviço de inteligência para disciplina em campos de reeducação.

Mais eventos ocorrerão antes da conferência, no CEJS é assim, o evento ocorre no ano inteiro.

A mulher medieval

Sou pesquisador histórico sobre artes marciais e participo de alguns grupos de pesquisa, estou há 10 anos por exemplo pesquisando e escrevendo sobre George Gracie.

Não sou historiador profissional que depende disso pra viver, porém. Depois dessas credenciais, vamos ao que interessa.

Mas nem é disso que quero falar, aliás, está interligado. Por causa da artes marciais eu me interessei há um tempo sobre o período medieval e principalmente para entender uma época que é mal compreendida por nossa geração.

Intriga da oposição

O entendimento que temos hoje sobre essa época é de uma era de trevas, atrasada como se fosse umas férias de Deus.

Só que na realidade foi bem diferente, trazendo agora sobre a análise crítica do papel da mulher na sociedade eu observei como as relações foram se deteriorando na verdade em outras épocas, não no medievo.

A mulher nessa era tinha um papel na sociedade (apesar das diferenças biológicas que evidente sempre nos diferenciam em algum ponto) de igual pra igual aos homens.

A Dama (Lady) tinha o mesmo status social que o Cavaleiro (Knight) no sentido de que ela tinha um papel crucial, uma preparação ritualística e uma responsabilidade de liderança que a sociedade esperava.

Claro que tínhamos diferenças de castas (nem sei se esse termo representa o significado correto) entre as classes sociais, mas o ideal da mulher era semelhante por mais que os meios não fossem os mesmos.

Nosso olhar machista moderno

Um dos grandes problemas da análise sobre o período medieval é usarmos nossos preconceitos atuais para tentar entender a cultura.


No excelente livro: Knight: The Warrior and World of Chivalry (General Military) da Osprey tem uma análise bem curiosa:

“Perhaps the most bizarre is a series of plates dealing with the fight between a man and a woman, the former standing waist-deep in a pit whilst the woman stands above him armed with a rock in a sock, or rather wrapped in a veil! (nota do autor: trecho original do livro)”

Em tradução livre: “Talvez o mais bizarro seja uma série de páginas que lidam com a luta entre um homem e uma mulher…”.

Como assim o mais BIZARRO?

O autor se refere a esse tratado: “Talhoffer Fechtbuch (MS Thott.290.2º)” que é de 1459, já nos instantes finais do medievo europeu.


É bizarro para o autor e para muitos historiadores porque eles não conseguem compreender como a mulher era uma Cavaleiro, desculpe, uma Dama (nossa, acho que machistei aqui) e era tão brava e duelística como os homens.

Os duelos se tornaram tão presentes na sociedade que forçou um Papa da época vir a público em condenação porque estávamos nos concentrando como sociedade a esse tipo de espetáculo, nosso entendimento sobre isso fica a cargo dos filmes da holiúdi estadunidense com cavaleiros enfeitados disputando a mão de uma Lady pra ganhar o trono de um pai zeloso.

Bem longe da realidade, existiam vários formatos de MMA da época e as mulheres disputavam de igual pra igual, inclusive contra homens e talvez quem sabe pela mão de um donzelo, vá saber.

Nossas Monjas Guerreiras

Um dos tratados mais antigos conhecidos pelos pesquisadores das HEMA (Historical European Martial Arts) é justamente entre um frade e uma freira no MS I.33 chamado de Walpurgis Fechtbuch, algo como Manual de batalha de Santa Valpurga.

O Templo de Shaolin nunca foi real (ou como temos em mente inspirado pela holiúde chinesa dos filmes de Kung Fu) e não tivemos monges guerreiros de forma ordenada no oriente, na verdade tivemos isso no ocidente.

Bem antes das cruzadas a igreja já recomendou que seus monges, tanto homens quanto mulheres, usassem treinamento militar e formassem ordens que defendessem a cristandade (leia Europa basicamente).

Mas o papel da mulher na análise histórica sempre ficou em segundo plano, aliás, removida dessa história a caricaturas que vinham a ser definidas nas eras posteriores.

Por mais irônico que seja, a partir da “renascença” e consolidando no “iluminismo” que a mulher saiu de um papel protagonista a se tornou submissa nas expectativas sociais.

Por uma volta da mulher medieval, aquela Dama que lidera.

[update 11 de setembro de 2017]

Aparentemente não era só na Europa católica, entre os Vikings a mulher também liderava.