5
respostas

frameworks js

gostaria de um bate papo com o professor para tirar diversas duvidas, como faco?

5 respostas

Oi Lucas, Tudo bem? vou ver se peço pra ele dar uma passada por aqui, mas antes, você não quer deixar suas dúvidas aqui pra que a gente possa discutir abertamente não só com a participação dele como a de outros alunos também?

Fala Lucas,

Eu to sempre de olho aqui no fórum, então como o Wanderson disse, se você quiser você pode colocar suas dúvidas aqui que além da minha participação também tem o respaldo de todos os instrutores e alunos da Alura :) .

Abraços!

Estou iniciando um projeto do zero para meu crescimento profissional mas tambem espero que de certo.

Se trata de um sistema web que comtemplará comentarios, cadastros, perfis, comunicacao com api de pagamentos, e acesso simultano de mais de mil usuarios

Estou pensando numa estrutura onde o core seria mongodb + nodejs + angular2 + jasmine 1- utilizar mongoose para comunicar com mongodb + utilizar redis para gerenciamento de sessao + express + gulp + jslint

o que pensam dessa arquitetura? mudariam algo? o que pensam em questão de performance?

e outro importante, tenho bons conhecimentos de javascript e desenvolvimento web (mas em java), com essas minhas escolhas eu vou ter muita dificuldade na curva de aprendizado? será tranquilo caso eu dedique meu esforco e tempo nisso?

Oi Lucas, tudo bem? deixar minha pequena contribuição aqui tá bem? Esta stack que você descreve é basicamente o MEAN (Mongo, Express, Angular e Node) apenas adicionando o jslint, gulp, redis e jasmine... Acho uma boa, mas acho que é preocupante você definir toda a stack de inicio, talvez seja a melhor prática você começar com o básico e depois começar adicionar o restante das coisas, por que acredito que com certeza no seu projeto não terá apenas esses pacotes com estas tecnologias.

ex: Acho que inicialmente eu não colocaria logo um redis pra funcionar dentro do projeto. Mas deixaria o código simples o possível para qualquer adição na stack não seja muito trabalhosa, o que nem sempre é previsível qual seja.

Caso você tenha conhecimentos sólidos na base que é o JavaScript, o restante será tranquilo. Acredito que a curva de aprendizado sejam bem menor do que usar várias tecnologias de ambientes diferentes, vai ser mais prático por exemplo: Express com Angular, do que Java (Spring ou qualquer outro) com Angular. Visto que em um envolve apenas JavaScript e no outro Java e JavaScript.

Sobre performance, acho que é muito cedo pra pensar nisso. Performance é um assunto complexo, digamos: performance de back-end? de front-end? de carregamento? de banco de dados? Vê? são muitas vertentes...

O Akita tem uma palestra que se chama "otimização prematura" é uma avaliação onde, as pessoas se preocupam primeiro com a performance do que com o funcionar primordial da aplicação e isso implica em muitas... resumindo ele diz uma coisa simples "Primeiro faça funcionar, depois você se preocupa com performance".

Fala Lucas,

Então, tudo isso aí que o Wardenson falou, tudo bastante pertinente e concordo 100% com ele.

Agora deixe-me adicionar algumas coisas, quando estamos escolhendo uma tecnologia também é bom considerar o mercado.

Já que você está querendo montar uma stack toda em Javascript , vale a pena considerar se no seu local de trabalho você consegue contratar profissionais bons em JS, afinal quando sua aplicação começar a crescer você vai precisar de mais pessoas. Tem locais que é fácil contratar um especialista em Node, mas já em outros é muito mais comum encontrar profissionais em linguagens mais empresariais como Java e C#.

Agora comentando sobre a curva de aprendizado, eu gosto bastante de JS, mas não posso negar que é uma linguagem ardilosa, em que é fácil começar mas se tornar um especialista e entender a fundo como ela funciona requer uma certa dedicação. Eu recomendo bastante que você curse os cursos de Javascript Avançado aqui da Alura que vão te dar uma boa base de como pensar a estrutura de sua aplicação de um jeito moderno e fora que se você vai utilizar o Angular e NodeJs, dominar bem o Javascript é essencial.

E falando em Angular, não sou o maior especialista neste tópico, mas vi que desde Março já foi lançado o Angular 4, e talvez você pudesse começar já na versão mais recente do framework, para não correr risco de criar uma aplicação em uma versão desatualizada. Pelo que sei não mudou tanto para a versão 2, mas vale a pena dar uma conferida.

Mas para mim, a dica mais importante que posso te dar é:

Faça funcionar o seu projeto do modo mais simples possível primeiro. Escolha um número mínimo de features que ele precise para funcionar e implemente elas primeiro, teste com seus usuários, colete feedback e faça uma nova iteração de features mínimas.

Os cursos de Lean e de Introdução aos métodos ágeis ajudam a colocar a mente com este pensamento mais simplista de testar bastante a sua aplicação com usuário e crescer aos poucos com base no feedback.

Boa sorte ai com sua aplicação Lucas, qualquer dúvida não deixe de comentar.

Um abraço!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software