SharePoint-kehittäjän evoluutio

SharePoint-kehittäjän evoluutio

Palataanpa vielä hetkeksi toukokuun viimeisellä viikolla järjestettyyn European Collaboration Summit 2017:een, joka tänä vuonna järjestettiin aurinkoisessa ja lämpimässä Zagrebissa. European Collaboration Summit on kahden päivän konferenssi, jossa aiheina ovat Microsoftin pilvi- ja yhteistyöpalveluiden uusimmat trendit.

Kävin kuuntelemassa eniten sovelluskehittämiseen liittyviä luentoja, joista suurin osa käsitteli uutta SharePoint Framework sovelluskehitysmallia ja työkaluja, joihin kannattaa keskittyä tulevaisuudessa. Olen toiminut useita vuosia SharePoint ja Azure -sovelluskehittäjänä sekä arkkitehtinä, joten tapahtumasta odotin saavani tietoa, mihin käytän aikani ja energiani.

Moderni SharePoint-kehitys

Dan Holme puhui moderneista tiimisivuista ja moderneista viestintäsivustoista ja Vesa Juvonen SharePoint-kustomointien tilanteesta.

Merkittäviä julkistuksia uusista ominaisuuksista ei konferenssin aikana tullut, mutta muutaman uudistuksen haluaisin tuoda esille. Metatietosarakkeita luettelonäkymissä tuetaan nyt moderneissa kirjastoissa. Vesa Juvonen toi esille uudistuksia modernien sivustojen ja modernien kirjastojen räätälöimisestä. Esikatseluun on tulossa dev tenanteihin SharePoint Framework web-osien (SPFx) välisiä yhteyksiä (Web Part Connections). Ratkaisu on yksinkertainen subscription/eventti- pohjainen toteutus. Lisäksi, sivuissa ja kirjastoissa on nyt mahdollista lisätä omaa JavaScript-koodia uusien ”Application customizer” sekä ”Field customizer” kenttien avulla (linkki).

Jatkossa on myös mahdollista lisätä webhookeja SiteCreated-tapahtumiin. Tällä hetkellä niiden käyttö on rajoittunut vain luetteloihin liittyviin tapahtumiin.

Uusi kehitysmalli, uudet työkalut

Iso osa European Collaboration Summitin sovelluskehittäjille tarkoitetuissa esityksistä käsitteli SharePoint Frameworkiä ja sen uusia ominaisuuksia.

SharePoint Framework julkaistiin noin vuosi sitten ja se on vaihtoehtoinen kehitysmalli SharePoint Online kustomointien luomiseen. Jatkossa samat toiminnot ovat luvassa myös SharePoint 2016:een.

Toisin kuin palvelinpuolen webosat, SharePoint Frameworkin webosien koodit ajetaan käyttäjän selaimessa. SharePoint Framework webosat tuovat mukanaan myös etuja. Webosat toimivat mobiilikäytössä ja ovat responsiivisia, ilman ylimääräistä työtä. Tämän luulisi miellyttävän myös loppukäyttäjää.
SPFx-webosien luomiseen tarvittavat työkalut saattavat kuitenkin vaatia hieman uusien teknologien oppimista ja sisäistämistä. Kehitysympäristön pystyttämisessä ja sovelluksien kirjoittamisessa törmätään nopeasti Node.js, Gulp, Yeoman, TypeScript jne. sekä mahdollisesti johonkin moderniin JavaScript Frameworkiin, kuten React. Ei huolta, monet näistä komponenteista voidaan jättää huomiotta. Esimerkiksi perinteisen palvelinpuolen kehittäjän ei koskaan (tai hyvin harvoin) ole tarvinnut tietää, miten esimerkiksi msbuild.exe toimii. Node.js ja Gulpia voidaan käsitellä vastaavalla tavalla. Samoin Yeoman on vain työkalu uusien projektien perustamiseen. Ne ovat ”apureita”, jotka toimivat taustalla ja tarjoavat palveluita sovelluskehitykseen.

Osalle uutena tuttavuutena tulee varmasti TypeScript. Kielenä se on Microsofin kehittämä avoin kieli ja muistuttaa jossain määrin C# ja on JavaScriptin ”superset”. Näin JavaScript-koodi on jo TypeScript koodi, ja modernit SPFx web osat voidaan kirjoittaa suoraan JavaScript koodilla. Suositeltavaa on kuitenkin kirjoittaa koodi TypeScriptillä ja kääntää koodit JavaScriptiksi. Kielenä TypeScript tuo mukanaan monia etuja JavaScriptiin verrattuna, koodin kääntämisen aikaisen tarkistuksen, ”strongly typed” -objektit, luokat ja perintö ja niin edelleen.

Teknologiapino SPFx webosien kirjoittamiseen alusta on agnostinen, mikä mahdollistaa nykyaikaisten webosien kehittäminen muilla alustoilla kuin Microsoftin omalla. Linux- tai Mac-tietokoneen käyttö modernien SharePoint webosien tekemiseen on mahdollista.

