Quando utilizzare un'API / libreria e quando scrivere da soli?

3

Sto lavorando su un sito web di grandi dimensioni e ho riflettuto molto su quando dovrei utilizzare un'API / libreria di terze parti e quando dovrei scrivere da zero la mia implementazione. Non c'è nessuna libreria là fuori che incorpori tutte le funzionalità di cui ho bisogno per il mio sito ma ci sono un certo numero di librerie che mi permetterebbero di implementare rapidamente diverse parti delle funzionalità del sito.

Ho un sacco di esperienza di programmazione e una buona quantità di PHP e Javascript, ma non ho mai lavorato su qualcosa di così grande. Questo è il mio progetto personale e so che per implementare tutte le funzionalità che voglio da zero richiederebbe più tempo che vorrei spendere, ma vorrei anche mantenere il mio utilizzo di API e librerie di terze parti al minimo in modo che possa implementare nuove funzionalità e correzioni da solo senza dover aspettare che qualcun altro rilasci aggiornamenti.

Quali sono alcuni dei criteri che utilizzi per decidere quando utilizzare un'API / libreria di terze parti e quando scrivere la tua implementazione?

    
posta James 10.07.2011 - 19:27
fonte

6 risposte

4

Fino a poco tempo fa ho lavorato a un grande progetto, in cui abbiamo deciso di utilizzare materiale di terze parti. All'inizio ha funzionato bene. Abbiamo le nostre cose insieme. Ma col passare del tempo, abbiamo scoperto che le librerie che usavamo erano troppo rigide. Abbiamo deciso di sostituire le librerie di terze parti pezzo per pezzo con il nostro codice, ora sapendo esattamente di cosa avevamo bisogno e come farlo.

Ho lasciato il progetto quando avevamo quasi finito di sostituire tutte le cose di terze parti con le nostre cose. Abbiamo iniziato molto lontano con il progetto all'inizio e abbiamo avuto qualcosa di funzionante e funzionante molto presto.

Ora lavoro su un grande progetto software nella società in cui sono impiegato. Il nostro architetto mi ha detto che quello che possiamo costruire noi stessi è molto meglio delle biblioteche di terze parti, ben sapendo, che costa molto tempo (e denaro) per costruire qualcosa, che è già disponibile.

La mia opinione è che l'utilizzo di terze parti va bene per ottenere progetti in tempi brevi, ma alla fine, dovresti fare affidamento sul tuo codice. Le librerie di terze parti sono spesso testate da molte persone e talvolta no (a seconda della fonte). Se lavori con attenzione e collaudi il tuo codice, puoi creare tutto ciò che puoi sognare. Costruisci il tuo piccolo repository di frammenti e classi e rendili riutilizzabili. Ti porterà più lontano alla fine.

    
risposta data 10.07.2011 - 19:46
fonte
3

Reinventare la ruota di solito non è la migliore idea. Creo le mie librerie personali se voglio imparare gli in e gli out di quel particolare scopo del codice, o, quando sento che sarebbe più veloce scrivere i miei che imparare quelli dei terzi se hanno scarsa documentazione o la libreria è conosciuta essere bacato Uso le librerie di terze parti tutte le volte che posso perché generalmente preferisco avere siti online il prima possibile perché è così che guadagnamo.

    
risposta data 10.07.2011 - 19:33
fonte
1

Non vedo il conflitto. Scrivi le tue funzioni e classi, che incorporano, estendono o incapsulano quelle delle API e delle librerie che usi. Aggiungi e modifica il codice a piacere.

Mentre lo fai, se vedi modi per astrarre alcune funzionalità in una tua libreria, puoi farlo.

    
risposta data 10.07.2011 - 19:33
fonte
0

Penso che quasi sempre dovresti usare le librerie esterne se non sono in conflitto con la licenza del software che stai utilizzando. Primo, perché dovrebbero facilitare lo sviluppo e impiegare meno tempo e in secondo luogo perché, essendo utilizzati da una comunità, hanno funzionalità comprovate. La decisione finale spetta a te, però.

    
risposta data 10.07.2011 - 19:34
fonte
0

Non ci sono motivi per iniziare da zero con la tua libreria. Le librerie esistenti incorporano migliaia di ore di lavoro e compatibilità cross-browser. Scegli la libreria che più corrisponde a ciò che desideri e si adatta al tuo stile e usala per tutto ciò che offre, quindi estendila per aggiungere tutto ciò che trovi mancante.

    
risposta data 10.07.2011 - 19:39
fonte
0

Come altri hanno fatto riferimento, penso che molto dipenda dal tuo orario. Se l'oggetto deve avere qualcosa che funzioni al più presto, è difficile battere le librerie di terze parti. Non è neanche una scelta o una, puoi certamente fondere il tuo codice. Mi terrei con le librerie che sono ben consolidate e amp; ampiamente usato, perché quelli tendono a funzionare bene e amp; di solito sono ben mantenuti.

    
risposta data 10.07.2011 - 20:10
fonte

Leggi altre domande sui tag