Core PHP vs PHP Framework: cosa dovresti usare?

Sto costruendo team di framework Core PHP e PHP in India dal 2012. Qui la mia esperienza:

1) Applicazioni web di piccole e medie dimensioni: utilizzare un framework PHP

Le applicazioni web di piccole e medie dimensioni di solito hanno uno scopo specifico come:

  • confrontare i prezzi e mostrare il miglior prezzo
  • mostrare prodotti diversi e consentire agli utenti di cercarli
  • registrarsi ad alcuni servizi e consentire agli utenti di scaricare i corsi e i prodotti
  • effettuare una prenotazione per camere o taxi o simili
  • eccetera.

Il numero di utenti sarà compreso tra 100 e 1000 al giorno in queste applicazioni.

Questi criteri si applicheranno a circa il 90% di tutte le applicazioni web.

Per loro, puoi utilizzare un framework PHP. Suggerirei uno dei seguenti:

  • Laravel: il più moderno framework PHP. È stato creato nel 2011 e da allora ha visto un’incredibile adozione da parte degli sviluppatori web.
  • Sinfonia: questo è quello che chiameresti un framework web di livello aziendale. Viene utilizzato principalmente dai reparti IT di aziende di medie e grandi dimensioni, che costruiscono piattaforme di piccole e medie dimensioni per i propri clienti o per gli altri reparti (marketing, vendite, risorse umane, contabilità, ecc.)
  • Zend: è un altro framework di livello aziendale, provato e testato da molti anni.

I nuovi progetti vengono solitamente avviati con Laravel. Ma la maggior parte dei progetti del passato sono stati avviati in Symfony o Zend, quindi vedrai molte opportunità anche qui.

Esistono altri framework come CodeIgniter, CakePHP e YII. Non sono più usati così tanto. Tuttavia, ci sono sviluppatori web che utilizzano queste tecnologie.

2) Massima flessibilità o massima personalizzazione necessaria: Usa Core PHP

Supponiamo che tu stia creando un’applicazione web, che hai intenzione di concedere in licenza ad altre aziende. Come un ERP, CRM, Account Software o simili. Quindi usa Core PHP o PHP puro, come lo avevi chiamato.

Il motivo è che vuoi creare la tua applicazione come vuoi che sia.

Un esempio figurativo: confrontalo con un’immagine. Puoi disegnare da zero ciò di cui hai bisogno e costruire su quell’immagine quello che vuoi. In un quadro, alcune persone, tavolo e sfondi sarebbero già predefiniti, il che non ti aiuterebbe, poiché il tuo piano non è quello di disegnare l’immagine velocemente, ma secondo i tuoi desideri.

Soprattutto se stai costruendo nuovi moduli di volta in volta, potresti non voler avere un framework che “ti trattiene” o fornisce funzionalità che potresti non aver bisogno.

Vantaggi e svantaggi di ciascun approccio

1) Struttura

Professionisti:

  • Costruisci più velocemente: Il grande vantaggio è che puoi costruire più velocemente. In un mondo in cui vuoi risparmiare denaro e devi ottenere risultati rapidamente, questo approccio ha senso. Molte funzionalità, come moduli, funzionalità di sicurezza sono già disponibili e possono essere integrate rapidamente.
  • Più facile per gli sviluppatori junior: Uno sviluppatore junior potrebbe commettere molti errori durante la creazione di una nuova applicazione Web (dipingendo una nuova immagine da zero), ma utilizzando un framework PHP può fare affidamento sulle migliori pratiche.
  • Costruire in modo più sicuro: Si suppone che le applicazioni Web aziendali e di altro tipo siano sicure. Queste funzionalità di sicurezza sono integrate in Laravel e in altre tecnologie.

Contro:

  • Meno flessibile: A volte non puoi semplicemente fare le cose da zero, ma devi costruire su funzionalità che potrebbero non essere necessarie in quel particolare progetto.
  • Spese generali: Questo si ricollega anche al primo punto di flessibilità. Potresti non aver bisogno di tutte le cose fornite con il framework.