Useilla luennoilla nostettiin esiin Microsoft Graph -palvelu. Palveluun on lisätty viime aikoina huomattavan paljon uusia ominaisuuksia ja parannuksia. MS Graph toimii abstraktointikerroksena enimmäkseen Office 365:n päällä, mutta myös muiden palvelujen, kuten Azure AD:n päällä. Graph tarjoaa helppokäyttöisen käyttöliittymän tietojen hakemiseen sekä manipulointiin SharePointia kustomoitaessa.

Käyttöliittymiä rakentaville on myös luvassa nannaa, sillä Microsoft on julkaissut Office UI Fabric -kirjaston, joka tarjoaa yleisimmät UI-elementit Microsoftin omista pilvipalveluista. UI Fabric -kirjaston avulla omista sovelluksista voidaan rakentaa ulkonäöllisesti samanlaisia kuin Microsoftin sovellukset ovat.

Mitä mallia tulisi käyttää?

Se riippuu täysin siitä mitä tarvitset. Jos tarvitset helposti toimivan responsiivinen käyttöliittymän ja mobile-first kokemuksen, SPFx on hyvä valinta. Toisaalta, koska modernit webosat toimivat kokonaan käyttäjän selaimessa, niillä on myös tietyt rajoitukset. Ne eivät sovi esimerkiksi pitkään käynnissä oleviin prosesseihin, kuten sivustojen provisiointiin. Yhtenä ongelmana on koodi, joka ajetaan korkeammilla käyttöoikeuksilla (elevated privileges). Korkeammilla käyttöoikeuksilla toimiva koodi on täysin erilainen aihe, omilla ongelmillaan, mutta joskus tähän on tarve. SPFx-kustomoinnit eivät tähän pysty, sillä koodi toimii aina loppukäyttäjän kontekstissa.

Mikäli tavoitteena on julkaista ratkaisuja Office-kauppaan, valintasi on SharePoint Add-in webosat, sillä ne ovat ainoat webosat, joilla on tuki tähän.

Loppujen lopuksi, kun valitaan mallia, tärkein kysymys on ”mitä tarvitsen?”. Jos tarve on tehdä palvelinpuolen räätälöinti esimerkiksi omalla tietokannalla, perinteinen SSOM on tähän hyvä vaihtoehto ja edelleen käytettävissä on-premises ympäristössä. Jos sinulla taas on vanhoja Add-in mallilla tehtyjä räätälöintejä, ne toimivat jatkossakin ja saattavat jopa olla parempi vaihtoehto kuin SharePoint Framework. Esimerkiksi SharePoint Add-in mallin tarjoamaa eristyskerrosta SharePoint Framework -mallista ei löydy.

Mikäli et tarvitse mitään näistä edellä mainituista ja haluat ratkaisun, joka integroituu kauniisti SharePointin omaan käyttöliittymään, toimii responsiivisesti ja toimii SharePointin mobiilisovelluksessa, valintasi on silloin moderni SPFx -malli.

Yhteenveto

Se riippuu täysin siitä mitä tarvitset. Jos tarvitset helposti toimivan responsiivinen käyttöliittymän ja mobile-first kokemuksen, SPFx on hyvä valinta. Toisaalta, koska modernit webosat toimivat kokonaan käyttäjän selaimessa, niillä on myös tietyt rajoitukset. Ne eivät sovi esimerkiksi pitkään käynnissä oleviin prosesseihin, kuten sivustojen provisiointiin. Yhtenä ongelmana on koodi, joka ajetaan korkeammilla käyttöoikeuksilla (elevated privileges). Korkeammilla käyttöoikeuksilla toimiva koodi on täysin erilainen aihe, omilla ongelmillaan, mutta joskus tähän on tarve. SPFx-kustomoinnit eivät tähän pysty, sillä koodi toimii aina loppukäyttäjän kontekstissa.

Mikäli tavoitteena on julkaista ratkaisuja Office-kauppaan, valintasi on SharePoint Add-in webosat, sillä ne ovat ainoat webosat, joilla on tuki tähän.

Loppujen lopuksi, kun valitaan mallia, tärkein kysymys on ”mitä tarvitsen?”. Jos tarve on tehdä palvelinpuolen räätälöinti esimerkiksi omalla tietokannalla, perinteinen SSOM on tähän hyvä vaihtoehto ja edelleen käytettävissä on-premises ympäristössä. Jos sinulla taas on vanhoja Add-in mallilla tehtyjä räätälöintejä, ne toimivat jatkossakin ja saattavat jopa olla parempi vaihtoehto kuin SharePoint Framework. Esimerkiksi SharePoint Add-in mallin tarjoamaa eristyskerrosta SharePoint Framework -mallista ei löydy.

Mikäli et tarvitse mitään näistä edellä mainituista ja haluat ratkaisun, joka integroituu kauniisti SharePointin omaan käyttöliittymään, toimii responsiivisesti ja toimii SharePointin mobiilisovelluksessa, valintasi on silloin moderni SPFx -malli.



Microsoft-arkkitehti ja kouluttaja, erityisosaamisena Microsoft Azure, SharePoint ja Office 365. Microsoft sertifioitu MCT, MCSD, MCSE, MCSA, MS, MCITP ja MCTS. Sähköposti ja Skype kim@onsight.fi, Twitter @kimpihlstrom.

Ei kommentteja.

Kommentoi