<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <div class="moz-cite-prefix">Em 11/1/15 07:28, Leonardo Ruoso
      escreveu:<br>
    </div>
    <blockquote
cite="mid:CALRTdbHxHZooyVJHDS933vW2T0_ZAASmB6r3GEWcqzGOUrHA4g@mail.gmail.com"
      type="cite">
      <p dir="ltr"><br>
        Em 31/10/2015 4:59 PM, "Eduardo Almeida" <<a
          moz-do-not-send="true"
          href="mailto:eduardo@web2solutions.com.br"><a class="moz-txt-link-abbreviated" href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a></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. </p>
    </blockquote>
    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.<br>
    <br>
    Browserify é lindo, mas não é bala de prata pra tudo.<br>
    <br>
    Se tamanho de banda fosse uma preocupação só minha, não veríamos
    isso:
<a class="moz-txt-link-freetext" href="http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html">http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html</a><br>
    <br>
    Então, mais uma vez, depende do tamanho da app ... principalmente.<br>
    <br>
    <blockquote
cite="mid:CALRTdbHxHZooyVJHDS933vW2T0_ZAASmB6r3GEWcqzGOUrHA4g@mail.gmail.com"
      type="cite">
      <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.</p>
    </blockquote>
    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.<br>
    <br>
    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<br>
    <br>
    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.<br>
    <br>
    Gostaria MUITO de poder estar usando generator function nos browsers
    ... mas acho que ainda tá um pouco difícil de isso acontecer<br>
    <br>
    <blockquote
cite="mid:CALRTdbHxHZooyVJHDS933vW2T0_ZAASmB6r3GEWcqzGOUrHA4g@mail.gmail.com"
      type="cite">
      <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.<br>
      </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? </p>
    </blockquote>
    Não foi isso que eu disse. Ter bons devs ES5, frente á querer
    implementar qualquer coisa usando superset.<br>
    <br>
    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:<br>
    <br>
    - 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<br>
    <br>
    - Data-Binding<br>
        facilmente resolvido com pubsub ... sem se aprofundar em nenhuma
    técnica aqui (podem variar de acordo com o paradigma)<br>
    <br>
    - Templates<br>
        Bom, tem um monte de solução bacana por ai ...<br>
    <br>
    - 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.<br>
    <br>
        Como eu disse, só mudou paradigma .. coisas que EXT, DHTMLX,
    Dojo, Qooxdoo fazem com puro JS ( 1 ), o angular faz usando DOM
    explícito.<br>
    <br>
    1 - esses frameworks também ja ofereciam a opção de se usar html com
    template pra gerar componentes.<br>
    <br>
    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.<br>
    <br>
    Angular, Backbone, _, e muitos outros, são sim importantes, têm sim
    utilidade. Só que tão longe de ser o ideal pra tudo.<br>
    <br>
    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 ...<br>
    <br>
    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:<br>
    <br>
    - <a class="moz-txt-link-freetext" href="https://www.parse.com/">https://www.parse.com/</a><br>
    - <a class="moz-txt-link-freetext" href="https://www.pubnub.com/">https://www.pubnub.com/</a><br>
    <br>
    Pra completar, eu não gosto de livrarias generalistas. Gosto de
    livrarias 'especialistas'.<br>
    <br>
    Abraços<br>
    <br>
    <blockquote
cite="mid:CALRTdbHxHZooyVJHDS933vW2T0_ZAASmB6r3GEWcqzGOUrHA4g@mail.gmail.com"
      type="cite">
      <p dir="ltr">><br>
        ><br>
        > Abraços<br>
        ><br>
        ><br>
        > -- <br>
        > Eduardo Almeida - Software Engineer<br>
        > <a moz-do-not-send="true"
          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 moz-do-not-send="true"
          href="http://sao-paulo.pm.org/">http://sao-paulo.pm.org/</a><br>
        >  SaoPaulo-pm mailing list: <a moz-do-not-send="true"
          href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
        >  L<<a moz-do-not-send="true"
          href="http://mail.pm.org/mailman/listinfo/saopaulo-pm">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
        > =end disclaimer<br>
        ><br>
      </p>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">=begin disclaimer
   Sao Paulo Perl Mongers: <a class="moz-txt-link-freetext" href="http://sao-paulo.pm.org/">http://sao-paulo.pm.org/</a>
 SaoPaulo-pm mailing list: <a class="moz-txt-link-abbreviated" href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a>
 L<a class="moz-txt-link-rfc2396E" href="http://mail.pm.org/mailman/listinfo/saopaulo-pm"><http://mail.pm.org/mailman/listinfo/saopaulo-pm></a>
=end disclaimer
</pre>
    </blockquote>
    <br>
    <br>
    <div class="moz-signature">-- <br>
      Eduardo Almeida - Software Engineer<br>
      <a class="moz-txt-link-abbreviated" href="mailto:eduardo@web2solutions.com.br">eduardo@web2solutions.com.br</a> - 27.99831.8663<br>
      <br>
      <b>WEB2 Solutions</b> - Inovando, sempre!
      <br>
      <img src="cid:part6.07030006.00070608@web2solutions.com.br"></div>
  </body>
</html>