Quais são as tecnologias que estão sendo utilizadas na Instagram?
Instagram's user app (o front-end) é escrito em React Native, uma linguagem multifuncional compatível com os sistemas operacionais iOS e Android. Isn't muito HTML na sua fonte, it's todos gerados pelo React. Como qualquer serviço Web moderno, eles usam Memcached para caching, e atualmente têm 6 instâncias Memcached, que estão conectadas ao uso de pylibmc & libmemcached. Também possuem checkpoints - fluxos acionados do servidor em resposta a ações suspeitas (por exemplo: quando precisam verificar seu número de telefone, quando acham que sua conta pode ter sido comprometida, etc). Historicamente, os checkpoints têm sido implementados usando WebViews, bons para compartilhamento de código e velocidades de iteração rápidas, mas o UX não se sente nativo e os tempos de inicialização podem ser lentos.
No Instagram um dos valores de engenharia é "fazer a coisa simples primeiro", então a primeira abordagem não foi construir a estrutura de pré-busca de fundo perfeita. O primeiro protótipo apenas prefetou os dados quando o aplicativo ficou em segundo plano, se e somente se o usuário estava sob conexão wifi. Este BackgroundPrefetcher iterava através de uma lista de runnables, executando um por um.
Então velocidade do desenvolvedor - o valor definidor da engenharia móvel da Instagram. Isto permite que as equipes de produtos enviem recursos mais rapidamente através do compartilhamento de código e velocidades de iteração mais altas, usando ferramentas como Live Reload e Hot Reloading que eliminam os ciclos de compilação-instalação.
Artigos semelhantes
- Quais são as tecnologias utilizadas para o desenvolvimento de um aplicativo para jogos móveis?
- Quais são as tecnologias utilizadas durante os jogos de críquete?
- Como funcionam os sites YouTube-to-MP3? Como se constrói um site assim? Que bibliotecas/tecnologias são utilizadas?
- Por que estou sendo cobrado 5,99 USD do Amazon prime video, mesmo não sendo um membro principal?