Quali sono i framework, gli stack e il middleware?

2

Spesso vedo molti termini (come stack di software, framework e middleware) lanciati in giro e sarebbe molto utile per qualcuno spiegare le differenze tra loro

Sono stato spinto dalla mia ricerca che ho fatto leggendo questo domanda .

Ho letto i relativi articoli di Wikipedia, ma sono ancora incerto sulle loro differenze.

Inoltre, c'è una differenza tra framework software e framework di applicazione ? Cosa sono esattamente?

    
posta 0xOffset 10.12.2011 - 04:47
fonte

2 risposte

12

Uno stack di software generalmente si riferisce a un insieme di tecnologie che collaborano per supportare lo sviluppo, la manutenzione e il funzionamento del software. Lo stack in questo contesto è un po 'colloquiale e non ha una definizione ufficiale, ma spesso include il tutto software richiesto per la tua soluzione (incluso il server web, il sistema operativo, eventuali estensioni speciali come memcache ecc., nonché strumenti di sviluppo come una piattaforma / lingua / IDE strettamente accoppiata. A volte, la definizione potrebbe anche estendersi a uno stack hardware come i servizi di cloud computing di Amazon.

Un framework ha una definizione più tecnica, e sebbene il termine sia talvolta usato in modo intercambiabile con la libreria, un framework è solitamente distinto da una proprietà chiamata Inversion of Control. Contrariamente a una libreria, in cui i metodi vengono richiamati dal programmatore dove necessario, l'uso di un framework di solito significa che gran parte della funzionalità dell'applicazione viene rimandata al framework, consentendo al programmatore di evitare di scrivere codice boilerplate e semplicemente di "riempire gli spazi vuoti", lasciando il framework per decidere quando è appropriato eseguire la core business logic.

Middleware è un po 'più esoterico, ma spesso si riferisce al software o all'interfaccia di un'applicazione creata per facilitare la comunicazione standard tra sistemi complessi. È possibile aspettarsi che il middleware esegua attività come l'analisi, l'autenticazione o solo un modo standard per comunicare i dati tra i sistemi. Contrariamente a una libreria o un framework, il middleware non è generalmente considerato uno "strumento di sviluppo" per dire e tende ad essere piuttosto strettamente integrato nei sistemi che facilita.

    
risposta data 10.12.2011 - 19:01
fonte
0

Tendo a pensarci in questo modo, ma questa è solo la mia opinione (non la scienza):

Stack: è un insieme di strumenti che servono allo scopo di fornire una soluzione software. Gli strumenti sono pensati per essere compatibili e complementari tra loro.

Framework: è un insieme di metodi, schemi, possibilmente strumenti o componenti che servono allo sviluppo di solo una parte della soluzione software.

Esempio:

Stack Microsoft ASP.NET: IIS, ASP.NET (Framework), HTML, CSS + MVC Framework (GUI) + Entity Framework (per la persistenza dei dati)

    
risposta data 10.12.2011 - 17:00
fonte

Leggi altre domande sui tag