CodeProject – Uma Alternativa ao Stack Overflow

Este post é para apresentar o site do CodeProject para o pessoal. Não sei se é porque ele está em inglês ou se o Stack é tão forte que acaba ofuscando-o, mas não vejo uma presença tão forte dos brasucas e por isso gostaria de mostrar algumas vantagens deste site.

Que tipo de conteúdo encontro?

Você encontrará conteúdo sobre tudo na ciência da computação. Seja sobre linguagens de programação como o JavaScript, Java, C#, etc… como também tópicos de inteligência artificial, IoT, infraestrutura e muito mais.

O acesso é livre e na maioria dos casos é possível baixar o código fonte de diversos exemplos que já me ajudaram muito a resolver problemas de programação. Para comentar e votar, você terá que se cadastrar no site, mas isso não tem custo nenhum e sair é tão fácil quanto entrar.

Se você estiver um pouco cansado de trabalhar/estudar. Além da parte técnica, existem fóruns de procrastinação e notícias da área para que você possa se manter informado e dar uma risada dos outros inscritos 😊

O que da para fazer no site?

No CodeProject você pode

  • Postar artigos.
  • Postar dicas.
  • Postar guias de referência.
  • Participar de competições que dão prêmios.
  • Participar de votações e quizzes.
  • Fazer e Responder perguntas.
  • Ganhar pontos que dão direitos a mais acessos e status pelo seu conhecimento.

Por outro lado, fique atento para:

  • Você precisa saber inglês.
  • Faça sua pesquisa antes de perguntar.
  • Seu artigo precisará estar bem estruturado. Do contrario ele pode ser rejeitado ou movido para um nível abaixo de artigo.
  • A comunidade não perdoa aqueles que fazem plagio, pedem para os outros fazer o trabalho deles ou fazem perguntas bobas.

É isso aí pessoal, espero que a dica do site seja útil para aqueles que estão lendo este post como ela foi para mim. Caso queiram me achar lá, segue o meu link.

Uber Anúncia Framework Open Source Fusion.js

O Uber lançou o Fusion.js, um “Framework Web universal” de código aberto. No anúncio, o engenheiro de software Uber Leo Horie explica que o Uber constrói centenas de aplicativos web, e com as tecnologias web mudando rapidamente e as melhores práticas em constante evolução, é um desafio ter centenas de engenheiros web alavancando recursos de linguagem modernos com a natureza dinâmica da plataforma web. O Fusion.js é a solução da Uber para esse problema.

Na avaliação de estruturas, é crucial entender seus objetivos e objetivos para determinar se uma estrutura é adequada para a criação de um aplicativo. Horie explica que o Uber:

Precisava reformular seu antigo framework web monolítico para algo que atendesse aos desafios impostos pelos longos anos de endividamento técnico. No entanto, também queríamos permitir que os engenheiros continuassem usando as tecnologias que eles adoram (por exemplo, React e Redux), mantendo a compatibilidade com a infraestrutura de monitoramento de integridade do aplicativo da Uber.

Para atingir esse objetivo, o Fusion.js aborda os pontos problemáticos identificados pela equipe do Uber:

  • Configuração e templates encontrados ao usar muitas ferramentas para renderização no lado do servidor, divisão de código e recarregamento de módulos.
  • Desafios ao abstrair aspectos da renderização do lado do servidor.
  • Acoplamento de grandes bases de código.
  • Testes quando ocorrem efeitos colaterais.
  • Inflexibilidade geral com estruturas monolíticas.

A equipe da Uber encontrou desafios ao tentar fazer as coisas funcionarem com as soluções existentes, bem como desafios com a internacionalização da integração e outros recursos necessários. Houve também um objetivo principal para evitar abordagens monolíticas ao Fusion.js para manter os tamanhos dos pacotes pequenos.

Horie recomenda o Fusion.js para engenheiros que desejam:

Uma estrutura JavaScript licenciada pelo MIT que suporta bibliotecas populares como React e Redux, e vem com recursos modernos como recarga de módulo, renderização do lado do servidor com reconhecimento de dados e suporte a divisão de pacote.

Uma ênfase significativa é colocada nos aplicativos Fusion.js por serem universais e baseados em plugins. Os aplicativos Fusion.js possuem um único arquivo de ponto de entrada, possibilitando a reutilização de código no servidor e no cliente. Os plugins do Fusion.js são universais, facilitando para os desenvolvedores obter benefícios semelhantes.

Além do React e do Redux, o Fusion.js utiliza o Flow para digitar e o Koa para gerenciamento de middleware. Além de suportar ferramentas de teste como Jest, Enzyme e Puppeteer, o Fusion.js fornece ferramentas para desenvolvedores testarem plugins com o pacote fusion-test-utils.

A arquitetura de plugins e o desejo de evitar uma arquitetura monolítica são um pouco contrários à tendência recente do JavaScript de avançar para monopacks. Com a ampla adoção de módulos ES e ferramentas como o webpack para lidar com a divisão de código, ficou muito mais fácil reduzir os tamanhos dos pacotes sem precisar manter todos os pacotes separados. No entanto, a ênfase da Uber em tamanhos pequenos de pacotes é uma resposta direta aos desafios que a organização de engenharia enfrentou na criação de aplicativos da Web complexos.

O feedback público inicial do projeto é misto, com alguns engenheiros questionando o uso do Flow sobre o TypeScript e alguns se perguntando por que há necessidade de outro framework. É muito cedo para dizer se o Fusion.js ganhará tração fora do Uber, mas é encorajador ver as organizações lançarem uma infraestrutura que consideram benéfica.

O Fusion.js está disponível sob a licença MIT. Contribuições são incentivadas via GitHub.

Fonte: