<p dir="ltr">Acho que há momentos em que os objetivos e os métodos se tornam tão distantes que não há como conciliar.</p>
<p dir="ltr">Algumas pessoas acham que é mais fácil formar um desenvolvedor com ferramentas de naus baixo nível, eu acredito que quão maior a abstração melhor, mais próximo do que "do que" e não "de como". </p>
<p dir="ltr">Algumas pessoas acham que você deve ensinar Perl sem Moose, eu me sentiria um idiota se fosse fazê-lo. Mesma coisa, a meu ver, a diferença de usar backbone, para usar angular, para usar angular 2. </p>
<p dir="ltr">Facebook, Google, Twitter não me servem mesmo de parâmetro. São discrepantes. Servem como laboratório para muita tecnologia, mas realmente eles tem de ser preocupar com otimização num nível em que eu poucas vezes precisei me preocupar, e quando o fiz provavelmente estava errado.</p>
<p dir="ltr">Muito mais importante para mim é criar um ambiente no qual o desenvolvedor tenda mais a implementar OOP em vez de procedural, Rest em vez de RPC, etc...</p>
<p dir="ltr">Aliás, digo-lhe, meus maiores pesadelos foram causados por desenvolvedores hackers que se acreditavam melhores por estarem fazendo coisas "na mão" em vez de seguir a arquitetura definida, seja no JS, no Perl ou no Java.</p>
<p dir="ltr">Se não devesse satisfação a ninguém eu estaria investindo pesado no Apache Ísis, não no Spring Data Rest. Infelizmente não tem nada nem próximo em Perl, sobre o Cayalyst ou não. Talvez seja um investimento para Perl 6.</p>
<p dir="ltr">Em dom, 1 de nov de 2015 19:27, Eduardo Almeida <<a href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a>> escreveu:</p>
<blockquote><p dir="ltr">Em 11/1/15 07:28, Leonardo Ruoso escreveu:</p>
</blockquote>
<blockquote><blockquote><p dir="ltr"><br>
Em 31/10/2015 4:59 PM, "Eduardo Almeida" <<a href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a>> escreveu:<br>
><br>
> Em 10/31/15 08:23, Leonardo Ruoso escreveu:<br>
>><br>
>> Não creio que o preço de tradução de código seja realmente uma questão para grande parte dos desenvolvedores, quer estejam usando Dart, TypeScript ou CofeeScript. Nem para quem está usando Jade, nem para quem está usando SAAS/LESS.<br>
><br>
> Ok, então você vai transpilar com grunt por exemplo, e não no browser ...</p>
<p dir="ltr">Isso é o que normalmente se faz com todos os recursos. O browser vai receber um único objeto minimizado contendo JavaScript, templates, tudo. <br>
</p>
</blockquote>
</blockquote>
<blockquote><p dir="ltr"><br>
Sim. Só que não! .. kkkk Nem sempre. Depende do tamanho da sua app ... depende do tamanho da banda do cliente.<br>
Ainda não dá pra eliminar o 'on demand loading', e que por enquanto não tem como não ser assync.</p>
</blockquote>
<p dir="ltr"><br></p>
<blockquote><p dir="ltr"></p>
<p dir="ltr">Browserify é lindo, mas não é bala de prata pra tudo.</p>
<p dir="ltr">Se tamanho de banda fosse uma preocupação só minha, não veríamos isso: <a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">http://</a><a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">www.meioemensagem.com.br</a><a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">/home/</a><a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">midia</a><a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">/noticias/2015/10/28/</a><a href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">Facebook-cria-o-dia-da-internet-lenta.html</a></p>
<p dir="ltr">Então, mais uma vez, depende do tamanho da app ... principalmente.<br><br></p>
</blockquote>
<blockquote><blockquote><p dir="ltr">> Leonardo, deixa eu te perguntar, você ja fez algum experimento desse tipo? Ja escreveu alguma app em ES6 ou Typescript?</p>
<p dir="ltr">TypeScript especificamente não, mas outros supersets, sim, vários. Tanto de JS, como de HTML e CSS. Não consigo ver onde estaria qualquer armadilha especial do TypeScript. Pelo contrário, pelo que estamos vendo em PoC, pelo que estamos conversando com colegas que estão usando e pela análise conceitual, TypeScript parece uma escolha bastante consistente.<br>
</p>
</blockquote>
</blockquote>
<blockquote><p dir="ltr"><br>
A questão não é o Typescript, ES6, ou ate mesmo 7<br>
A demanda de desenvolvedor Javascript é infinitamente maior que a oferta (não entrando no mérito da qualidade do dev) .. ta ai o Upwork pra comprovar isso.</p>
<p dir="ltr">Acho que o primeiro problema é o seguinte, se já é difícil cobrir vagas de ES5, suponho que seria mais difícil cobrir vagas pra qualquer superset</p>
<p dir="ltr">Sinceramente, a única grande vantagem que vejo num superset, hoje, é tornar por exemplo o OO mais simpático pra devs vindos de outras linguagens, que na grande maioria das vezes, se sente perdido com tanto patterns utilizados no ES5. Outras coisas importantes, podem ser implementadas com polyfills.</p>
<p dir="ltr">Gostaria MUITO de poder estar usando generator function nos browsers ... mas acho que ainda tá um pouco difícil de isso acontecer<br><br></p>
</blockquote>
<blockquote><blockquote><p dir="ltr">> Se ja, ok, você ja sabe onde está pisando. Te garanto que há "ovos e cacos de vidro" por esse caminho.</p>
<p dir="ltr">Difícil que aja mais ovos e cascos de vidro que juntar um time de desenvolvedores experientes que sabem JavaScript e jQuery e deixá-los escrever código nos controles do Angular 1 ;)</p>
<p dir="ltr">> Sinceramente, se você ta querendo fazer um app séria, </p>
<p dir="ltr">Opa, até jogos são sérios.</p>
<p dir="ltr">> na minha humilde opnião, há muitos outros aspectos que você deveria dar mais foco, do que querer modernizar seu ambiente de desenvolvimento.</p>
<p dir="ltr">Eu pareço querer modernizar o ambiente por si só? Se sim, eu me expressei mal. Minha necessidade de modernizar vem de uma dificuldade em fazer algumas coisas básicas com Angular 1, pior ainda sem. Uma série de coisas que foram revistas com muito carinho Angular 2.</p>
<p dir="ltr">> Mais uma vez, na minha opnião, ter bons e verdadeiros devs de ES5, </p>
<p dir="ltr">Claro, claro. </p>
<p dir="ltr">Quando eu consego uns cinco bons e verdadeiros desenvolvedores de qualquer coisa em um projeto com 12 mais alguns trainees meu nível de estresse cai 80% e eu passo a me preocupar quase que exclusivamente com o domínio da aplicação. E me considero tendo um dream team.</p>
<p dir="ltr">> é a melhor solução (atualmente) frente a qualquer coisa que vc possa me apresentar</p>
<p dir="ltr">Melhor solução é não usar framework? <br>
</p>
</blockquote>
</blockquote>
<blockquote><p dir="ltr"><br>
Não foi isso que eu disse. Ter bons devs ES5, frente á querer implementar qualquer coisa usando superset.</p>
<p dir="ltr">Com certeza usar framework sim, mas exceto o caso de se criar um MVP, eu não usaria frameworks pra diversas coisas como por exemplo:</p>
<p dir="ltr">- MVC Routing<br>
    3 objeto literal (ou functions) + 2 observers ou um pubsub, e ta implementado.<br>
    Lógico que não tão rico quanto ao modelo deles, mas meu exemplo é so pra fazer frente á questão de que nem sempre é necessário mais uma lib ... e mesmo considerando toda a spec do modelo deles, não é nenhum bixo de 7 cabeças pra implementar</p>
