O que faz aplicativos como Snapchat, Instagram, Pinterest, Uber e outros funcionarem?
A resposta a esta pergunta é complicada. Sua pergunta é como perguntar uma tonelada de coisas de uma só vez e como dizer, "como eu programo ou como eu crio o Snapchat?".
Eu lhe darei algumas respostas de alto nível.
P>Primeiro de todas as pessoas não será capaz de fazer as aplicações que você mencionou acima hoje. Pelo menos não no seu estado actual. Você pode ser capaz de construir a estrutura original com você mesmo ou com uma equipe muito pequena ou dois amigos. Mas não será a mesma coisa que estas aplicações são "hoje". Todos eles passaram por um processo evolutivo e agora são partes de grandes organizações com dezenas e dezenas de equipes que trabalham em várias partes.
>p>Que, dito isso, você poderia construir qualquer um desses. Não, não apenas usando o Google Cloud Engine. Uma "pilha", a propósito, é apenas um termo coloquial que significa: "todas as tecnologias usadas para construir uma determinada aplicação". Um desenvolvedor de pilha completa, por exemplo, é alguém que normalmente é bem versado no conjunto completo de ferramentas necessárias para fazer o desenvolvimento front end ou back end.Aplicações mais modernas são construídas como uma plataforma multi-camadas. Eles têm:
<- um front-end: esta é a interface web. É normalmente construída com coisas como .Net/C#, Java/Netbeans, HTML, Javascript, CSS, etc....
- >uma camada média ou camada lógica de negócios: isto é normalmente feito em Java ou C# ou C++ ou alguma outra linguagem orientada a objetos pesados.
- uma camada back-end: esta é a camada de acesso aos dados. A base de dados real e/ou lógica de acesso a ela. Isto pode ser codificado em C# ou Java e ter uma base de dados como MySQL, SQL Server, Oracle, etc... ou pode até usar algo como Hadoop ou NoSQL que são novos sabores de bases de dados que fazem parte do grande movimento de dados e não bases de dados baseadas em conjuntos relacionais.
- Tudo isto é executado numa plataforma de servidor web (Linux/Apache para uma aplicação Java ou Python tipicamente e Win/IIS para uma aplicação .Net). Existe provavelmente uma série de servidores web que são balanceados em termos de carga. Juntamente com os servidores de cluster sql ou de banco de dados em um centro de hospedagem de dados e muito provavelmente vários centros de dados ou alguns destes em uma plataforma de hospedagem em nuvem/virtualizada como Amazon Web Services ou a plataforma Google Cloud.
Existem muitas metodologias diferentes para a forma como você constrói aplicações multi-níveis, como MVC, MVVM, MVP, .Net WebForms, Java beans, etc...
Artigos semelhantes
- Uber para X: Que startups estão a trabalhar no "Uber for X"?
- Kotlin fará os telefones Android funcionarem mais rápido ou melhor do que Java?
- Como carregar minhas fotos do Instagram para o Pinterest
- Existe alguma ferramenta de agendamento gratuito de postagens para Facebook, Twitter, Instagram e Pinterest para múltiplas contas?