[SP-pm] https://github.com/TJRest

Leonardo Ruoso leonardo at ruoso.com
Sun Nov 1 13:43:03 PST 2015


Acho que há momentos em que os objetivos e os métodos se tornam tão
distantes que não há como conciliar.

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".

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.

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.

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...

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.

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.

Em dom, 1 de nov de 2015 19:27, Eduardo Almeida <
eduardo em web2solutions.com.br> escreveu:

Em 11/1/15 07:28, Leonardo Ruoso escreveu:


Em 31/10/2015 4:59 PM, "Eduardo Almeida" <eduardo em web2solutions.com.br>
escreveu:
>
> Em 10/31/15 08:23, Leonardo Ruoso escreveu:
>>
>> 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.
>
> Ok, então você vai transpilar com grunt por exemplo, e não no browser ...

Isso é o que normalmente se faz com todos os recursos. O browser vai
receber um único objeto minimizado contendo JavaScript, templates, tudo.


Sim. Só que não! .. kkkk Nem sempre. Depende do tamanho da sua app ...
depende do tamanho da banda do cliente.
Ainda não dá pra eliminar o 'on demand loading', e que por enquanto não tem
como não ser assync.


Browserify é lindo, mas não é bala de prata pra tudo.

Se tamanho de banda fosse uma preocupação só minha, não veríamos isso:
http://
<http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html>
www.meioemensagem.com.br
<http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html>
/home/
<http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html>
midia
<http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html>
/noticias/2015/10/28/
<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
<http://www.meioemensagem.com.br/home/midia/noticias/2015/10/28/Facebook-cria-o-dia-da-internet-lenta.html>

Então, mais uma vez, depende do tamanho da app ... principalmente.

> Leonardo, deixa eu te perguntar, você ja fez algum experimento desse
tipo? Ja escreveu alguma app em ES6 ou Typescript?

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.


A questão não é o Typescript, ES6, ou ate mesmo 7
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.

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

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.

Gostaria MUITO de poder estar usando generator function nos browsers ...
mas acho que ainda tá um pouco difícil de isso acontecer

> Se ja, ok, você ja sabe onde está pisando. Te garanto que há "ovos e
cacos de vidro" por esse caminho.

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 ;)

> Sinceramente, se você ta querendo fazer um app séria,

Opa, até jogos são sérios.

> na minha humilde opnião, há muitos outros aspectos que você deveria dar
mais foco, do que querer modernizar seu ambiente de desenvolvimento.

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.

> Mais uma vez, na minha opnião, ter bons e verdadeiros devs de ES5,

Claro, claro.

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.

> é a melhor solução (atualmente) frente a qualquer coisa que vc possa me
apresentar

Melhor solução é não usar framework?


Não foi isso que eu disse. Ter bons devs ES5, frente á querer implementar
qualquer coisa usando superset.

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:

- MVC Routing
    3 objeto literal (ou functions) + 2 observers ou um pubsub, e ta
implementado.
    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

- Data-Binding
    facilmente resolvido com pubsub ... sem se aprofundar em nenhuma
técnica aqui (podem variar de acordo com o paradigma)

- Templates
    Bom, tem um monte de solução bacana por ai ...

- Diretivas
    É apenas mais do mesmo, num paradigma diferente. Abstrair componentes
ricos em chamadas simples é coisa do arco da velha,  vem sendo feito a
muito tempo.

    Como eu disse, só mudou paradigma .. coisas que EXT, DHTMLX, Dojo,
Qooxdoo fazem com puro JS ( 1 ), o angular faz usando DOM explícito.

1 - esses frameworks também ja ofereciam a opção de se usar html com
template pra gerar componentes.

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.

Angular, Backbone, _, e muitos outros, são sim importantes, têm sim
utilidade. Só que tão longe de ser o ideal pra tudo.

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 ...

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:

- https <https://www.parse.com/>:// <https://www.parse.com/>www.parse.com/
<https://www.parse.com/>
- https <https://www.pubnub.com/>:// <https://www.pubnub.com/>www.pubnub.com
/ <https://www.pubnub.com/>

Pra completar, eu não gosto de livrarias generalistas. Gosto de livrarias
'especialistas'.

Abraços

>
>
> Abraços
>
>
> --
> Eduardo Almeida - Software Engineer
> eduardo em web2solutions.com.br - 27.99831.8663
>
> WEB2 Solutions - Inovando, sempre!
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http:// <http://sao-paulo.pm.org/>
sao-paulo.pm.org/ <http://sao-paulo.pm.org/>
>  SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
>  L<http:// <http://mail.pm.org/mailman/listinfo/saopaulo-pm>mail.pm.org
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>mailman
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>listinfo
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>saopaulo-pm
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>>
> =end disclaimer
>

=begin disclaimer Sao Paulo Perl Mongers: http:// <http://sao-paulo.pm.org/>
sao-paulo.pm.org/ <http://sao-paulo.pm.org/> SaoPaulo-pm mailing list:
SaoPaulo-pm em pm.org L<http://
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>mail.pm.org
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>mailman
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>listinfo
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>saopaulo-pm
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>>
<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer


-- 
Eduardo Almeida - Software Engineer
eduardo em web2solutions.com.br - 27.99831.8663

*WEB2* *Solutions* - Inovando, sempre!

<img src="
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
">

=begin disclaimer
   Sao Paulo Perl Mongers: http:// <http://sao-paulo.pm.org/>
sao-paulo.pm.org/ <http://sao-paulo.pm.org/>
 SaoPaulo-pm mailing list: SaoPaulo-pm em pm.org
 L<http:// <http://mail.pm.org/mailman/listinfo/saopaulo-pm>mail.pm.org
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>mailman
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>listinfo
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>/
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>saopaulo-pm
<http://mail.pm.org/mailman/listinfo/saopaulo-pm>>
=end disclaimer
-------------- Pr�xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20151101/b538bd51/attachment-0001.html>
-------------- Pr�xima Parte ----------
Um anexo n�o-texto foi limpo...
Nome: dhtmlx_certified.png
Tipo: image/png
Tamanho: 11630 bytes
Descri��o: n�o dispon�vel
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20151101/b538bd51/attachment-0001.png>


More information about the SaoPaulo-pm mailing list