Core PHP vs PHP Framework: mitä sinun pitäisi käyttää?

Rakennan Intian PHP- ja PHP-kehysryhmiä vuodesta 2012 lähtien. Tässä kokemukseni:

1) Pienet ja keskisuuret verkkosovellukset: Käytä PHP-kehystä

Pienillä ja keskisuurilla verkkosovelluksilla on yleensä jokin erityinen tarkoitus, kuten:

  • vertaamalla hintoja ja näyttämällä paras hinta
  • näyttää erilaisia tuotteita ja antaa käyttäjien etsiä niitä
  • rekisteröityä joihinkin palveluihin ja antaa käyttäjien ladata kurssit ja tuotteet
  • tee varaus huoneisiin, ohjaamoihin tai vastaaviin
  • jne.

Näissä sovelluksissa käyttäjien määrä on noin 100-1000 päivässä.

Nämä kriteerit koskevat noin 90 prosenttia kaikista verkkosovelluksista.

Heille voit käyttää PHP-kehystä. Ehdotan yhtä seuraavista:

  • Laravel: nykyaikaisin PHP-kehys. Se luotiin vuonna 2011, ja web-kehittäjät ovat ottaneet sen uskomattoman käyttöön.
  • Symfony: Tätä kutsutaan yritystason verkkokehykseksi. Sitä käyttävät enimmäkseen keskisuurten ja suurten yritysten IT-osastot, jotka rakentavat pieniä ja keskisuuria alustoja asiakkailleen tai muille osastoille (markkinointi, myynti, henkilöstöhallinto, kirjanpito jne.)
  • Zend: on toinen yritystason kehys, jota on kokeiltu ja testattu monien vuosien ajan.

Uudet projektit aloitetaan yleensä Laravelin kanssa. Mutta suurin osa menneistä hankkeista oli aloitettu Symfony tai Zendissä, joten näet myös monia mahdollisuuksia.

On olemassa muita kehyksiä, kuten CodeIgniter, CakePHP ja YII. Niitä ei enää käytetä niin paljon. Mutta silti on web-kehittäjiä, jotka käyttävät näitä tekniikoita.

2) Suurin mahdollinen joustavuus tai suurin muokattavuus: Käytä Core PHP: tä

Oletetaan, että rakennat verkkosovellusta, jonka aiot lisensoida muille yrityksille. Kuten ERP, CRM, tiliohjelmisto tai vastaava. Käytä sitten Core PHP: tä tai puhdasta PHP: tä, kuten olit kutsunut.

Syynä tähän on se, että haluat rakentaa sovelluksesi haluamallasi tavalla.

Kuvaannollinen esimerkki: Vertaa sitä kuvaan. Voit piirtää tyhjästä mitä tarvitset ja rakentaa kuvan päälle mitä haluat. Puitteissa jotkut ihmiset sekä pöytä ja taustat olisi jo määritelty ennalta, mikä ei auta sinua, koska suunnitelmasi ei ole piirtää kuvaa nopeasti, vaan toiveidesi mukaan.

Varsinkin jos rakennat aika ajoin uusia moduuleja, et ehkä halua, että sinulla on kehys, joka ”estää sinua” tai tarjoaa toimintoja, joita et ehkä tarvitse.

Kunkin lähestymistavan edut ja haitat

1) Kehys

Plussat:

  • Rakenna nopeammin: Suuri etu on, että voit rakentaa nopeammin. Maailmassa, jossa haluat säästää rahaa ja sinun on saatava tuloksia nopeasti, tällä lähestymistavalla on merkitystä. Monet toiminnot, kuten lomakkeet, suojausominaisuudet, ovat jo käytettävissä, ja ne voidaan helposti asentaa.
  • Helpompaa nuoremmille kehittäjille: Nuorempi kehittäjä saattaa tehdä monia virheitä rakentaessaan uutta verkkosovellusta (maalaa uuden kuvan tyhjästä), mutta käyttämällä PHP-kehystä hän voi luottaa parhaisiin käytäntöihin.
  • Turvallisempi rakentaminen: Yritys- ja muiden verkkosovellusten oletetaan olevan turvallisia. Nämä turvaominaisuudet on sisäänrakennettu Laravelissa ja muissa tekniikoissa.

Haittoja:

  • Vähemmän joustava: Joskus ei voi vain tehdä asioita tyhjästä, vaan sinun on rakennettava toimintoja, joita ei ehkä tarvita kyseisessä projektissa.
  • Yläpuolella: Tämä liittyy myös takaisin joustavuuteen. Et ehkä tarvitse kaikkia asioita, jotka tulevat kehyksen mukana.

2) Puhdas PHP

