I siti con un back-end dinamico usano le stesse lingue del front-end del sito / della piattaforma?

Siti come sfdc e uber sono generalmente organizzati in livelli, in cui ogni livello è un client di livello inferiore e un server di livello superiore. Il browser o l’applicazione mobile sarebbe il livello più alto e più in generale “il client”. I client interagiscono con i server tramite l’interfaccia di programmazione dell’applicazione o API, che specifica il formato delle richieste e le relative risposte.

I front-end sono scritti nella lingua appropriata per l’ambiente: JavaScript per un browser, Objective-C per iOS e Java per Android. I back-end sono generalmente scritti in un’ampia varietà di lingue a seconda della funzione principale del servizio back-end. I linguaggi di implementazione più diffusi sono Java, Ruby (su Rails), Python e così via. Altri servizi di back-end sono database come SQL e MongoDB e dispongono di ambienti di programmazione propri.

Poiché app come quelle che hai menzionato sono ampiamente ridimensionate e ad alte prestazioni, le persone coinvolte nella scrittura dei diversi livelli in genere hanno una conoscenza approfondita del dominio adeguata al loro linguaggio e ambiente, e sarebbe improbabile che un singolo programmatore abbia le conoscenze per implementare qualcosa come Uber. Più in genere si tratterebbe di team di programmatori che collaborano che lavorano su browser, client mobili, server di database e servizi.

Una volta che i livelli sono stati creati, collaborano tra loro tramite le API. Ad esempio, quando si accede a un’applicazione sul proprio dispositivo mobile, in genere effettua una chiamata a un server in un formato specifico che richiede informazioni di autenticazione e il server risponde con informazioni sulla necessità all’utente di immettere le credenziali. Dopo l’autenticazione dell’utente, il client generalmente chiama un’API per ottenere informazioni sull’account dell’utente che potrebbero assumere la forma di un cosiddetto messaggio GET che richiede informazioni sull’utente per un ID utente specifico. Il server deve garantire che la specifica richiesta che viene fornita provenga da un client valido (e non da alcuni hacker che si intrecciano), per conto di un utente autorizzato (credenziali attuali e valide), che è un argomento enorme in sé e per sé.

La maggior parte delle API oggi sono definite utilizzando metodi http, anche se solo per lo scambio di dati. Vale a dire, un’API specificherà che una richiesta GET http (utilizzata anche dai browser) inviata a [code] http://api.server.com/v1/users/ {… con chiavi di accesso e token presentati correttamente restituirà un http messaggio contenente informazioni in genere in formato XML o JSON. I clienti quindi utilizzano i post dei verbi http e li inseriscono per creare rispettivamente nuovi e modificare oggetti esistenti. Nel caso di salesforce, il client può chiamare un server e chiedere un elenco di contatti appartenenti all’opportunità attualmente aperta sul dispositivo. Il client emetterebbe una richiesta GET con le credenziali appropriate allegate, il server a sua volta farebbe una richiesta di un livello di database inferiore per ottenere i record di interesse, impacchettarli in un formato sicuro per Internet e rispedirli al client. Il software nel client dovrebbe quindi decomprimere il messaggio e visualizzare l’elenco per l’utente.

Creare un’app come Uber è molto più lavoro di quanto appaia in superficie. Esistono livelli di servizi e interfacce utente da scrivere per ciascun touchpoint dell’utente finale. Ogni livello deve avere un’API documentata in modo che altri livelli possano trarre vantaggio dai suoi servizi. Tutto ciò deve essere fatto in modo da rendere sublime l’esperienza dell’utente.

More Interesting

Quale approccio seguiresti per codificare Facebook? Con cosa inizieresti? Front-end o back-end?

Qual è lo stack tecnologico di Quora?

Quale architettura di backend usa Shazam? Come riconoscono la musica così velocemente?

Il database M (scritto in MUMPS) è un database NoSQL che esiste dagli anni '60. È ancora ampiamente usato come back-end di ospedali (VA) e banche in tutto il mondo. Data la reputazione di alta velocità e prestazioni, perché non ha guadagnato più popolarità nel mondo della programmazione?

Voglio diventare uno sviluppatore back-end. Quale lingua è meglio C # o PHP?

Quali dovrebbero essere gli skillset desiderati di uno sviluppatore se lavoro come sviluppatore iOS con 2,5 anni di esperienza? Dominio back-end / mobile

Quali conoscenze di sicurezza devo sapere per essere uno sviluppatore back-end?

Esiste un back-end consigliato di Vue.js?

Cos'è lo sviluppo web attuale? Qualcuno può spiegarmi brevemente su tutte le lingue di back-end e front-end? Quali lingue sono utilizzate nel front-end e nel back-end? Quali sono gli usi e come posso impararli e in quale sequenza?

Come devo passare dallo sviluppo del front-end al back-end?

Quali sono alcuni dei vantaggi di Node.js rispetto ad altri framework di back-end?

Apple utilizzerà Swift per lo sviluppo del backend?

Quale sarà il ruolo degli sviluppatori back-end nell'era delle tecnologie senza server?

Con quale velocità uno sviluppatore iOS dovrebbe essere in grado di adattarsi allo sviluppo del back-end del nodo?

.NET o PHP sono migliori per un utente back-end del server?