Core PHP vs PHP Framework: hva skal du bruke?

Jeg bygger Core PHP- og PHP-rammeteam i India siden 2012. Her min erfaring:

1) Små til mellomstore webapplikasjoner: Bruk et PHP-rammeverk

Små til mellomstore webapplikasjoner har vanligvis et bestemt formål som:

  • sammenligne priser og vise den beste prisen
  • viser forskjellige produkter og lar brukerne søke i dem
  • registrer deg for noen tjenester og la brukere laste ned kursene og produktene
  • foreta en bestilling av rom eller drosjer eller lignende
  • etc.

Antall brukere vil være rundt 100 til 1000 per dag i disse applikasjonene.

Disse kriteriene gjelder for rundt 90 prosent av alle webapplikasjoner.

For dem kan du bruke et PHP-rammeverk. Jeg vil foreslå ett av følgende:

  • Laravel: det mest moderne PHP-rammeverket. Den ble opprettet i 2011 og har sett utrolig adopsjon av webutviklere siden den gang.
  • Symfony: dette er hva du vil kalle et nettrammeverk på bedriftsnivå. Den brukes mest av IT-avdelinger i mellomstore og store selskaper, som bygger små og mellomstore plattformer for sine kunder eller deres andre avdelinger (markedsføring, salg, HR, regnskap osv.)
  • Zend: er et annet rammeverk på bedriftsnivå, som er prøvd og testet i mange år.

Nye prosjekter startes vanligvis med Laravel. Men de fleste prosjekter fra fortiden hadde blitt startet i Symfony eller Zend, så du vil se mange muligheter også her.

Det er andre rammer som CodeIgniter, CakePHP og YII. De brukes ikke så mye lenger. Men fortsatt er det webutviklere som bruker disse teknologiene.

2) Maksimal fleksibilitet eller maksimal tilpasningsevne som trengs: Bruk Core PHP

Anta at du bygger en webapplikasjon, som du planlegger å lisensiere til andre selskaper. Som en ERP, CRM, kontoprogramvare eller lignende. Bruk så Core PHP eller ren PHP, som du hadde kalt det.

Årsaken til dette er at du vil bygge applikasjonen din slik du vil at den skal være.

Et figurativt eksempel: Sammenlign det med et bilde. Du kan tegne fra bunnen av det du trenger og bygge på toppen av det bildet hva du vil. I et rammeverk ville noen mennesker og tabeller og bakgrunner allerede være forhåndsdefinerte, noe som ikke ville hjelpe deg, da planen din ikke er å tegne bildet raskt, men i henhold til dine ønsker.

Spesielt hvis du bygger nye moduler fra tid til annen, vil du kanskje ikke ha et rammeverk som «holder deg tilbake» eller gir funksjoner som du kanskje ikke trenger.

Fordeler og ulemper ved hver tilnærming

1) Rammeverk

Fordeler:

  • Bygg raskere: Den store fordelen er at du kan bygge raskere. I en verden hvor du vil spare penger og trenger å få resultater raskt, er denne tilnærmingen fornuftig. Mange funksjoner, som skjemaer, sikkerhetsfunksjoner er allerede tilgjengelige og kan bygges raskt inn.
  • Enklere for juniorutviklere: En juniorutvikler kan gjøre mange feil når han bygger en ny webapplikasjon (maler et nytt bilde fra bunnen av), men ved å bruke et PHP-rammeverk kan han eller hun stole på beste praksis.
  • Å bygge sikrere: Enterprise- og andre webapplikasjoner skal være sikre. Disse sikkerhetsfunksjonene er innebygd i Laravel og andre teknologier.

Ulemper:

  • Mindre fleksibel: Noen ganger kan du ikke bare gjøre ting fra bunnen av, men må bygge på funksjoner som kanskje ikke er nødvendige i det aktuelle prosjektet.
  • Overhead: Dette kobles også tilbake til det første punktet av fleksibilitet. Du trenger kanskje ikke alle tingene som følger med rammeverket.

