Cosa fa funzionare app come Snapchat, Instagram, Pinterest, Uber e altre?
La risposta a questa domanda è complicata. La tua domanda è un po' come chiedere una tonnellata di cose tutte insieme e un po' come dire, "come faccio a programmare o come faccio a creare Snapchat?".
Ti darò alcune risposte di alto livello.
Prima di tutto una singola persona non sarà in grado di fare le app che hai menzionato sopra oggi. Non nel loro stato attuale comunque. Potresti essere in grado di costruire il framework originale con te stesso o con un team molto piccolo o due amici. Ma non sarà lo stesso che queste app sono "oggi". Queste sono tutte passate attraverso un processo evolutivo e sono ora parti di enormi organizzazioni con decine e decine di team che lavorano su varie parti.
Detto questo si potrebbe costruire qualsiasi di queste. No, non solo usando Google Cloud Engine. Uno "stack" a proposito è solo un termine colloquiale che significa: "tutte le tecnologie utilizzate per costruire una data applicazione". Uno sviluppatore full stack, per esempio, è qualcuno che di solito è ben versato in tutta la serie di strumenti necessari per fare lo sviluppo front-end o back-end.
La maggior parte delle applicazioni moderne sono costruite come una piattaforma a più livelli. Hanno:
- Un front-end: questa è l'interfaccia web. Di solito è costruito con cose come .Net/C#, Java/Netbeans, HTML, Javascript, CSS, ecc....
- Un livello intermedio o livello di logica di business: questo è di solito fatto in Java o C# o C++ o qualche altro linguaggio pesante orientato agli oggetti.
- Un back-end: questo è il livello di accesso ai dati. Il database vero e proprio e/o la logica per accedervi. Questo può essere codificato in C# o Java e avere un database come MySQL, SQL Server, Oracle, ecc... o può anche usare qualcosa come Hadoop o NoSQL che sono nuovi tipi di database che sono parte del movimento dei big data e non database basati su set relazionali.
- Tutto questo gira su una piattaforma web server (Linux/Apache per un'applicazione Java o Python tipicamente e Win/IIS per un'applicazione .Net). C'è probabilmente una serie di server web che sono bilanciati nel carico. Insieme a server cluster sql o database in un centro di hosting dati e molto probabilmente più centri dati o parte di questo in una piattaforma di hosting cloud/virtualizzata come Amazon Web Services o la piattaforma Google Cloud.
Ci sono molte metodologie diverse per come si costruiscono applicazioni multi-tiered, come MVC, MVVM, MVP, .Net WebForms, Java beans, ecc...
Articoli simili
- Uber per X: Quali startup stanno lavorando su "Uber per X?
- So che piaccio a un ragazzo, ma a volte mi ignora come lasciare i miei snapchat aperti, ma ancora Snapchat altre persone. Lo fa apposta?
- Come caricare le mie foto da Instagram a Pinterest
- C'è qualche strumento gratuito di pianificazione dei post per Facebook, Twitter, Instagram e Pinterest per più account?