<p dir="ltr">- Data-Binding<br>
    facilmente resolvido com pubsub ... sem se aprofundar em nenhuma técnica aqui (podem variar de acordo com o paradigma)</p>
<p dir="ltr">- Templates<br>
    Bom, tem um monte de solução bacana por ai ...</p>
<p dir="ltr">- Diretivas<br>
    É apenas mais do mesmo, num paradigma diferente. Abstrair componentes ricos em chamadas simples é coisa do arco da velha,  vem sendo feito a muito tempo.</p>
<p dir="ltr">    Como eu disse, só mudou paradigma .. coisas que EXT, DHTMLX, Dojo, Qooxdoo fazem com puro JS ( 1 ), o angular faz usando DOM explícito.</p>
<p dir="ltr">1 - esses frameworks também ja ofereciam a opção de se usar html com template pra gerar componentes.</p>
<p dir="ltr">Uma outra coisa que eu gostaria de abordar é o seguinte: A exceto o fato de que você precisa de conteúdo indexado por buscadores, usar/processar/renderizar/manipular templates não é e nunca será uma bala de prata.</p>
<p dir="ltr">Angular, Backbone, _, e muitos outros, são sim importantes, têm sim utilidade. Só que tão longe de ser o ideal pra tudo.</p>
<p dir="ltr">Sem diferença exponencial em performance, existe uma série de beneficios em não se declarar <input />, mas escrever document.createElement('script'); .. assim como algumas desvantagens que você possa citar ...</p>
<p dir="ltr">Mas mais uma vez, como eu disse, se for pra fazer um MVP, então eu nao preciso nem de camada server side, e ainda faço um em 20 dias, veja:</p>
<p dir="ltr">- <a href="https://www.parse.com/">https</a><a href="https://www.parse.com/">://</a><a href="https://www.parse.com/">www.parse.com</a><a href="https://www.parse.com/">/</a><br>
- <a href="https://www.pubnub.com/">https</a><a href="https://www.pubnub.com/">://</a><a href="https://www.pubnub.com/">www.pubnub.com</a><a href="https://www.pubnub.com/">/</a></p>
<p dir="ltr">Pra completar, eu não gosto de livrarias generalistas. Gosto de livrarias 'especialistas'.</p>
<p dir="ltr">Abraços<br><br></p>
</blockquote>
<blockquote><blockquote><p dir="ltr">><br>
><br>
> Abraços<br>
><br>
><br>
> -- <br>
> Eduardo Almeida - Software Engineer<br>
> <a href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a> - 27.99831.8663<br>
><br>
> WEB2 Solutions - Inovando, sempre! <br>
><br>
> =begin disclaimer<br>
>    Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/">http://</a><a href="http://sao-paulo.pm.org/">sao-paulo.pm.org</a><a href="http://sao-paulo.pm.org/">/</a><br>
>  SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
>  L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mail.pm.org</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mailman</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">listinfo</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">saopaulo-pm</a>><br>
> =end disclaimer<br>
><br><br></p>
<p dir="ltr">=begin disclaimer Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/">http://</a><a href="http://sao-paulo.pm.org/">sao-paulo.pm.org</a><a href="http://sao-paulo.pm.org/">/</a> SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a> L<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"><http://</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mail.pm.org</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mailman</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">listinfo</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">saopaulo-pm</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">></a> =end disclaimer <br>
</p>
</blockquote>
</blockquote>
<blockquote><p dir="ltr"><br></p>
<p dir="ltr">-- <br>
Eduardo Almeida - Software Engineer<br>
<a href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a> - 27.99831.8663</p>
<p dir="ltr"><b>WEB2</b><b> </b><b>Solutions</b> - Inovando, sempre! </p>
<p dir="ltr"><img src="<a href="https://mail.google.com/mail/?ui=2&ik=936395505a&attid=0.0.1.1&th=150c4f2ebb7d7729&view=fimg&rm=150c4f2ebb7d7729&sz=w1600-h1000&attbid=ANGjdJ-axAxLqn0bgG0OKzADk8k1JsaO50ticDIHEqS3gSxge2vb3PzvI-pzDM3I6Hf09mLtxS_bGowXG6VkcrgwJQo1gLg0gD6NX6afGy1n-KcYwKWjLqMle1vBqdE&disp=emb&zw">https://mail.google.com/mail/?ui=2&ik=936395505a&attid=0.0.1.1&th=150c4f2ebb7d7729&view=fimg&rm=150c4f2ebb7d7729&sz=w1600-h1000&attbid=ANGjdJ-axAxLqn0bgG0OKzADk8k1JsaO50ticDIHEqS3gSxge2vb3PzvI-pzDM3I6Hf09mLtxS_bGowXG6VkcrgwJQo1gLg0gD6NX6afGy1n-KcYwKWjLqMle1vBqdE&disp=emb&zw</a>"></p>
<p dir="ltr">=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/">http://</a><a href="http://sao-paulo.pm.org/">sao-paulo.pm.org</a><a href="http://sao-paulo.pm.org/">/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mail.pm.org</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">mailman</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">listinfo</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">/</a><a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">saopaulo-pm</a>><br>
=end disclaimer<br>
</p>
</blockquote>
<p dir="ltr"><br>
</p>