2) Ren PHP

Fordeler:

  • Fleksibilitet: Bygg hva du vil. Bygg et nytt PHP-rammeverk som du kan bruke til andre prosjekter om nødvendig.
  • Du har kontroll: Du har rattet. Gjør applikasjonen så raskt du vil, bygg litt god skalerbarhet i den.

Ulemper:

  • Mer tid som trengs for utvikling: For mindre applikasjoner kan tiden for utvikling være den samme som med rammer. Men når det gjelder middels til store applikasjoner, trengs det mye mer tid for utvikling.
  • Strukturen må følges: I Laravel og lignende teknologier er det allerede en fremgangsmåte du kan følge i webutvikling. Dette er ikke tilfelle for ren PHP. Her må du følge praksis for nettutvikling som ikke er innebygd. Du må ha disiplinen for å følge dem. Ellers vil du ende opp med den såkalte spaghetti-koden som PHP ikke har et godt rykte for.

Andre ting å vurdere

I lang tid ble PHP ansett som en utdatert teknologi. Spesielt Ruby on Rails ble sett på som et flott alternativ.

Spesielt argumentet fra spaghetti-koden fra før, var en av grunnene til at mange selskaper har unngått å bruke denne teknologien.

Med Laravel endret denne oppfatningen. Adopsjonsgraden har økt mangfoldig. Spesielt Zend-utviklere byttet til Laravel.

De fleste prosjekter er startet med en av rammene. Det er sjelden tilfelle at bare PHP brukes.

MEN: Når det gjelder nettløsninger som er lisensiert til andre selskaper (eller krympepakeprogramvare, som du vil kalle det), blir disse løsningene ofte laget i PHP.

PHP har blitt utbredt de siste årene

Her noen teknologier som er bygget på PHP- eller PHP-rammer:

  • Butikkutstyr: Et nettbutikksystem som er mye brukt i mellomstore selskaper i Sentral-Europa.
  • Magento: Dette butikksystemet er basert på Zend og brukes av mellomstore selskaper over hele verden.
  • WordPress: Hvem kjenner ikke WordPress? Det er det mest brukte Content Management System i verden. Andre eksempler er TYPO3 , Drupal og Contao .
  • Et stort antall tilpassede webløsninger: I dette innlegget har det blitt nevnt flere ganger. Det er mange ERP, CRM, regnskap, markedsføring, salgsprogramvareløsninger bygget med PHP.

Konklusjon

Hvis du bygger noen tilpassede løsninger for klientene dine, som en bedriftsklient, som trenger et webapplikasjon for å forbedre prosessene eller ha en programvareløsning for markedsføringsavdelingen (gå inn i en hvilken som helst annen avdeling), så bruk et PHP-rammeverk. Fordi utviklingen vil gå raskere (som vanligvis er et krav fra denne typen kunder), og det vil også være billigere å utvikle seg (noe som vil hjelpe i salgsprosessen).

Hvis du bygger en løsning for deg selv, som du vil lisensiere til andre selskaper eller nettbrukere. Så spør deg selv dette: Er det en mer standard nettløsning, som en online plattform for sammenligning av priser, eller en annen standardløsning. Eller trenger du å ha et veldig spesifikt sett med funksjoner, som din egen type CRM-system? Da kan kjernen PHP være den bedre løsningen.

Hva er din erfaring?

Noen interessante lenker:
En god artikkel som sammenligner PHP og rammeverket
Forskjellen i utvikling ved hjelp av disse teknologiene er vist i denne bloggartikkelen


Forfatteren: Sascha Thattil jobber på Software-Developer-India.com som er en del av YUHIRO Group. YUHIRO er en tysk-indisk bedrift som tilbyr programmerere til IT-selskaper, byråer og IT-avdelinger.

Legg igjen en kommentar

Dette nettstedet bruker Akismet for å redusere spam. Lær om hvordan dine kommentar-data prosesseres.