2) PHP puro

Professionisti:

  • Flessibilità: Costruisci quello che vuoi. Crea un nuovo framework PHP che puoi riutilizzare per altri progetti, se necessario.
  • Hai il controllo: Hai il volante. Rendi l’applicazione più veloce che desideri, crea una grande scalabilità in essa.

Contro:

  • Più tempo necessario per lo sviluppo: Per le applicazioni più piccole, il tempo per lo sviluppo potrebbe essere lo stesso dei framework. Ma quando si tratta di applicazioni medio-grandi, è necessario molto più tempo per lo sviluppo.
  • La struttura deve essere seguita: In Laravel e tecnologie simili, esiste già un percorso di best practice che puoi seguire nello sviluppo web. Questo non è il caso del puro PHP. Qui è necessario seguire le pratiche di sviluppo web che non sono integrate. Devi avere la disciplina per seguirli. Altrimenti, ti ritroverai con il cosiddetto codice spaghetti per il quale PHP non ha una buona reputazione.

Altre cose da considerare

Per molto tempo PHP è stato considerato una tecnologia obsoleta. Soprattutto Ruby on Rails è stato considerato un’ottima alternativa.

Soprattutto l’argomento del codice spaghetti di prima, è stato uno dei motivi per cui molte aziende hanno evitato di utilizzare questa tecnologia.

Con Laravel questa nozione è cambiata. Il tasso di adozione è aumentato molte volte. Soprattutto gli sviluppatori di Zend sono passati a Laravel.

La maggior parte dei progetti viene avviata con uno dei framework. È raro che venga utilizzato solo PHP.

MA: Quando si tratta di soluzioni web concesse in licenza ad altre società (o software di confezionamento, come lo chiameresti), queste soluzioni spesso sono realizzate in PHP.

PHP si è diffuso negli ultimi anni

Ecco alcune tecnologie che sono costruite su framework PHP o PHP:

  • Negozio: Un sistema di negozi online ampiamente utilizzato nelle medie imprese dell’Europa centrale.
  • Magento: Questo shopsystem è basato su Zend ed è utilizzato da aziende di medie dimensioni in tutto il mondo.
  • WordPress: Chi non conosce WordPress? È il Content Management System più utilizzato al mondo. Altri esempi sono TYPO3 , Drupal e Contao .
  • Un gran numero di soluzioni web personalizzate: In questo post se ne è parlato più volte. Esistono molte soluzioni ERP, CRM, contabilità, marketing e software di vendita realizzate con PHP.

Conclusione

Se stai creando alcune soluzioni personalizzate per i tuoi clienti, come un cliente aziendale, che ha bisogno di un’applicazione web per migliorare i propri processi o di avere una soluzione software per il proprio reparto marketing (entra in qualsiasi altro reparto), utilizza un framework PHP. Perché lo sviluppo sarà più veloce (che di solito è un requisito per questi tipi di clienti) e sarà anche più economico da sviluppare (il che aiuterà nel processo di vendita).

Se stai costruendo una soluzione per te stesso, che vuoi concedere in licenza ad altre aziende o utenti web. Quindi chiediti questo: è una soluzione web più standard, come una piattaforma online per confrontare i prezzi, o qualche altra soluzione standard. O hai bisogno di un set di funzionalità molto specifico, come il tuo tipo di sistema CRM? Quindi il core PHP potrebbe essere la soluzione migliore.

Qual è la tua esperienza?

Alcuni link interessanti:
Un buon articolo che mette a confronto PHP e l’approccio del framework
La differenza nello sviluppo che utilizza queste tecnologie è mostrata in questo articolo del blog


L’autore: Sascha Thattil lavora presso Software-Developer-India.com che fa parte del gruppo YUHIRO. YUHIRO è un’impresa tedesco-indiana che fornisce programmatori ad aziende IT, agenzie e dipartimenti IT.

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.