Grande dimensione eseguibile a causa di librerie / framework

1

La mia domanda sembra un po 'stupida.

Di solito ci viene suggerito di usare librerie o framework esistenti, per evitare di reinventare la ruota, o per ottenere alcune "buone pratiche" (ad esempio durante la distribuzione del software).

Sono di fronte a situazioni in cui la dimensione della libreria / framework è molto più grande del "codice eseguibile". Ad esempio, quando scrivo un'applicazione scritta in Java, potrei voler raggruppare librerie come Apache Commons e Guava. Per le applicazioni semplici (ad esempio giochi Minesweeper, calcolatrici, piccoli editor di testo) le dimensioni dell'eseguibile dovrebbero essere ben al di sotto di 500 KB. Queste librerie sono sostanzialmente più grandi delle dimensioni dell'eseguibile originale. Quindi, ho bisogno di lavorare ulteriormente (ad esempio rimuovendo codici extra mentre mi prendo cura degli usi di riflessione), il che è molto problematico.

Un altro esempio è un'applicazione web lato client. Supponiamo che scriva la mia domanda in HTML + JavaScript + CSS. Se gli utenti sono autorizzati a (so che questo non suona bene) trascinare il mio index.html in un browser, posso sicuramente distribuire tutti gli elementi in una dimensione molto piccola (qualcosa come il macOS Calculator incorporato può essere fatto entro 200 KB) . Tuttavia, se li raggruppo con Electron, il prodotto risultante diventerà molto più grande.

In questi casi, dovrei cambiare idea (ad esempio evitare di usare Guava, evitare di distribuire in forma nativa)?

Qualche idea è apprezzata. Grazie.

    
posta tonychow0929 05.06.2018 - 10:49
fonte

1 risposta

4

Perché pensi che il tuo eseguibile "dovrebbe" essere < 500 KB? Perché pensi di dover "lavorare" per ridurre il sovraccarico introdotto dalla dimensione dei quadri?

Non è più l'età dei floppy disk. La memory stick è ciò che era il dischetto quando ho imparato a programmare. 1 MB era quasi inimmaginabilmente grande; dopotutto, erano più informazioni di due romanzi messi insieme! Al giorno d'oggi è piuttosto troppo piccolo per noi da immaginare facilmente. La maggior parte delle altre misure di sforzo o dimensioni nel calcolo si sono gonfiate allo stesso modo.

Pertanto, non ha senso insistere sulle dimensioni dei programmi sub-MB al di fuori di una ristretta cerchia di appassionati di ministeri. Non fraintendermi, è emozionante e gratificante vedere qualcuno scrivere un file eseguibile Linux funzionante in 45 byte. Ma è un passatempo profondamente nerd e non ha spazio nello sviluppo di software professionale. "Abbastanza piccolo per i requisiti" batte "davvero, davvero piccolo ma costoso da produrre" in qualsiasi momento.

    
risposta data 05.06.2018 - 11:02
fonte

Leggi altre domande sui tag