Plussat:

  • Joustavuus: Rakenna mitä haluat. Rakenna uusi PHP-kehys, jota voit käyttää tarvittaessa muihin projekteihin.
  • Sinä hallitset: Sinulla on ohjauspyörä. Tee sovellus niin nopeasti kuin haluat, rakenna siihen upea skaalautuvuus.

Haittoja:

  • Lisää aikaa tarvitaan kehitykseen: Pienemmissä sovelluksissa kehitysaika voi olla sama kuin kehyksissä. Mutta mitä tulee keskisuuriin ja suuriin sovelluksiin, kehitykseen tarvitaan paljon enemmän aikaa.
  • Rakennetta on noudatettava: Laravelissa ja vastaavissa tekniikoissa on jo parhaiden käytäntöjen polku, jota voit seurata verkkokehityksessä. Tämä ei koske puhdasta PHP: tä. Täällä sinun on noudatettava verkkokehityskäytäntöjä, joita ei ole sisäänrakennettu. Sinulla on oltava kurinalaisuus seurata niitä. Muuten päädyt niin sanottuun spagettikoodiin, jonka PHP: llä ei ole hyvää mainetta.

Muita huomioitavia asioita

PHP: tä pidettiin pitkään vanhentuneena tekniikkana. Erityisesti Ruby on Railsia pidettiin hyvänä vaihtoehtona.

Varsinkin aikaisempi spagettikoodiarvio oli yksi syy siihen, miksi monet yritykset ovat kieltäytyneet käyttämästä tätä tekniikkaa.

Laravelin kanssa tämä käsitys muuttui. Adoptioprosentti on kasvanut moninkertaisesti. Erityisesti Zend-kehittäjät vaihtivat Laraveliksi.

Suurin osa hankkeista aloitetaan yhdellä kehyksellä. Harvoin on tapana, että käytetään vain PHP: tä.

MUTTA: Kun on kyse verkkoratkaisuista, joille on myönnetty lisenssi muille yrityksille (tai kutistekääreohjelmistoille, kuten kutsuisitte), nämä ratkaisut tehdään usein PHP: ssä.

PHP on yleistynyt viime vuosina

Tässä on joitain tekniikoita, jotka perustuvat PHP- tai PHP-kehyksiin:

  • Kauppa: Verkkokauppajärjestelmä, jota käytetään laajalti keskisuurissa yrityksissä Keski-Euroopassa.
  • Magento: Tämä kauppajärjestelmä perustuu Zendiin ja sitä käyttävät keskisuuret yritykset maailmanlaajuisesti.
  • WordPress: Kuka ei tunne WordPressiä? Se on maailman eniten käytetty sisällönhallintajärjestelmä. Muita esimerkkejä ovat TYPO3 , Drupal ja Contao .
  • Suuri määrä mukautettuja verkkoratkaisuja: Tässä viestissä se on mainittu useita kertoja. PHP: llä on rakennettu monia ERP-, CRM-, kirjanpito-, markkinointi-, myynti-ohjelmistoratkaisuja.

Johtopäätös

Jos rakennat joitain räätälöityjä ratkaisuja asiakkaillesi, kuten yritysasiakkaille, jotka tarvitsevat verkkosovellusta prosessiensa parantamiseksi tai jos sinulla on ohjelmistoratkaisu markkinointiosastolle (kirjoita mikä tahansa muu osasto), käytä sitten PHP-kehystä. Koska kehitys on nopeampaa (mikä yleensä vaaditaan tämäntyyppisiltä asiakkailta) ja on myös halvempaa kehittää (mikä auttaa myyntiprosessissa).

Jos rakennat itsellesi ratkaisua, jonka haluat lisensoida muille yrityksille tai verkon käyttäjille. Kysy sitten itseltäsi: Onko kyseessä tavallisempi verkkoratkaisu, kuten online-foorumi hintojen vertailemiseksi, vai jokin muu vakioratkaisu. Vai onko sinulla oltava hyvin erityinen joukko toimintoja, kuten oman tyyppinen CRM-järjestelmäsi? Sitten ydin PHP voi olla parempi ratkaisu.

Mikä on kokemuksesi?

Joitakin mielenkiintoisia linkkejä:
Hyvä artikkeli, joka vertaa PHP: tä ja kehyslähestymistapaa
Ero näiden tekniikoiden avulla tapahtuvassa kehityksessä näkyy tässä blogiartikkelissa


Kirjoittaja: Sascha Thattil työskentelee Software-Developer-India.com -sivustolla, joka on osa YUHIRO-ryhmää. YUHIRO on intialainen saksalainen yritys, joka tarjoaa ohjelmoijia IT-yrityksille, virastoille ja IT-osastoille.

Vastaa

This site uses Akismet to reduce spam. Learn how your comment data is processed.