Nokia Belle -käyttöjärjestelmän kotiruutu
Accenture Nokian puolesta[1] (historiallisesti Symbian Ltd. ja Symbian Foundation)
1997 (nimellä EPOC32)
Viimeisin vakaa versio
Nokia Belle Feature Pack 2 (päivitetty Symbian Belle) (2. lokakuuta 2012)
Ytimen tyyppi
Reaaliaikainen mikroydin, EKA2
Suoritintuki
ARM, x86[3]
Lähdekoodimalli
Suljettu lähdekoodi, aiemmin avoin lähdekoodi (EPL-lisensoitu)
Alkuperäinen koodi oli omisteista,[4] siirtymä EPL-lisenssiin alkoi Symbian OS:n version 9.1 myötä
licensing.symbian.org
Symbian on älypuhelimille suunniteltu mobiilikäyttöjärjestelmä (OS) ja sovellusalusta, jota ylläpitää Accenture.[5] Symbianin kehitti alkujaan Symbian Ltd.,[6] Psionin EPOC:in jälkeläiseksi ja se toimii ainoastaan ARM-suorittimilla, vaikkakin julkaisematon x86-käännös oli olemassa. Monet merkittävät matkapuhelinvalmistajat, kuten Samsung, Motorola, Sony Ericsson ja ennen kaikkea Nokia, käyttivät Symbiania puhelimissaan. Se oli maailmanlaajuisella keskiarvolla mitattuna maailman suosituin älypuhelinten käyttöjärjestelmä vuoden 2010 loppuun saakka, jolloin Android ohitti sen.[7]
Symbian nousi kuuluisuuteen kun Nokia käytti sitä rakentamansa S60-ohjelmistoalustansa kanssa, joka julkaistiin alkujaan vuonna 2002 ja joka oli käytössä useimmissa Nokian älypuhelimissa. UIQ, toinen Symbian-alusta, oli olemassa samaan aikaan, mutta nämä kaksi alustaa eivät olleet keskenään yhteensopivia. Symbian^3, jota käytettiin ensimmäisen kerran Nokia N8:ssa, julkaistiin vuoden 2010 viimeisellä neljänneksellä S60:n ja UIQ:n seuraajaksi. Toukokuussa 2011 Symbian Anna -päivitys julkaistiin virallisesti ja sitä seurasi Nokia Belle -päivitys (alkuperäiseltä nimeltään Symbian Belle) elokuussa 2011.[8][9]
11. helmikuuta 2011 Nokia ilmoitti, että se tulisi käyttämään Microsoftin Windows Phone -käyttöjärjestelmää pääasiallisena älypuhelinalustanaan, ja Symbian tulisi olemaan sen franchise-alusta, pudottaen Symbianin Nokian ensisijaisena älypuhelinalustana.[10][11] 22. kesäkuuta 2011 Nokia teki ulkoistussopimuksen Accenturen kanssa. Accenture tarjoaa Symbian-pohjaista ohjelmistonkehitystä ja tukipalveluja Nokialle vuoteen 2016 saakka; noin 2800:sta Nokian työntekijästä tuli Accenturen työntekijöitä lokakuussa 2011.[12] Siirtymä saatettiin loppuun 30. syyskuuta 2011.[5] Nokia 808 PureView oli virallisesti viimeinen Symbian-älypuhelin.[13][14]
2.1 Käyttöliittymä
2.2 Selain
2.3 Useampien kielten tuki
2.4 Sovelluskehitys
3 Sovelluskehitys
3.3 Muut kielet
3.4 Käyttöönotto
4 Arkkitehtuuri
4.1 Teknologiatoimialueet ja paketit
4.2 Symbianin ydin
4.4 Käyttöjärjestelmä
5 Symbianin käyttöliittymän muunnelmat ja alustat
6 Symbian (S60)-versioiden vertailu
7 Markkinaosuus ja kilpailijat
8 Kritiikkiä
8.1 Haittaohjelmat
8.2 Alustan turvallisuuden ohittaminen
8.3 Versioiden historiaa
9.2 Ohjelmistonkehitykseen liittyvää
9.3 Symbian^3 EPL -lähdekoodi
9.4 Sovellukset
11 Kirjaluettelo
Pääartikkelit: EPOC (käyttöjärjestelmä), S60, MOAP ja UIQ
Symbianin logo huhtikuuhun 2009 saakka.
Symbian sai alkunsa Psionin 1980-luvulla luomasta EPOC-käyttöjärjestelmästä. Kesäkuussa 1998 Psion Softwaresta tuli Symbian Ltd., merkittävä yhteisyritys Psionin ja matkapuhelinvalmistajien Ericsson, Motorola ja Nokia kanssa.
Jälkeenpäin Symbianille luotiin useita erilaisia ohjelmistoalustoja, joita tukivat erilaiset ryhmän matkapuhelinvalmistajia. Niihin lukeutuvat S60 (Nokia, Samsung ja LG), UIQ (Sony Ericsson ja Motorola) ja MOAP(S) (vain japanilaisille, kuten esim. Fujitsulle, Sharpille jne.).
Kesäkuussa 2008 Nokia ilmoitti ostaneensa Symbian Ltd.:n ja uusi, itsenäinen, voittoa tavoittelematon järjestö nimeltä Symbian Foundation perustettiin. Nokia, NTT DoCoMo, Sony Ericsson ja Symbian Ltd. lahjoittivat omistamansa Symbian OS:n ja siihen liittyvät käyttöliittymät S60, UIQ ja MOAP(S) säätiölle tavoitteena tehdä Symbian-alustasta tekijänoikeusmaksuvapaa, avoimen lähdekoodin ohjelmisto OSI:in ja FSF:n hyväksymän Eclipse Public License (EPL) -lisenssin ehtojen mukaisesti. Alusta on nimetty Symbian OS:n seuraajaksi Symbian Foundationin virallisen julkaisun jälkeen huhtikuussa 2009. Symbian-alustasta tuli virallisesti avointa lähdekoodia helmikuussa 2010.[15]
Nokiasta tuli merkittävä tekijä Symbianin lähdekoodiin, koska sillä oli resurssit sekä Symbian OS:in ytimen että käyttöliittymän kehittämiseen. Siitä lähtien Nokia on ylläpitänyt omaa koodivarastoaan alustan kehitystä varten ja julkaissut säännöllisesti kehitystyönsä tuloksia julkiseen koodivarastoon.[16] Symbianin oli tarkoitus olla kesäkuussa 2008 julkistetun ja virallisesti huhtikuussa 2009 toimintansa aloittaneen Symbian Foundationin johtaman yhteisön kehittämä. Sen tavoitteena oli julkaista koko Symbian-alustan lähdekoodi OSI:n ja FSF:n hyväksymän Eclipse Public License (EPL) -lisenssin ehtojen mukaisesti. Koodi julkaistiin EPL-lisenssillä 4. helmikuuta 2010; Symbian Foundationin mukaan tämä tapahtuma oli laajin koodivaraston siirtymä avoimeen lähdekoodiin historiassa.[17][18]
Kuitenkin jotkin Symbian OS:n tärkeät osat oli lisensoitu kolmansilta osapuolilta, mikä esti säätiötä julkaisemasta täyttä lähdekoodia EPL-lisenssillä välittömästi; sen sijaan nämä lähdekoodin osat julkaistiin paljon rajoittavamman Symbian Foundation License (SFL) -lisenssin ehtojen mukaisesti ja pääsy täydelliseen lähdekoodiin oli rajattu jäsenyrityksille, vaikkakin jäsenyys oli avoin mille tahansa organisaatiolle.[19]
Marraskuussa 2010 Symbian Foundation ilmoitti, että maailmanlaajuisen talous- ja markkinatilanteen muutosten tähden (sekä myös sen tähden, että jäseniltä, kuten Samsungilta[20] ja Sony Ericssonilta ei tullut tukea), se tulisi muuttumaan pelkäksi lisensointiorganisaatioksi;[21] Nokia ilmoitti ottavansa Symbian-alustan ylivalvojuuden käsiinsä. Symbian Foundation tulee pysymään tavaramerkkien oikeuksien haltijana ja lisensoijana ja sen toiminnassa tulisi olemaan mukana vain ei-johtajia.
11. helmikuuta 2011 Nokia julkisti kumppanuutensa Microsoftin kanssa, jonka tuloksena Nokia ottaisi käyttöön Windows Phonen pääasiallisena älypuhelinalustanaan,[22] ja Symbianista tulisi sen franchise-alusta (ja näin ollen Symbian ei enää olisi sen pääasiallinen käyttöjärjestelmä älypuhelimille).[11] Tämän seurauksena Symbian-alustan suosio putosi nopeasti. Kesäkuussa 2011 tehty tutkimus osoittaa, että yli 39% tutkimuksen aikaan Symbiania käyttäneistä mobiilikehittäjistä suunnittelivat alustan hylkäämistä.[23]
5. huhtikuuta 2011 mennessä Nokia oli lopettanut Symbian-ohjelmiston julkaisemisen avoimen lähdekoodin lisenssillä ja rajannut yhteistyökumppaninsa pieneen, esivalittuun ryhmään yhteistyökumppaneita Japanissa.[4][24] EPL-lisenssillä julkaistu lähdekoodi on edelleenkin saatavilla kolmansien osapuolien koodivarastoissa.[25][26]
22. kesäkuuta 2011 Nokia teki ulkoistussopimuksen Accenturen kanssa. Accenture tarjoaa Symbian-pohjaista ohjelmistonkehitystä ja tukipalveluja Nokialle vuoteen 2016 saakka; noin 2800:sta Nokian työntekijästä tuli Accenturen työntekijöitä lokakuussa 2011.[12] Siirtymä saatettiin loppuun 30. syyskuuta 2011.[5]
Alkuperäisen S60v3:n päävalikko
Symbian S60v5:n päävalikko
Symbianissa on ollut natiivi grafiikkatyökalupakki, tunnettu nimellä AVKON (aiemmalta nimeltään Series 60), alusta saakka. S60 suunniteltiin sellaiseksi, että sitä voisi käyttää näppäimistön kaltaisella käyttöliittymällä, joita olivat ~15-näppäiminen matkapuhelimissa yleinen numeronäppäimistö tai minikokoiset QWERTY-näppäimistöt. AVKON-pohjaiset ohjelmat ovat binaaritasolla yhteensopivia Symbian-versioon Symbian^3 saakka ja sen kanssa.
Symbian^3 sisältää Qt-kehitysympäristön, joka on nyttemmin suositeltu käyttöliittymätyökalupaketti uusille sovelluksille. Qt:n voi myös asentaa vanhemmille Symbian-laitteille.
Symbian^4:n oli tarkoitus sisältää uusi graafisen käyttöliittymän kehitysympäristö, tunnettu nimellä "UI Extensions for Mobile" tai UIEMO (sisäinen projektinimi "Orbit"), joka olisi nimenomaan kehitetty kosketuspohjaisia laitteita varten ja se olisi kehitetty Qt Widgetin pohjalta; esikatselu julkistettiin tammikuussa 2010, mutta kuitenkin lokakuussa 2010 Nokia ilmoitti, että Orbit/UIEMO oli peruutettu.
Tällä hetkellä Nokia suosittelee, että kehittäjät käyttävät Qt Quickia QML:n kanssa; QML on uusi, korkean tason deklaratiivinen käyttöliittymä- ja komentosarjakehitysympäristö visuaalisesti näyttävien kosketusnäyttökäyttöliittymien kehittämiseen, joka mahdollistaa kehityksen sekä Symbianille että MeeGolle; se saatetaan olemassa oleviin Symbian^3-laitteisiin Qt-päivityksenä. Kun yhä useammat sovellukset asteittain siirtyvät Qt-käyttöliittymään, vanhentunut S60-runko (AVKON) poistetaan käytöstä jossain vaiheessa, mikä rikkoo binaaritason yhteensopivuuden vanhojen S60-sovellusten kanssa.[27][28]
Pääartikkeli: Opera Mobile
Symbian^3:ssa ja vanhemmissa on sisäänrakennettu WebKit-pohjainen selain. Symbian oli ensimmäinen mobiilialusta, joka hyödynsi WebKitiä (kesäkuussa 2005).[29] Joidenkin vanhempien Symbian-mallien oletusselaimena on Opera Mobile.
Nokia julkaisi uuden, nopeamman selaimen Symbian Annan julkaisun mukana, jossa on paranneltu käyttöliittymä.[30]
Useampien kielten tuki[muokkaa | muokkaa wikitekstiä]
Symbianilla on vahva kotoistustuki, joka mahdollistaa maahantuojien ja kolmannen osapuolen ohjelmistonkehittäjien kotoistaa heidän Symbian-tuotteensa tukeakseen maailmanlaajuista jakelua.
Tämänhetkisellä Symbian-julkaisulla (Symbian Belle) on tuki 48:lle kielelle, jotka Nokia saattaa laitteille saataville kielipakettien muodossa (kokoelma kieliä, jotka kattavat myyntialueella yleisesti puhutut kielet). Kaikissa kielipaketeissa on englannin kieli (tai sen paikallisesti oleellinen murre).
Symbian Bellessä tuetut kielet [murteineen] (ja kirjoitusasuineen) ovat:
arabia (arabialainen kirjaimisto),
baski (latinalainen kirjaimisto),
bulgaria (kyrillinen kirjaimisto),
englanti [UK] (latinalainen kirjaimisto),
englanti [US] (latinalainen kirjaimisto),
espanja (latinalainen kirjaimisto),
espanja [latinalainen Amerikka] (latinalainen kirjaimisto),
galego (latinalainen kirjaimisto),
heprea (heprealainen kirjaimisto),
hindi (devanagari-kirjaimisto),
hollanti (latinalainen kirjaimisto),
indonesia [Bahasa Indonesia] (latinalainen kirjaimisto),
islanti (latinalainen kirjaimisto),
italia (latinalainen kirjaimisto),
japani (japanin kirjoitusjärjestelmä)*
katalaani (latinalainen kirjaimisto),
kazakki (kyrillinen kirjaimisto),
kiina [PRC] (yksinkertaistetut merkit),
kiina [Hong Kong] (perinteiset merkit),
kiina [Taiwan] (perinteiset merkit),
kreikka (kreikkalainen kirjaimisto),
kroatia (latinalainen kirjaimisto),
latvia (latinalainen kirjaimisto),
liettua (latinalainen kirjaimisto),
malaji [Bahasa Malaysia] (latinalainen kirjaimisto),
norja (latinalainen kirjaimisto),
persia [farsi],
puola (latinalainen kirjaimisto),
portugali (latinalainen kirjaimisto),
portugali [brasilianportugali] (latinalainen kirjaimisto),
ranska (latinalainen kirjaimisto),
ranska [kanadanranska] (latinalainen kirjaimisto),
romania [Romania] (latinalainen kirjaimisto),
ruotsi (latinalainen kirjaimisto),
saksa (latinalainen kirjaimisto),
suomi (latinalainen kirjaimisto),
serbia (latinalainen kirjaimisto),
slovakki (latinalainen kirjaimisto),
sloveeni (latinalainen kirjaimisto),
tagalog [filipino] (latinalainen kirjaimisto),
tanska (latinalainen kirjaimisto),
thai (thai-aakkoset),
tšekki (latinalainen kirjaimisto),
turkki (latinalainen kirjaimisto),
unkari (latinalainen kirjaimisto),
ukraina (kyrillinen kirjaimisto),
urdu (arabialainen kirjaimisto),
venäjä (kyrillinen kirjaimisto),
vietnam (latinalainen kirjaimisto).
viro (latinalainen kirjaimisto),
Symbian Belle on ensimmäinen julkaisu, jossa on mukana tuki kazakin kielelle, kun taas korean kielen tuki on poistettu.
Japanin kieli on saatavilla vain Symbian^2-laitteisiin, sillä ne tehdään Japanissa, ja muilla Symbian-laitteilla japanin kielen tuessa on silti puutteita.
Sovelluskehitys[muokkaa | muokkaa wikitekstiä]
Symbian v9.3 S60v3-käyttöliittymällä Nokia 6710 -puhelimessa.
Vuonna 2010 Symbian otti käyttöön standardi-C++:n Qt:n kanssa pääasialliseksi ohjelmistonkehityspaketikseen; sitä voi käyttää joko Qt Creatorin tai Carbide.c++:n kanssa. Qt tukee vanhempia Symbian/S60 3rd- (alkaen Feature Pack 1:stä, tunnettu myös nimellä S60 3.1) ja Symbian/S60 5th Edition (tunnettu myös nimellä S60 5.01b) -julkaisuja, kuten myös uudempaa Symbian-alustaa. Se tukee myös Maemoa ja MeeGoa, Windowsia, Linuxia ja Mac OS X:ää.[31][32]
Vaihtoehtoinen sovelluskehitys onnistuu Python (katso Python for S60), Adobe Flash Liten tai Java ME:n avulla.
Symbian OS käytti aiemmin erityistä C++-versiota Carbide.c++-ohjelmointiympäristön (IDE) kanssa natiivina sovelluskehitysympäristönä.
Web Run time (WRT) on siirrettävä sovellusympäristö, joka mahdollistaa vekottimien luomisen S60-alustalla; se on lisäosa S60:n WebKit-pohjaiseen selaimeen, joka mahdollistaa useampien selaininstanssien käynnistämisen erillisinä JavaScript-sovelluksina.[33][34]
Qt[muokkaa | muokkaa wikitekstiä]
Vuonna 2010 Symbianin ohjelmistonkehityspaketti on tavallinen C++ Qt:tä käyttäen. Sitä voi käyttää joko Qt Creatorin tai Carbiden (vanhempi integroitu ohjelmointiympäristö, jota käytettiin ennen Symbian-kehitykseen) kanssa.[31][35] Puhelinsimulaattori mahdollistaa Qt-sovellusten testaamisen. Simulaattorille käännetyt sovellukset ovat käännetty kehitysalustan natiiville koodille sen sijaan, että niitä pitäisi emuloida.[36] Sovelluskehityksessä voi käyttää joko C++:aa tai QML:ää.
Symbian C++[muokkaa | muokkaa wikitekstiä]
Koska Symbian-käyttöjärjestelmä on kirjoitettu C++-kielellä käyttäen Symbianin koodausstandardeja, on mahdollista kehittää Symbian C++:aa käyttämällä, vaikkakin se ei ole standarditoteutus. Ennen Qt-ohjelmistonkehityspaketin julkaisua, tämä oli normaali kehitysympäristö. Oli olemassa useita Symbianiin pohjautuvia alustoja, jotka tarjosivat ohjelmistonkehityspaketteja (SDK) ohjelmistonkehittäjille, jotka halusivat kehittää Symbian OS -laitteille; näistä tärkeimmät olivat UIQ ja S60. Yksittäisillä puhelintuotteilla tai -perheillä oli usein valmistajan sivuilta ladattavia ohjelmistonkehityspaketteja tai ohjelmistonkehityspakettien laajennoksia.
Ohjelmistonkehityspaketit sisältävät dokumentaatiota, Symbian OS -ohjelmiston kääntämiseen tarvittavat otsikko- ja kirjastotiedostot sekä Windows-pohjaisen emulaattorin ("WINS"). Symbian OS:n versioon 8 saakka ohjelmistonkehityspaketit sisälsivät myös version GCC-kääntäjästä (ristikääntäjä), jota tarvittiin kääntämään ohjelmisto laitteessa toimivaksi.
Symbian OS 9 ja Symbian-alusta käyttävät uutta ABI:a ja tarvitsevat erilaisen kääntäjän. Kääntäjiä on useita erilaisia, mukaan lukien uudempi versio GCC:stä.
Symbian C++ -ohjelmointi on vaikeaa oppia, koska Symbian C++ vaatii erityisten tekniikoiden, kuten kuvaajien, aktiivisten objektien ja siivouspinon, käyttöä. Tämä saattaa tehdä jopa melko yksinkertaisten ohjelmien toteuttamisesta vaikeampaa kuin muissa ympäristöissä. On mahdollista, että nämä 1990-luvun huomattavasti rajoittuneemmalle mobiililaitteistolle ja -kääntäjille kehitetyt tekniikat aiheuttivat tarpeetonta monimutkaisuutta lähdekoodissa, koska ohjelmoijien on ollut pakko kiinnittää huomiota matalan tason yksityiskohtiin sovelluskohtaisten ominaisuuksien sijaan. Vuonna 2010 nämä eivät enää ole ongelmia standardi-C++:aa ja Qt-ohjelmistonkehityspakettia käytettäessä.
Symbian C++-ohjelmointia tehdään yleensä integroidun ohjelmointiympäristön (IDE) kanssa. Aiempien versioiden kanssa kaupallista CodeWarrior-IDE:ä suosittiin. Vuonna 2006 CodeWarror-työkalujen korvaajaksi tuli Carbide.c++, Nokian kehittämä Eclipse-pohjainen IDE. Carbide.c++-versioita on neljä: Express, Developer, Professional, ja OEM, joissa jokaisessa on erilaiset kyvyt. Ilmaisella Express-versiolla voi tehdä ja julkaista täysin toimivia ohjelmistoja. Käyttöliittymän suunnittelu, virheenkorjaus kaatumistilanteessa jne. ovat saatavilla muissa, maksullisissa versioissa. Microsoft Visual Studion 2003- ja 2005-versioita tuetaan Carbide.vs-lisäosan avulla.
Muut kielet[muokkaa | muokkaa wikitekstiä]
Symbian v9.1 S60v3 -käyttöliittymällä Nokia E61 -puhelimessa
Symbian-laitteita voi myös ohjelmoida Pythonia, Java ME:tä, Flash Litea, Rubyä, .NET:iä, Web Runtime (WRT) -vekottimia ja standardia C/C++:aa käyttämällä.[37]
Visual Basics -ohjelmoijat voivat käyttää NS Basicia kehittääkseen sovelluksia S60 3rd Editionille ja UIQ 3 -laitteille.
Aiemmin Visual Basic-, Visual Basic .NET-, ja C#-ohjelmointi Symbianille oli mahdollista Microsoft Visual Studion lisäosan, nimeltään AppForge Crossfire, avulla. 13. maaliskuuta 2007 AppForge lopetti toimintansa; Oracle osti tekijänoikeudet, mutta