Eu queria usar a pilha JavaScript do MEAN, mas notei que existem duas pilhas diferentes com seu próprio site e métodos de instalação: mean.js e mean.io. Então eu me perguntei: "Qual deles eu uso?".
Então, para responder a essa pergunta, pergunto à comunidade se você poderia explicar quais são as diferenças entre esses dois? E se possível prós e contras? Porque eles se parecem muito comigo.
javascript
node.js
angularjs
web-applications
mean-stack
CMPSoares
fonte
fonte
Respostas:
Eles são essencialmente os mesmos ... Ambos usam swig para modelagem, ambos usam karma e mocha para testes, integração de passaporte, nodemon, etc.
Por que tão parecido? Mean.js é um fork do Mean.io e as duas iniciativas foram iniciadas pelo mesmo cara ... Mean.io agora está sob a égide da empresa Linnovate e parece que o cara (Amos Haviv) interrompeu sua colaboração com esta empresa e iniciado Mean.js. Você pode ler mais sobre os motivos aqui .
Agora ... as principais (ou pequenas) diferenças que você pode ver agora são:
GERAÇÃO DE ARGAMASSA E CALIBRAGEM
Mean.io usa uma ferramenta CLI personalizada chamada 'mean'
Mean.js usa Yeoman Generators
MODULARIDADE
O Mean.io usa uma modularidade de pacotes de nós mais independentes com os arquivos do cliente e do servidor dentro dos módulos.
O Mean.js usa módulos apenas no front-end (para angulares) e os conecta ao Express. Embora eles estivessem trabalhando em módulos verticais também ...
SISTEMA DE CONSTRUÇÃO
Mean.io mudou-se recentemente para gulp
Mean.js usa grunhido
DESDOBRAMENTO, DESENVOLVIMENTO
Ambos têm Dockerfiles em seus respectivos repositórios e Mean.io possui instalação com um clique no Google Compute Engine , enquanto o Mean.js também pode ser implantado com a instalação com um clique no Digital Ocean .
DOCUMENTAÇÃO
Mean.io tem documentos ok
Mean.js tem documentos INCRÍVEIS
COMUNIDADE
Mean.io tem uma comunidade maior desde que era o clichê original
Mean.js tem menos impulso, mas crescimento constante
No nível pessoal, gosto mais da filosofia e abertura do MeanJS e mais da abordagem de tração e módulos / pacotes do MeanIO. Ambos são legais, e você provavelmente acabará modificando-os; portanto, não pode dar errado ao escolher um ou outro. Apenas tome-os como ponto de partida e como um exercício de aprendizado.
SOLUÇÕES ALTERNATIVAS DE “MEIOS”
MEAN é uma maneira genérica (criada por Valeri Karpov ) para descrever um clichê / estrutura que usa "Mongo + Express + Angular + Nó" como base da pilha. Você pode encontrar estruturas com essa pilha que usam outras denominações, algumas delas realmente boas para o RAD (Rapid Application Development) e a criação de SPAs. Por exemplo:
Você também tem o Hackathon Starter . Ele não possui A de MEAN (é 'MEN'), mas é ótimo ..
Diverta-se!
fonte
Primeiro, MEAN é um acrônimo para M ongoDB, E xpress, A ngular e N ode.js.
Ele identifica genericamente o uso combinado dessas tecnologias em uma "pilha". Não existe algo como " A estrutura do MEAN".
Lior Kesos em Linnovate aproveitou essa confusão. Ele comprou o domínio MEAN.io e colocou um código em https://github.com/linnovate/mean
Felizmente, eles receberam muita publicidade e existem mais e mais artigos e vídeos sobre o MEAN. Quando você Google "significa estrutura", mean.io é o primeiro da lista.
Infelizmente, o código em https://github.com/linnovate/mean parece mal projetado .
Em fevereiro, eu mesma caí na armadilha. O site mean.io tinha um design atraente e o repositório do Github tinha mais de 1000 estrelas. A ideia de questionar a qualidade nem me passou pela cabeça. Comecei a experimentar, mas não demorou muito para encontrar coisas que não estavam funcionando e peças de código intrigantes.
O histórico de consolidação também foi bastante preocupante. Eles reprojetaram o código e a estrutura de diretórios várias vezes e a fusão das novas alterações consome muito tempo.
O bom dos códigos mean.io e mean.js é que eles vêm com a integração do Bootstrap. Eles também vêm com a autenticação do Facebook, Github, Linkedin etc. por meio do PassportJs e um exemplo de modelo (Artigo) no back-end no MongoDB que sincroniza com o modelo de front-end com o AngularJS.
De acordo com o site da Linnovate:
No site, parece que o principal conjunto de habilidades é o Drupal (um sistema de gerenciamento de conteúdo PHP) e só recentemente eles começaram a usar o Node.js e o AngularJS.
Ultimamente, eu estava lendo o Blog Mean.js e as coisas ficaram mais claras. Meu entendimento é que o principal desenvolvedor de Javascript (Amos Haviv) deixou o Linnovate para trabalhar no Mean.js, deixando o projeto MEAN.io com pessoas iniciantes no Node.js. que estão atrasando o entendimento de como as coisas devem funcionar.
No futuro, as coisas podem mudar, mas por enquanto eu evitaria usar o mean.io. Se você está procurando um boilerplate para um início rápido, o Mean.js parece uma opção melhor que o mean.io.
fonte
Aqui está uma comparação lado a lado de vários iniciadores / geradores de aplicativos e outras tecnologias, incluindo MEAN.js, MEAN.io e cleverstack. Continuo adicionando alternativas à medida que encontro tempo e, à medida que isso acontece, a lista de benefícios potencialmente fornecidos também cresce. Hoje, são cerca de 1600. Se alguém quiser ajudar a melhorar sua precisão ou integridade, clique no próximo link e faça um questionário sobre algo que você conhece.
Comparar projeto de tecnologias de aplicativos
A partir desse banco de dados, o sistema gera relatórios como o seguinte:
Relatório de trade-off MeanJS x MeanIO
fonte
A planilha Starter Trade-offs da minha planilha de comparação possui comparações abrangentes individuais entre cada gerador. Portanto, não há mais necessidade de escolher de maneira distorcida grandes coisas a dizer sobre o seu favorito.
Aqui está aquele entre gerador-angular-fullstack e MEAN.js. As porcentagens são valores para cada benefício com base em minhas ponderações pessoais, em que um gerador perfeito seria 100%
gerador - angular - fullstack oferece 8% que o MEANJS.org não oferece
MeanJS.org. oferece 9% que o gerador-angular-fullstack não
Aqui está aquele entre o MEAN.io e o MEAN.js em um formato mais legível
fonte
Estou surpreso que ninguém tenha mencionado o gerador Yeoman angular-fullstack . É o gerador comunitário número um da Yeoman, com atualmente 1490 estrelas na página do gerador versus as 81 estrelas do Mean.js. (reconhecidamente não é uma comparação justa, considerando o quão novo é o MEANJS). Parece ser mantido ativamente e está na versão 2.05 enquanto escrevo isso. Ao contrário de MEANJS, ele não usa Swig para modelagem. Pode ser montado com o passaporte incorporado.
fonte