Mikä on Symfony ja kuka sitä käyttää Suomessa?
PHP on yleisin verkkosovellusten kirjoittamiseen käytettyä ohjelmointikieli. Useat suositut sovellukset ja sovelluskehykset on rakennettu PHP:llä. Esimerkiksi WordPress ja Wikipedian taustajärjestelmä MediaWiki ovat PHP-sovelluksia. PHP:n kehittyessä sille on nykyään mahdollista kirjoittaa irrallisia ohjelmistokomponentteja joita voidaan hallinnoida Composer-paketinhallinnalla ja noutaa automaattisesti Packagist pakettihakemistosta.
Symfony komponentteja voidaan hyödyntää kiihdyttämään sovellusten kehittämistä PHP kielellä. Uudelleenkäytettävien ohjelmistokomponenttien avulla vältetään jo ratkaistujen ongelmien uudelleen ratkontaa. Yksittäiset komponentit ratkaisevat erittäin tarkkaan määritellyn ongelman. Tämä ja avoin lähdekoodi takaavat että myös tekninen laatu paranee jaettuja komponentteja käyttämällä.
Drupal on yleisimmin mainittu avoimen lähdekoodin sovellus joka käyttää Symfony komponentteja laajassa mittakaavassa. Drupal käyttää versiosta 8 lähtien yksittäisiä Symfony komponentteja vanhemman lähdekoodin osana. Voit myös käyttää Symfonyä kokonaisten sovelluskehysten pohjana. Itseasiassa Laravel ja muut suositut ohjelmistokehykset käyttävätkin osia Symfony projektista.
Komponenttikirjaston lisäksi Symfony on myös kokonainen sovelluskehys (Symfony Full Stack Framework). Se on dokumentoitu rakenne ja ohjelmakoodia jonka avulla voit kehittää sovelluksia määritellyllä tavalla. Se on rakennettu kokonaisuudessaan Symfony komponenttien päälle ja yhdistää ne toimivaksi kokonaisuudeksi. Sovelluskehys tarjoaa valmiit työkalut muun muassa istuntojen hallintaan, sovellusten kääntämiseen sekä sivupohjien luontiin.
Vaikka Symfony sovelluskehys esitellään usein HMVC-sovelluskehyksenä (Hierarchical Model View Controller), ei siinä itseasiassa ole laisinkaan Model-, eli malli, -kehystä. Sovelluskehyksen Standard Edition voi käyttää osana ORM ja ODM kirjastoja kuten Doctrine ja Propel. Näiden avulla Symfony sovellukset voivat ottaa vaivattomasti yhteyttä sekä relaatiotietokantoihin (kuten MySQL) sekä dokumenttitietokantoihin (kuten MongoDB).
Uusien sovellusten kehittämisen lisäksi Symfony sovelluskehystä voi käyttää tehokkaasti myös vanhojen sovellusten modernisointiin. Näin ohjelmistokoodia kirjoitetaan taustalla uusiksi, ilman että sovelluksen käyttäjät välttämättä huomaavat mitään muutoksia. Tällä tavalla voidaan hallita suurten sovellusten teknistä velkaa. Tunnetuin esimerkki tästä toimintamallista on eZ Publish sisällönhallinnan järjestelmän siirtäminen räätälöidyltä alustalta Symfony sovellukseksi.
Symfony tunnetaan laadustaan, vakaudestaan sekä taaksepäin yhteensopivuudestaan. Symfony yhteisö julkaisee aika ajoin pitkän tukikaaren versiot (LTS release), joita tuetaan kolme vuotta. Tämän kaaren aikana taataan Symfony sovelluskehyksellä rakennettujen sovellusten taaksepäin yhteensopivuus pienten versioden välillä. Esimerkiksi versiolla 2.3.0 rakennettu sovellus voidaan päivittää turvallisin mielin versioon 2.3.9.
Kirjoitushetkellä Symfonyn tuorein versio on 2.7.3. Seuraava suuri versio, 3.0, julkaistaan vuoden 2015 loppupuolella. Sovellusten siirtäminen Symfony versiosta 1 versioon 2 vaati suuria muutoksia, mutta siirtyminen versiosta 2 versioon 3 on helpompaa. Kehittäjät voivat jo varautua julkaisuun seuraamalla version 2.7 luomaa lokitiedostoa, joka kertoo mitkä toiminnallisuudet eivät enää toimi versiossa 3.
Symfony Suomessa
Symfony on Suomessa laajalti käytössä eri verkkosivustoilla ja verkkopalveluissa tavalla tai toisella. Varsinaista Symfonyn käyttäjäyhteisöä Suomeen ei ole syntynyt, vaan sitä käsitellään enemmän Symfonyä käyttävissä yhteisöissä, kuten Drupal-käyttäjien parissa. Symfony on merkittävänä osana useissa muissakin sisällönhallinnan järjestelmissä: Symfony ja sisällönhallintajärjestelmät
Suomalaisten laajasti käyttämistä kansainvälisistä verkkopalveluista esimerkiksi hotellipalvelu Trivago, Spotify.com verkkopalvelu, Foxplay videopalvelu sekä aikuisviihdepalvelu YouPorn käyttävät Symfony sovelluskehystä.
Kesäkuussa 2015 järjestettiin kuitenkin Symfony Helsinki Meetup, jossa oli paikalla lähes 80 keskustelemassa PHP-kielestä ja Symfonyn eri olomuodoista ja käytöistä.
Lue lisää Symfonystä:
- Opiskele Symfonyn käyttöä vaiheittain
- Symfony on Wikipedia
- The official Symfony site
- PHP and Symfony: Structure, Stability and Flexibility
- Learn Symfony with Silex, the Demo App and the Best Practices Book
- Symfony and Content Management: Comparing Bolt, Drupal 8 and eZ Platform
- Improve Quality with Software Components
- Create your own PHP Framework with Symfony