{"id":4177,"date":"2025-12-16T07:37:41","date_gmt":"2025-12-16T07:37:41","guid":{"rendered":"https:\/\/www.yuhiro-global.com\/kaytetaanko-xamarinia-edelleen\/"},"modified":"2025-12-16T07:46:29","modified_gmt":"2025-12-16T07:46:29","slug":"kaytetaanko-xamarinia-edelleen","status":"publish","type":"post","link":"https:\/\/www.yuhiro-global.com\/fi\/kaytetaanko-xamarinia-edelleen\/","title":{"rendered":"K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen?"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen?<\/h2>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Developers.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"250\" src=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Developers.jpg\" alt=\"\" class=\"wp-image-4156\" srcset=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Developers.jpg 575w, https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Developers-300x130.jpg 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/a><\/figure>\n<\/div>\n<p>Xamarin on suosittu C#-ohjelmointikehys, jossa k\u00e4ytet\u00e4\u00e4n C#-kielt\u00e4. Microsoft osti sen, muutti sen avoimen l\u00e4hdekoodin tuotteeksi ja lis\u00e4si sen suosiota. Sit\u00e4 k\u00e4ytet\u00e4\u00e4n mobiilisovellusten luomiseen k\u00e4ytt\u00e4en C#- ja.NET-kehyst\u00e4 Androidille, iOS:lle ja Windowsille. Lis\u00e4ksi se antaa ohjelmoijille mahdollisuuden jakaa koodinsa kaikilla alustoilla.<\/p>\n\n<p>Vaikka sill\u00e4 on monia etuja, kehys on mahdollisesti kuolemassa. Koska se on kuitenkin muuttumassa .NET MAUI:ksi, sit\u00e4 ei voi sanoa kuolleeksi. Kuten toukokuussa 2020 ilmoitettiin, Microsoft poistaa Xamarin.Formsin k\u00e4yt\u00f6st\u00e4 marraskuussa 2021 Multiform App User Interface -k\u00e4ytt\u00f6liittym\u00e4n hyv\u00e4ksi, joka korvaa kehyksen. T\u00e4ss\u00e4 artikkelissa k\u00e4sitell\u00e4\u00e4n kehyst\u00e4, sen suosiota ja tulevaisuutta kehitysalalla.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Puitteiden taustatiedot<\/strong><\/h3>\n\n<p>Kehyksen kehittyminen oli v\u00e4ist\u00e4m\u00e4t\u00f6nt\u00e4, sill\u00e4 sen kehityshistoria oli ongelmallinen ja sekava. Vaikka se oli hyv\u00e4 teoreettinen kehys, se oli huonosti toteutettu, t\u00e4ynn\u00e4 virheit\u00e4 ja paisunut. Siksi Microsoft korvasi sen MAUI:lla kilpaillakseen uudempien, k\u00e4ytt\u00e4j\u00e4yst\u00e4v\u00e4llisempien ja k\u00e4tev\u00e4mpien nykyaikaisten kehityskehysten kanssa. Kehitt\u00e4jien oli vaikea ty\u00f6skennell\u00e4 kehyksen kanssa monista syist\u00e4. Sen suurimmat haitat ovat seuraavat.<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Avoimen l\u00e4hdekoodin kirjastot, joihin on rajoitettu p\u00e4\u00e4sy<\/li>\n\n\n\n<li>Yhteensopimattomat kolmannen osapuolen kirjastot ja ty\u00f6kalut<\/li>\n\n\n\n<li>Ei suositella monimutkaisille sovelluksille<\/li>\n\n\n\n<li>Suurempi sovelluskoko<\/li>\n\n\n\n<li>Viimeisimpien alustap\u00e4ivitysten viiv\u00e4stynyt tuki  <\/li>\n\n\n\n<li>Kallis ratkaisu yritysk\u00e4ytt\u00e4jille<\/li>\n\n\n\n<li>Rajallinen osaajapooli ja yhteis\u00f6<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\"><strong>1. Avoimen l\u00e4hdekoodin kirjastot, joihin on rajoitettu p\u00e4\u00e4sy<\/strong><\/h3>\n\n<p>Sinun on k\u00e4ytett\u00e4v\u00e4 alustan rajoitettuja elementtej\u00e4 ja avoimen l\u00e4hdekoodin .NET-kirjastoja. Sinun on siis teht\u00e4v\u00e4 paljon natiivikoodausta itsen\u00e4isesti, sill\u00e4 vaihtoehdot eiv\u00e4t ole yht\u00e4 monipuolisia kuin iOS:n ja Androidin natiivikehityksess\u00e4. Lis\u00e4ksi valitettavaa on se, ett\u00e4 alusta ei tue natiivisti kaikkia Androidin ja iOS:n kolmansien osapuolten kirjastoja, mik\u00e4 pakottaa kehitt\u00e4j\u00e4t k\u00e4ytt\u00e4m\u00e4\u00e4n ylim\u00e4\u00e4r\u00e4ist\u00e4 aikaa tarvittavien komponenttien luomiseen.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>2. Yhteensopimattomat kolmannen osapuolen kirjastot ja ty\u00f6kalut<\/strong><\/h3>\n\n<p>Kuten edell\u00e4 mainittiin, kehys ei tue kolmannen osapuolen kirjastoja ja ty\u00f6kaluja, ellet k\u00e4yt\u00e4 erityisi\u00e4 lis\u00e4osia tai integraatioita alustan ulkopuolella. T\u00e4ll\u00e4 alustalla voit k\u00e4ytt\u00e4\u00e4 k\u00e4\u00e4reit\u00e4 tai luoda sidoksia ennen sovelluskehityksen seuraavaan vaiheeseen siirtymist\u00e4, jos on tarpeen k\u00e4ytt\u00e4\u00e4 kolmannen osapuolen integrointeja.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>3. Ei suositella monimutkaisille sovelluksille<\/strong><\/h3>\n\n<p>Monimutkaiset sovellukset, jotka vaativat rikkaan k\u00e4ytt\u00f6liittym\u00e4n, tukeutuvat vahvasti ulkon\u00e4k\u00f6\u00f6n tai k\u00e4ytt\u00e4v\u00e4t laajasti k\u00e4ytt\u00e4j\u00e4n vuorovaikutusta, eiv\u00e4t ole yhteensopivia Xamarinin kanssa. Kehitt\u00e4minen kehyksen avulla vie enemm\u00e4n aikaa, ja kehitt\u00e4jill\u00e4 on oltava laaja tiet\u00e4mys iOS- ja Android-natiiviteknologioista. Se sopii siis vain pienempiin ja v\u00e4hemm\u00e4n monimutkaisiin sovelluksiin, joita on helppo kehitt\u00e4\u00e4 ja joiden kanssa on helppo ty\u00f6skennell\u00e4.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>4. Suurempi sovelluskoko<\/strong><\/h3>\n\n<p>Seuraava ongelma on kehyksen avulla luotujen sovellusten koko. Niiden koko voi vaihdella ja muuttua suuremmaksi kuin natiivisti rakennettujen. Niiden perusluokkakirjastot m\u00e4\u00e4r\u00e4\u00e4v\u00e4t Xamarin-sovellusten, Mono-ajoaikojen ja datakirjastojen koon.  <\/p>\n\n<p>Suuria sovelluskokoja on mahdollista pienent\u00e4\u00e4 muutamalla eri tavalla. Paras tapa poistaa koodia ja pit\u00e4\u00e4 tiedostokoko hallinnassa on k\u00e4ytt\u00e4\u00e4 lis\u00e4optimointia, kuten linkitt\u00e4mist\u00e4, mit\u00e4 monet kehitt\u00e4j\u00e4t tekev\u00e4t. Tarpeettoman koodin poistaminen on toinen tapa pienent\u00e4\u00e4 tiedostokokoa.  <\/p>\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Development.jpg\"><img loading=\"lazy\" decoding=\"async\" width=\"575\" height=\"250\" src=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Development.jpg\" alt=\"\" class=\"wp-image-4164\" srcset=\"https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Development.jpg 575w, https:\/\/www.yuhiro-global.com\/wp-content\/uploads\/2023\/04\/App-Development-300x130.jpg 300w\" sizes=\"auto, (max-width: 575px) 100vw, 575px\" \/><\/a><\/figure>\n<\/div>\n<h3 class=\"wp-block-heading\"><strong>5. Viimeisimpien alustap\u00e4ivitysten viiv\u00e4stynyt tuki  <\/strong><\/h3>\n\n<p>Koska muutokset viev\u00e4t aikaa, kolmannen osapuolen ty\u00f6kalut eiv\u00e4t voi tarjota v\u00e4lit\u00f6nt\u00e4 tukea uusimmille iOS- ja Android-versioille. Tukitiimilt\u00e4 vie aikaa p\u00e4\u00e4st\u00e4 perille uusista julkaisuista, kun alustaa k\u00e4ytet\u00e4\u00e4n. Alustan k\u00e4ytt\u00e4minen sovelluskehitykseen tarkoittaa siis viiv\u00e4stynytt\u00e4 tukea uusimmille alustap\u00e4ivityksille.  <\/p>\n\n<h3 class=\"wp-block-heading\"><strong>6. Kallis ratkaisu yritysk\u00e4ytt\u00e4jille<\/strong><\/h3>\n\n<p>Kehys on tietenkin ilmainen ja avoimen l\u00e4hdekoodin alusta yksitt\u00e4isille kehitt\u00e4jille. Se on kuitenkin kallis ratkaisu yritysk\u00e4ytt\u00e4jille. Sinun on siirrytt\u00e4v\u00e4 kehittyneempiin ty\u00f6kaluihin yrityksiss\u00e4, joissa on paljon kehitt\u00e4ji\u00e4. Ensimm\u00e4isen\u00e4 vuonna edistyneen version hankkiminen maksaa sinulle enemm\u00e4n kuin my\u00f6hemmin, koska saat alennuksia. Niinp\u00e4 monet kehitt\u00e4j\u00e4t pid\u00e4tt\u00e4ytyv\u00e4t k\u00e4ytt\u00e4m\u00e4st\u00e4 Xamarinia, koska kehykseen ei kannata investoida monien muiden haittojen vuoksi.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>7. Rajallinen osaajapooli ja yhteis\u00f6<\/strong><\/h3>\n\n<p>Xamarin-kehitt\u00e4ji\u00e4 on vaikea l\u00f6yt\u00e4\u00e4, koska kehitt\u00e4j\u00e4yhteis\u00f6 on suhteellisen pieni. Vuonna 2020 tehdyn tutkimuksen mukaan vain 5,8 prosenttia kehitt\u00e4jist\u00e4 k\u00e4ytti alustaa. Microsoft alkoi tarjota laajaa tukea ilmaisilla kursseilla rohkaistakseen kehitt\u00e4ji\u00e4 k\u00e4ytt\u00e4m\u00e4\u00e4n kehyst\u00e4.<\/p>\n\n<h3 class=\"wp-block-heading\"><strong>Puitteiden tulevaisuus<\/strong><\/h3>\n\n<p>Jokaisen kehyksen tai ohjelmiston on pakko muuttua ajan my\u00f6t\u00e4. Sama p\u00e4tee my\u00f6s Xamariniin. Nyt kehys on vaihtumassa parempaan versioon. Microsoft on virallisesti ilmoittanut, ett\u00e4 se yhdistet\u00e4\u00e4n .NET:n kanssa .NET Multi-platform App UI:ksi eli MAUI:ksi.  <\/p>\n\n<p>Microsoft jatkaa Xamarinin tukemista viel\u00e4 vuoden ajan varmistaakseen sujuvan siirtymisen MAUI:n julkaisun j\u00e4lkeen, vaikka tarkkaa ajankohtaa ei viel\u00e4 tiedet\u00e4. Xamarin-alustan pariin siirtyy fuusion seurauksena enemm\u00e4n kehitt\u00e4ji\u00e4, jotka ty\u00f6skentelev\u00e4t C#- ja.NET core -ominaisuuksien parissa.  <\/p>\n\n<p>Vastaus kysymykseen &#8221;K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen?&#8221; on siis t\u00e4ss\u00e4. Kyll\u00e4, sit\u00e4 k\u00e4ytet\u00e4\u00e4n edelleen, ja Microsoft jatkaa sen tukemista 1. toukokuuta 2024 asti. Alustaan ei tule uusia p\u00e4ivityksi\u00e4 tai Microsoftin virallista tukea t\u00e4m\u00e4n j\u00e4lkeen, mutta alustalla luodut sovellukset toimivat edelleen ja ovat yll\u00e4pidett\u00e4viss\u00e4.<\/p>\n\n<p>Syy siihen, miksi sit\u00e4 ei voi sanoa kuolleeksi, on sit\u00e4 nykyisin k\u00e4ytt\u00e4vien sovellusten m\u00e4\u00e4r\u00e4. Monet yritykset k\u00e4ytt\u00e4v\u00e4t kehyksen avulla tehtyj\u00e4 sovelluksia ja ovat sijoittaneet niihin rahaa. Ajan my\u00f6t\u00e4 markkinoilla on vain muutama kehitt\u00e4j\u00e4, jotka voivat tukea tai yll\u00e4pit\u00e4\u00e4 sit\u00e4. Uusia ja tehokkaampia ratkaisuja kehitet\u00e4\u00e4n v\u00e4ist\u00e4m\u00e4tt\u00e4 erityisesti teknologian kehittyess\u00e4.<\/p>\n\n<p>Mielenkiintoisia linkkej\u00e4:<\/p>\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Xamarin\">Mik\u00e4 on Xamarin?<\/a><\/p>\n\n<p><a href=\"https:\/\/www.altexsoft.com\/blog\/mobile\/pros-and-cons-of-xamarin-vs-native\/\">Xamarin-mobiilikehityksen hyv\u00e4t ja huonot puolet<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen? Xamarin on suosittu C#-ohjelmointikehys, jossa k\u00e4ytet\u00e4\u00e4n C#-kielt\u00e4. Microsoft osti sen, muutti sen avoimen l\u00e4hdekoodin tuotteeksi ja lis\u00e4si sen suosiota. Sit\u00e4 k\u00e4ytet\u00e4\u00e4n mobiilisovellusten luomiseen k\u00e4ytt\u00e4en C#- ja.NET-kehyst\u00e4 Androidille, iOS:lle ja Windowsille. Lis\u00e4ksi se antaa ohjelmoijille mahdollisuuden jakaa koodinsa kaikilla alustoilla. Vaikka sill\u00e4 on monia etuja, kehys on mahdollisesti kuolemassa. Koska se on kuitenkin &#8230; <a title=\"K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen?\" class=\"read-more\" href=\"https:\/\/www.yuhiro-global.com\/fi\/kaytetaanko-xamarinia-edelleen\/\" aria-label=\"Lue lis\u00e4\u00e4 aiheesta K\u00e4ytet\u00e4\u00e4nk\u00f6 Xamarinia edelleen?\">Lue lis\u00e4\u00e4<\/a><\/p>\n","protected":false},"author":3,"featured_media":4159,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[65,134,132],"tags":[],"class_list":["post-4177","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android-fi","category-mobiilisovellusten-kehittajat-fi","category-sovellusten-kehittaminen-fi"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/posts\/4177","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/comments?post=4177"}],"version-history":[{"count":2,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/posts\/4177\/revisions"}],"predecessor-version":[{"id":10510,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/posts\/4177\/revisions\/10510"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/media\/4159"}],"wp:attachment":[{"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/media?parent=4177"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/categories?post=4177"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yuhiro-global.com\/fi\/wp-json\/wp\/v2\/tags?post=4177"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}