È meglio usare già compilare plugin / estensioni o scrivere codice proprio nei progetti di programmazione [duplicato]

1

Sto creando un'app Web in PHP e Symfony .

Fondamentalmente se cerchiamo ci sono plugin / estensioni / pacchetti per quasi il 60% delle cose.

Il vantaggio di usarli è che puoi facilmente ottenere le tue funzionalità e che sarà mantenuto dall'autore e non dobbiamo preoccuparci della compatibilità.

Ma il loro lato negativo è

  1. A volte è difficile fare un po 'di personalizzazione se vogliamo un comportamento in più. In passato ho usato qualche estensione per funzionare ok per iniziare.
    Poi ho voluto fare qualcos'altro che non ero in grado di capire e alla fine ho dovuto codificare il mio. Non era efficiente ma avevo il pieno controllo.

  2. Inoltre, se dipendiamo dall'estensione, non impareremo molto poiché tutto viene eseguito dall'estensione. Quindi se ho bisogno di cambiare la lingua o il framework e quell'estensione non è disponibile in quell'ambiente, ho dovuto grattarmi la testa e ricominciare da capo.

Ma se non li uso, penso che sto perdendo il mio tempo. Sono confuso cosa dovrebbe essere fatto?

    
posta user26 25.02.2014 - 02:52
fonte

2 risposte

4

Un'altra risposta ha già elencato una buona lista di pros / cons, e comparativamente la mia risposta probabilmente sembrerà un po 'semplicistica , ma nella mia mente, la scelta è davvero semplice.

Se si tratta di un'estensione semplice con un investimento quasi illimitato, fallo da solo. Se si tratta di un'estensione di grandi dimensioni che richiederà uno o più giorni per essere completata, è sufficiente crearla da soli SE i requisiti richiesti giustificano la spesa del tempo. Non credo nel push di plug-in quadrati in un round-requirement: -p, quindi se i requisiti del progetto lo meritano ... vai su misura.

Spesso i plug-in esistenti cercano di essere tutto per tutti e aggiungono un sacco di complessità, complessità e confusione ... o funzionano ma sono un disastro programmatico e difficile da mantenere, quindi li evito per qualcosa di semplice. Tuttavia, nel mondo JavaScript, qualcosa come un datimepicker è un plug-in complesso che non ho intenzione di fare da solo, a meno che i requisiti non impongano che quelli esistenti non funzionino per qualche motivo, perché è troppo lungo un investimento temporale da giustificare il costo. Scrivere il mio non produrrebbe un picker drasticamente diverso, quindi l'unico punto in quel caso sarebbe per l'esperienza stessa.

Tuttavia, non è sempre o / o. Puoi anche avere il meglio di entrambi i mondi per qualsiasi progetto che si trova su github o repository distribuito simile. Basta forgiare il progetto, configurarlo per soddisfare le tue esigenze e quindi caricare gli aggiornamenti dal progetto principale nella tua forcella quando puoi e il tuo progetto può dipendere dalla forcella. Finché non lo riscrivi completamente, l'unione non dovrebbe essere troppo difficile.

    
risposta data 25.02.2014 - 19:28
fonte
3

Alcuni professionisti dell'uso di componenti / plug-in / estensioni / framework esistenti:

  • Non devi re-inventare la ruota. Questo può farti risparmiare tempo e denaro.
  • I componenti popolari sono probabilmente ben testati, ben supportati e ben documentati (in teoria ... si spera)
  • Comportamento coerente in tutte le applicazioni che utilizzano questi componenti, nonché comportamento coerente con altri sistemi che li utilizzano. Ciò potrebbe rendere UX migliore.
  • I nuovi sviluppatori che hanno familiarità con un framework popolare non devono imparare le cose fatte in casa.

Alcuni degli svantaggi dell'utilizzo di componenti / plug-in / estensioni / framework esistenti:

  • I componenti esistenti potrebbero non eseguire esattamente ciò di cui hai bisogno o che desideri, e la personalizzazione per ottenere esattamente ciò che desideri potrebbe essere molto difficile, se possibile.
  • Non hai sempre il controllo degli aggiornamenti e delle dipendenze. A volte questo è un problema.
  • Gli exploit nei componenti più diffusi potrebbero esporre vulnerabilità nella tua applicazione.
  • Se diventi strongmente dipendente da qualcosa che è disponibile solo per una piattaforma / lingua / OS / qualsiasi, passare a qualcosa di diverso sarà difficile.

Nel complesso, trovo che i professionisti di solito superano gli svantaggi. Sospetto che molte persone siano d'accordo, considerando quanto sono popolari i framework plug-in.

    
risposta data 25.02.2014 - 03:33
fonte