Maybaygiare.org

Blog Network

the Good and The Bad of Xamarin Mobile Development

CONTENTS

Reading time: 16 minuuttia

harkitessaan iOS-tai Android-sovelluskehitystä useimmat meistä ajattelevat ensin Objective-C vs Swift, ja Java. Pidetään natiivi tech Pinot, ne ovat luonnollisesti useimmiten käytetään mobiili kehitystyökaluja, kun se tulee iOS ja Android app development. On kuitenkin enemmän tapoja rakentaa toimivia ja käyttäjäystävällisiä mobiilisovelluksia. Xamarin on yksi heistä. Tässä artikkelissa teemme perusteellisen Xamarin-katsauksen ja vertaamme sitä markkinoilla oleviin natiiveihin ja cross-platform-mobiilikehitysratkaisuihin. Jos tiedät perusasiat, harkitse hyppäämistä osioihin, joista olet kiinnostunut.

mitä Xamarin on?

xamarinia on mahdotonta sivuuttaa, kun puhutaan mobiilisovelluskehityksen keskeisistä lähestymistavoista. Xamarin on työkalu, jota käytetään cross-platform mobile app development, jonka avulla insinöörit voivat jakaa jopa 90 prosenttia koodin eri alustoille. Koska se on verrattain uusi työkalu, se perustuu Microsoftin teknologiapinoon ja sillä on jo yli 1,4 miljoonan kehittäjän yhteisö.

Alustan rakensivat Kehittäjät Miguel de Icazan johtaman.Net Frameworkiin perustuvan avoimen lähdekoodin kehitysalustan monon takana ja se esiteltiin ensimmäisen kerran vuonna 2001. Xamarin company perustettiin 16. toukokuuta 2011.

kuitenkin edeltäjästään poiketen Xamarinista tehtiin kaupallinen projekti, kunnes Microsoft osti yhtiön vuonna 2016. Xamarinista tuli suosittu cross-platform-tuote mobiilisovellusten kehittämiseen Microsoftin ekosysteemissä. Yrityskauppa rikkoi taloudellisen esteen Xamarinin käytölle. Kun Microsoft teki Xamarin SDK: sta avoimen lähdekoodin, siitä tuli osa Xamarin Visual Studio Integrated Development Environmentia (keskustelemme parhaista IDE: istä Xamarinin kehittämiseen alla). Mitkä ovat Xamarinin tärkeimmät ominaisuudet?

c# – kieli. Xamarin käyttää yhtä kieltä, C#, sovellusten luomiseen kaikille mobiilialustoille. Toisin kuin tulkitut ratkaisut, kuten Appcelerator Titanium, Xamarin on natiivisti käännetty, mikä tekee siitä go-to-vaihtoehdon tehokkaiden sovellusten rakentamiseen natiivilla ulkonäöllä ja tuntumalla.

perustuu.Net frameworkiin. C# on kypsä kieli, jolla on vahva turvalyönti, joka estää koodin odottamattoman käyttäytymisen. Koska C# on yksi. NET framework-kielistä, sitä voidaan käyttää useilla hyödyllisillä. Net-ominaisuuksilla, kuten Lambdalla, LINQ: lla ja asynkronisella ohjelmoinnilla (async/wait).

teknisesti ottaen Xamarin käyttää C# – ja natiivikirjastoja, jotka on kääritty.Net kerros cross-platform app development. Tällaisia sovelluksia verrataan usein sekä iOS-että Android-mobiilikehitysalustojen natiiveihin suorituskyvyn ja käyttökokemuksen osalta. Lisäksi Xamarin voi hyödyntää kaikkia natiiveja ja uusinta API-käyttöoikeutta hyödyntääkseen taustalla olevia alustaominaisuuksia Xamarin-sovelluksissa, kuten arkit iOS: ssä tai Android Multi-Windowissa.

Xamarin platform

vaikka liiketoimintalogiikkaan, tietokantojen käyttöön ja verkkoviestintään liittyvä koodi voidaan jakaa kaikille alustoille, Xamarinin avulla voi luoda alustakohtaisen käyttöliittymän koodikerroksen. Xamarin cross-platform-sovellukset näyttävät siis 100% alkuperäisiltä millä tahansa laitteella, mikä tarjoaa paremman käyttökokemuksen verrattuna yleisiin hybridisovelluksiin.

kooste. Alustalla on kaksi päätuotetta: Xamarin.iOS ja Xamarin.Androidi. IOS: n tapauksessa lähdekoodi kootaan suoraan natiiviksi ARM assembly-koodiksi (ahead-of – Time compilation), kun taas Android Xamarin-Sovellukset kootaan ensin keskitason kielelle ja sitten-natiiviksi assembly-koodiksi runtime (Just-In-Time compilation). Molemmissa tapauksissa prosessi on kuitenkin automatisoitu ja räätälöity käsittelemään esimerkiksi muistin jakamista, roskien keräämistä ja alustojen yhteentoimivuutta oletusarvoisesti.

Xamarin.Lomake. Xamarinia.Forms on erillinen tuote, joka on suunniteltu luomaan prototyyppejä tai mobiilisovelluksia, jotka jakavat jopa 100 prosenttia koodista iOS: lle ja Androidille.

Xamarin.Mac. Lisäksi insinöörit voivat käyttää xamarinia.Mac rakentaa sovelluksia Mac OS. Näistä ja joistakin muista Xamarin-pinon tuotteista keskustellaan hieman.

Platform SDKs. Xamarin tarjoaa pääsyn alustakohtaisiin SDK: iin (Cocoa Touch iOS: lle ja Android SDK: lle) yksinkertaisen C# – syntaksin kautta.

Alustakohtaiset koodisidonnaisuudet. Useimmissa tapauksissa insinöörit pystyvät käsittelemään kehitystä pitäen kunkin alustan alkuperäisen ulkoasun Xamarin-ympäristössä. Xamarinin avulla voit kuitenkin soittaa olemassa olevaan alustakoodiin (esim.Swift iOS: lle), jos sinun on käytettävä uudelleen joitakin moduuleja tai toteutettava joitakin alustakohtaisia toimintoja, kuten viivakoodin skannaus, PayPal tai Google Analytics-integraatio.

puettavien tuki. Xamarin tukee sovellusten rakentamista Apple-ja Android-Kellolaitteille. Insinöörit voivat käyttää Visual Studiota sekä Macille että Windowsille iOS Apple Watch-sovellusten rakentamiseen. Myös Xamarin tukee täysin Android Wearia.

Xamarin-projektin rakenne. Suurin osa Xamariniin liittyvästä työstä on tarkoitus suorittaa Windows-kehitystietokoneella, johon on asennettu Visual Studio ja Xamarin. Sovellukset voidaan debuggata suoraan työpöydältä tai laitteissa ja emulaattoreissa. Jos aiot kehittää iOS sovelluksia Windows, Se on myös mahdollista Visual Studio yhdistää iOS kuvakäsikirjoituksen suunnittelija ja iOS simulaattori. Siellä on myös Visual Studio Macille, joka mahdollistaa simulaattorin ajamisen Macissa tai suoraan kytketyllä iPhonella. Vianetsintä suoritetaan Visual Studion kautta.

Xamarin project structure

Xamarin project structure. Image source: Developer Support Blog

To get a more in-depth understanding of Xamarin engineering aspects consider checking these resources:

Main Xamarin Documentation Hub

Xamarin.Android Documentation

Xamarin.iOS Documentation

Xamarin.Forms Documentation

Visual Studio for Xamarin

Xamarin Studio App Center

Xamarin Community Forum

kuten millä tahansa muullakin teknologialla, Xamarinilla on omat hyötynsä ja haittansa, joista on viime aikoina käyty kiivasta keskustelua. Jotta voit tehdä tietoon perustuvan päätöksen Xamarin vs natiivi kehitys, punnitaan kaikki hyvät ja huonot puolet app development Xamarin. Jos sinulla on todella kiire, suosittelemme, että katsot tämän videon, joka tarjoaa korkean tason yleiskuvan Xamarin-Alustan vahvuuksista ja heikkouksista alle 6 minuutissa.

Jos haluat päästä yksityiskohtiin, jatka lukemista.

plussat Xamarinin käytöstä kehittämiseen

on hyviä syitä, miksi xamarinia käyttävät lukuisat yritykset, kuten Trello, Slack ja GitHub.

⊕ yksi Teknologiapino koodaamaan kaikille alustoille

Xamarin käyttää C#: tä täydennettynä.Net Frameworkilla sovellusten luomiseen mille tahansa mobiilialustalle. Siten, voit jakaa keskimäärin 80-90 prosenttia koodin eri alustoilla nopeuttaa engineering sykli. Xamarin ei myöskään vaadi vaihtokehitysympäristöjen välillä: voit rakentaa kaikki Xamarin-sovelluksesi Visual Studio-tai Visual Studio-koodilla. Cross-platform kehitystyökalut toimitetaan sisäänrakennettuna osana IDE: tä ilman lisäkustannuksia.

⊕ suorituskyky lähellä natiivia

toisin kuin perinteiset web-teknologioihin perustuvat hybridiratkaisut, xamarinilla rakennettu cross-platform-sovellus voidaan silti luokitella natiiviksi. Alustan kehittyessä Xamarinin suorituskykyä parannetaan jatkuvasti vastaamaan täysin natiivikehityksen standardeja, ja Microsoft antaa neuvoja optimointitekniikoista. Visual Studio tarjoaa myös täydellisen ratkaisun sovelluksen suorituskyvyn rakentamiseen, testaamiseen ja seurantaan: Visual Studio App Center mahdollistaa automatisoitujen KÄYTTÖLIITTYMÄTESTIEN suorittamisen ja ongelmien tunnistamisen ennen julkaisua. Tämä palvelu tarjotaan kuitenkin lisämaksusta.

aiemmin Testasimme ja vertailimme Xamarinin ja natiivisovellusten suorituskykyä. Tulokset saattavat olla hieman vanhentuneita; ne kuitenkin osoittavat selvästi Xamarin-sovellusten suorituskyvyn kunnollisen tason.

⊕ Native User Experiences

Xamarin mahdollistaa virheettömien kokemusten luomisen alustakohtaisilla KÄYTTÖLIITTYMÄELEMENTEILLÄ. Xamarinin avulla on myös mahdollista rakentaa cross-platform-sovelluksia iOS: lle, Androidille tai Windowsille.Forms-työkalu, joka muuntaa app UI-komponentit alustakohtaisiksi käyttöliittymäelementeiksi ajon aikana. Xamarinin käyttöön.Lomakkeet lisää merkittävästi nopeutta app development, se on hyvä vaihtoehto liiketoimintalähtöisiä hankkeita. Silti suorituskyky saattaa hieman laskea ylimääräisen abstraktiokerroksen vuoksi. Voit silti käyttää xamarinia mukautettuun sovelluskäyttöön ja parempaan suorituskykyyn.iOS ja Xamarin.Android erikseen varmistaa erinomaisia tuloksia.

perinteisesti Xamarinin ei uskota olevan paras vaihtoehto raskaalla grafiikalla varustetuille sovelluksille. Tästä huolimatta on olemassa useita kirjastoja, kuten OpenGL ES ja kehyksiä, kuten SkiaSharp ja Urho, jotka tekevät sovellusten kehittämisestä rikas mukautettu käyttöliittymä, monimutkaisia animaatioita tai pelejä mahdollista jopa Xamarin.

⊕ täysi laitteistotuki

Xamarinin avulla ratkaisusi saa natiivitason sovellustoiminnon. Se poistaa kaikki laitteiston yhteensopivuusongelmat, käyttäen plugins ja erityisiä API, työskennellä yhteisten laitteiden toimintoja eri alustoilla. Alustakohtaisten sovellusliittymien käytön ohella Xamarin tukee linkittämistä natiivikirjastoihin. Tämä mahdollistaa paremman räätälöinnin ja natiivitason toiminnallisuuden, jossa on vähän yleiskustannuksia.

⊕ avoimen lähdekoodin teknologia vahvalla Yritystuella

sen jälkeen, kun Microsoft osti yhtiön helmikuussa 2016, Xamarinin lisenssikäytäntöihin tehtiin radikaaleja muutoksia. Xamarin SDK, mukaan lukien runtime, Kirjastot ja komentorivityökalut, on tullut avoimeen lähdekoodiin ja kaikkien saataville MIT-lisenssillä osana Visual Studiota. Poistamalla suurimman esteen, lisenssikustannukset, Microsoft tasoitti tietä Alustan edelleen kasvulle. Plus, johtama Microsoft, ja tukee Unity, JetBrains, ja Red Hat,.NET Foundation yleensä ja Xamarin erityisesti on tullut luotettava ja tehokas tech pino.

⊕ yksinkertaistettu kunnossapito

cross-platform-sovelluksensa ansiosta Xamarin helpottaa huoltoa ja päivityksiä. Voit yksinkertaisesti ottaa muutokset tai päivitykset lähdekooditiedostoon käyttöön ja niitä sovelletaan sekä iOS-että Android-sovelluksiin. Näin, se auttaa säästämään aikaa ja rahaa samalla pitää sovellukset ajan tasalla.

⊕ täydellinen Kehitysekosysteemi

Xamarin tulee yhdessä paketissa, jossa on täydellinen kehitystyökalusarja, mukaan lukien oma IDE. Huhtikuussa 2018 Visual Studio App Centeriin tuli paljon Xamarin-kehitystyökaluja, jotka tunnettiin aiemmin erillisinä ominaisuuksina. Mukana on itse alusta (Xamarin SDKs), testaus (aiemmin Xamarin Test Cloud), jakelu ja analytiikka (aiemmin Xamarin.Insights) alustoja ja paljon muuta. Koska työkalupakki on edelleen ilmainen, ei sinun tarvitse investoida lisätyökaluihin tai integroida kolmannen osapuolen sovelluksia Xamarin-sovellusten rakentamiseen, testaamiseen ja käyttöönottoon.

⊕ Xamarin.Lomakkeet: puitteet natiivien käyttöliittymien luomiseen

Xamarin ehdottaa kehittäjien rakentavan mobiilisovelluksia kahdella tavalla. Ensimmäinen on käyttää xamarinia.iOS ja Xamarin.Androidi, joka ilmestyi aiemmin ja pidettiin alun perin kyvykkäämpänä. Xamarinin Käyttö.Lomakkeet on toinen lähestymistapa. Se on kehittyneempi versio, joka mahdollistaa nopean prototyyppien tai tuottaa sovelluksia vähemmän alustakohtaisia toimintoja. Siksi Xamarin.Forms sopii parhaiten sovelluksiin, joissa koodin jakaminen on tärkeämpää kuin mukautettu käyttöliittymä. Sen avulla voit käyttää uudelleen jopa 99% koodia, mikä tarkoittaa, että voit luoda yhden käyttöliittymän ja jakaa sen eri alustoilla suunnittelematta kunkin alustan erikseen. Voit myös rakentaa sovelluksia, joissa osa niiden käyttöliittymistä on tehty Xamarinilla.Lomakkeet ja muut on suunniteltu käyttäen natiivi UI toolkit.

Ksamariinina.Lomakkeet kehitetty vuosien, siitä tuli universaali työkalu ja sai elinvoimainen yhteisö, joka kiinnittää huomiota siihen. Esimerkiksi jotkut teknologian tarjoajat edistävät kirjastojaan, kuten Telerik UI, joka rikastuttaa suunnitteluominaisuuksia, jotka tarjoavat valmiiksi konfiguroituja käyttöliittymäkomponentteja.

⊕ Xamarin.Lomakkeet XAML Hot Reload

Xamarinina.Forms on suunnattu nopeaan ja kitkattomaan kehitykseen, Microsoft ehdottaa XAML Hot Reload-työkalun käyttöä. Se nopeuttaa kehitystä antamalla sinun muuttaa XAML: ää virheenkorjauksen aikana ja nähdä välittömästi ne muutokset käynnissä olevassa sovelluksessa ilman, että sinun tarvitsee lopettaa ja rakentaa se uudelleen. Lisäksi navigointitilaa ja tietoja ylläpidetään, jotta voit nopeasti iteroida käyttöliittymääsi. Tällä tavoin XAML Hot Reload mahdollistaa sovellusten nopeamman uudelleenrakentamisen ja käyttöönoton KÄYTTÖLIITTYMÄMUUTOSTEN validoimiseksi.

⊕ rakentavat Mac-sovelluksia Xamarinilla.Mac Tool

Xamarin.Mac mahdollistaa täysin natiivien Mac-sovellusten kehittämisen C#: n ja .NET: n avulla. se integroituu samoihin kirjastoihin, joita käytetään Objective-C: n kehittämiseen Xcodella. Käyttämällä xamarinia.Mac yhdessä Xamarinin kanssa.iOS ja Xamarin.Android, kehittäjät voivat jakaa jopa 90 prosenttia natiivista koodia Android, iOS,ja Mac OS. Lisäksi Xamariinia.Mac integroituu Xcodeen, joten kehittäjä voi käyttää Xcode ’ s Interface Builderia sovelluksen käyttöliittymien luomiseen.

⊕ Xamarin Learning Resources

Microsoft Learn on online-opetusportaali, joka auttaa ihmisiä kehittämään teknisiä taitoja liittyen Microsoftin tuotteisiin, mukaan lukien Xamarin. Alusta tarjoaa kursseja sekä aloittelijoille että kokeneille insinööreille, jolloin oppijat voivat valmistautua Microsoft-sertifikaatteihin. Opetusresursseihin kuuluvat ilmainen itseohjautuva oppiminen, live online-luokat, toimistoluennot ja vierasluennot.

⊕ Xamarin tukee televisioita, wearables, ja IoT

Xamarin framework, kiitos sen Xamarin.Lomakkeet, mahdollistaa kannettavien versioiden rakentamisen monille alustoille. Lisäksi iOS, Android, Windows – Puhelimet, ja Mac, voit kehittää sovelluksia Tizen – käyttöjärjestelmä käytetään joissakin Samsungin laitteisiin-wearables, Televisiot, ja IoT. Sen lisäksi Xamarin.iOS mahdollistaa sovellusten rakentamisen tvOS Applelle ja watchosille.

Xamarin Cons to Consider

on kuitenkin vielä joitakin haittoja, jotka voivat heittää varjon Alustan ylle. Joten, miksi ei käytä Xamarin?

Θ hieman viivästynyt tuki uusimmille Alustapäivityksille

Tämä riippuu täysin Xamarinin kehittäjäryhmästä. Kolmannen osapuolen työkalujen on mahdotonta tarjota välitöntä tukea uusimmille iOS-ja Android-julkaisuille, koska muutosten toteuttaminen ja/tai uusien liitännäisten käyttöönotto vie jonkin aikaa, jne

Θ rajoitettu pääsy avoimen lähdekoodin kirjastoihin

Natiivikehitys käyttää laajasti avoimen lähdekoodin teknologioita. Xamarin, sinun täytyy käyttää elementtejä tarjoamia Alustan ja joitakin. Net avoimen lähdekoodin resursseja, edessä sekä kehittäjät ja kuluttajat. Vaikka valinta ei ole aivan yhtä rikas kuin se on Android ja iOS mobile app development, voit käyttää NuGet paketteja, jotka nyt sisältävät kaiken, mitä oli eläkkeellä Xamarin komponentteja.

Θ korkeat kustannukset ammatti-ja yrityskäytössä

vaikka Xamarin on ilmainen avoimen lähdekoodin alusta yksittäisille kehittäjille, voi kehys maksaa sievoisen summan yritysten tarpeisiin. Voit viettää paljon ostaa lisenssin Visual Studio. Esimerkiksi Visual Studio Professional kehitystyökalujen ydinsarjalla maksaa ensimmäisestä vuodesta 1 199 dollaria ja uudistamisesta 799 dollaria. Samalla Visual Studio Enterprise, joka mahdollistaa lisätyökalujen kokeilemisen, maksaa ensimmäisestä vuodesta 5 999 dollaria ja uudistamisesta 2 569 dollaria. Ominaisuudet sekä me kattaa alla.

Θ Xamarin Talent Pool ja Yhteisörajoitukset

ilmeisesti Xamarin-yhteisö on huomattavasti pienempi kuin alkuperäisellä iOS: llä tai Androidilla. Se on myös pienempi kuin React – ja Ioniyhteisöt. Kokeneen Xamarinin kehittäjän löytäminen voi siis olla haastavaa.

vuoden 2020 Stack Overflow-tutkimuksen mukaan vain 5.8 prosenttia käytti Xamarin Frameworkia vuodesta 2020, kun React nativen 11,5 prosenttia ja Flutterin 7,2 prosenttia.

Xamarinin käyttö muihin kehyksiin verrattuna. Kuvan lähde: Stack Overflow

huolimatta siitä, että Xamarin-insinöörien määrä ei vedä vertoja iOS-tai Android-alkuperäisyhteisöille, alusta tarjoaa laajaa tukea kehittäjilleen. Kuten edellä mainittiin, Microsoft Learn tarjoaa resursseja ja käytännön koulutusta niille, jotka ovat uusia tämän teknologian. Tämän tuen avulla kokeneen C#/. Net-insinöörin oppimiskäyrä on minimaalinen.

toinen ongelma, jonka jotkut kehittäjät kokevat, on oppimisen ja kehitysresurssien, kuten dokumenttien, pirstaleisuus ja standardien puute. Tämä vaikuttaa saamasi tuen laatuun.

Θ äidinkielen perustiedot

xamarinia käytettäessä.iOS ja Xamarin.Android rakentaa mobiilisovellukset todella natiivi ulkoasua, sinun täytyy silti kirjoittaa alustakohtainen kerros koodia käyttäen natiivi API kunkin alustan. Joten, vaikka se ei ole pakollista kuin ennen, se olisi hyödyllistä olla ainakin perustiedot native technologies (Java / Kotlin Android ja Objective-C / Swift iOS) tarvitaan ymmärtää ja saada irti alustakohtainen dokumentaatio. Myös Xamariinia.Essentials library tarjoaa useita cross-platform API ja voidaan käyttää native ominaisuuksia. Tämä ei kuitenkaan koske xamarinia.Lomake.

Θ suurempi sovelluskoko

riippuen niiden tyypistä ja monimutkaisuudesta, Xamarinin sovellukset ovat tyypillisesti suurempia kuin natiivit (jälkimmäinen saattaa olla puolet Xamarinin sovelluksen koosta). Yksinkertainen ”hello, world” – sovellus Androidille voi kestää jopa 16 MB, suuri osa siitä käytetään siihen liittyvät kirjastot, sisältö, Mono runtime, ja Base Class Library (BCL) kokoonpanot.

xamarin app size

Xamarin app size. Kuvan lähde: Kehittäjä.xamarin.com

joten Xamarin-sovellukset tarvitsevat yleensä lisäoptimointia, kuten linkitystä, jotta käyttämätön koodi voidaan poistaa mukana olevista kirjastoista ja sovelluksen tiedostokoko pitää kohtuullisena.

Θxamariini.Lomakkeet lakkaavat pian olemasta

toukokuussa 2020 pidettiin vuotuinen Microsoft Build-konferenssi. Asiasta uutisoi muun muassa Xamarin.Forms sulautuu. Netiin ja kehittyy uudeksi cross-platform frameworkiksi nimeltä. Net Multi-platform App UI eli MAUI. MAUI tulee olemaan kaikki natiivi käyttöliittymä ja tarjota pääsyn kaikkiin natiivi API.

myös osana asteittaista .NET unification, Xamarin.Androidi ja Xamarin.iOS tulee lopulta osaksi. net 6 as. net iOS ja. NET Android ja päivitetään vastaamaan muita. Net työmäärät. Aikajana, että on tuntematon vielä, joten pysy kuulolla tulevia päivityksiä.

samaan aikaan Xamarin.Lomakemuuton pitäisi tapahtua marraskuussa 2021. Kun MAUI on vapautettu, Xamarin saa tukea vielä 12 kuukautta. Joten, jos tällä hetkellä työskentelet Xamarinin kanssa tai jos aiot rakentaa uusia Xamarin-sovelluksia, kannattaa pitää silmällä päivämääriä ja etsiä Microsoft-oppaita sujuvaa siirtymistä varten.

Θ yhteensopivuusongelmat kolmansien osapuolten kirjastojen ja työkalujen kanssa

kolmansien osapuolten resurssien integroinnissa Xamarin-sovellukseen saattaa ilmetä ongelmia. Vaikka suurin osa työkaluista ja kirjastoista tarjoaa täyden tuen natiiviteknologioille, myyjä ei välttämättä tarjoa Xamarin-tukea. Vaikka Xamarinilla on oma komponenttikauppa, on aina mahdollista, että tarvitset sovellukseesi tietyn ominaisuuden tai integroinnin, jota alusta ei tarjoa. Joten, hyödyntää muita kolmannen osapuolen paketteja sinun täytyy käyttää kääreitä.

Xamarin Visual Studio IDE

Jos sinulla on tunne, että Xamarin sopii sinulle, sinua kiinnostaa tietää tärkeimmät Xamarin IDE: t, joita voidaan käyttää ja miten ne vertautuvat toisiinsa.

Visual Studio (VS) on Microsoftin integroitu kehitysympäristö eli IDE-ohjelmisto, jota käytetään sovellusten rakentamiseen, virheenkorjaukseen ja julkaisemiseen kaikilla alustoilla ja laitteilla. Xamarinille on kolme Visual Studio-versiota: Visual Studio Community, Visual Studio Professional ja Visual Studio Enterprise. Keskeisiä tekijöitä hyväksyttävän version valinnassa ovat kehittäjien (opiskelijoiden tai insinöörien) kokemus ja heidän tiiminsä koko. Ohjelmoijat voivat kehittää web -, mobile -, server-ja desktop-ohjelmistoja kaikilla versioilla. Lue lisää Visual studiosta artikkelistamme.Net-kehitykseen käytetyistä työkaluista.

uusin versio on Visual Studio 2019. Verrattuna VS 2017: ään, se sisältää lukuisia parannuksia, jotka nopeuttavat sovelluskehitystä, reaaliaikaisesta yhteistyöstä Visual Studio Live Sharen avulla uuteen Visual Studio start-ikkunaan. Myös, se tukee per-monitori DPI ja parannettu debug ominaisuuksia.

Xamarinin työmäärä on nyt noin 3-kertainen aiempiin versioihin verrattuna, eli vähennetty 23 gigatavusta 7 gigatavuun. Se pudottaa merkittävästi levyn iskua ja nopeuttaa asennusta. Lisäksi, uusi julkaisu teki huomattavia parannuksia Android SDK ja emulaattorit hallinta. Se on myös pyrkinyt lujittamaan käyttöliittymien laatimista. Tämä sisältää Xamariinia.Lomakkeet parannuksia IntelliCode XAML, AXML-parannuksia Android, päivitetty Xamarin iOS Shipping, ja monia muita ominaisuuksia.

Visual Studio Community sopii hyvin opiskelijoille, avoimen lähdekoodin projekteille, pienille kehitystiimeille, joissa on jopa 5 käyttäjää. Yhteisöpaketti sopii hyvin myös Visual Studion uusille tiimeille. Tämä versio on ilmainen käytettäväksi.

Visual Studio Professional on joukko työkaluja ja palveluita, jotka on luotu ammattikäyttöön, pienille tiimeille ja yrityskäyttöön. Tämä versio tarjoaa tehokkaita ominaisuuksia nopeasti ymmärtää koodin: näytetään koodiviittaukset, muutokset koodin, näytetään kuka viimeksi muutettu menetelmä, tai selvittää, onko testit läpäisty. Professional versio sisältää Azure DevOps joka on kokoelma ominaisuuksia, kuten ketterä projektin suunnittelu ja testaus työkalut, CI / CD putkistot, raportointiratkaisuja, ja paljon muuta. Tämän version vuosihinta on 1 199 dollaria.

Visual Studio Enterprisellä on vahvemmat tukityökalut ja-palvelut. Niiden avulla voidaan hallita monimutkaisempia prosesseja kehityksen ja IT-toimintojen välillä; seurata laatua manuaalisilla ja automatisoiduilla testaustyökaluilla; saada pääsy ammatilliseen koulutukseen ja koko Microsoft engineering and testing-ekosysteemiin. Enterprise-versiossa on myös ensisijaista tukea, kumppanitarjouksia ja paljon muuta. Enterprise Studion vuosihinta on 5 999 dollaria.

yrityskäyttöön suosittelemme myös Visual Studio App Centerin tarkistamista. Se on työkalu, joka järjestää sovelluskehityksen työnkulun eri mobiiliteknologioissa, mukaan lukien Xamarin. Täällä, suunnittelutiimit, jotka työskentelevät useita sovelluksia voivat tuoda työkalusarja yhteen. Se automatisoi sovellusten pakkaamisen Githubin tai Bitbucketin kautta, tarjoaa integroinnin erilaisiin testauspalveluihin, mahdollistaa sähköpostisovellusten jakelun testausta varten, tekee kaatumisen seurannan ja analytiikan.

Visual Studio Code eli VS Code sijoittui vuoden 2019 suosituimmaksi kehitysympäristöksi, kun 50,7 prosenttia kehittäjistä ilmoitti käyttävänsä sitä. VS Code on ilmainen, kevyt avoimen lähdekoodin editori, joka tarjoaa kaikki tärkeimmät tarvittavat työkalut yksinkertainen sykli koodin muokkaus, rakennus, ja virheenkorjaus, mutta puuttuu ominaisuuksia monipuolinen IDEs, jotka mahdollistavat hallita monimutkaisempia työnkulkuja. Se toimii Macissa, Linuxissa ja Windowsissa ja tukee tällaisia peruskehitystoimintoja, kuten tehtävien suorittamista, vianmääritystä ja versionhallintaa. Sillä on myös IntelliSense tekoälyn avustamaa kehitystä varten, se toimii Githubin kanssa ja sillä on runsas laajennusten ekosysteemi. VS-koodi on nopea, helppokäyttöinen, erittäin konfiguroitavissa, ja se voi olla hyvä valinta, jos tarvitset jotain kevyttä, mutta hyvällä toiminnallisuudella

Visual Studio Online eli GitHub Cloudspaces on selainpohjainen kehitysympäristö, joka tukee VS 2019-ja VS-koodia. Se on nyt saatavilla vain beta-versiona ja sen toiminnallisuus on rajoitettu

siirtyminen Android studiosta tai Xcodesta Visual Studioon

Jos kehitystiimisi harkitsee siirtymistä Android studiosta (AS) tai Xcodesta Visual Studioon, oppimiskäyrä ei ole kovin jyrkkä. Feature-to-feature-vertailut osoittavat, että IDE: t ovat hyvin pitkälti samanlaisia kehitysvirtojen suhteen pienin vivahtein kullekin ympäristölle.

Android studiosta Visual Studioon. Vaikka Android Studio virallinen tuki on keskittynyt Java, C/C++, Kotlin, ja XML kielet, VS tukee kaikkia keskeisiä ohjelmointikieliä, mukaan lukien as. Tämä johtuu laaja valikoima alustoja, että IDE palvelee. VS tarjoaa enemmän suunnitteluvapautta ja mahdollistaa työskentelyn eri projekteissa yhdestä ympäristöstä. Jos olet käyttänyt AS: n kanssa integroitua Google Cloud Platformia virtuaalikoneiden pyörittämiseen tai vain projektien hallintaan, Google on kiltti ja tarjoaa myös VS: lle pilvialustan laajennuksen. Periaatteessa voit käyttää sekä Microsoft cloud-ekosysteemiä että Google Cloudia suoraan VS: stä. Visual Studio voidaan asentaa kaikille pääalustoille: Windows, Android, Mac OS ja Linux.

Xcodesta Visual Studioon. Xcode IDE, kuten VS, tukee lähdekoodia kaikille tärkeimmille ohjelmointikielille. Joten, ei tule mitään yllätyksiä siirtymisen jälkeen. Jälleen, jos olet sidottu Mac OS kun käytät Xcode, Apple laitteisto ei tarvita VS. niille, jotka käyttävät CloudKit palvelinpuolen varastointi, Visual Studio ja Xamarin mahdollistavat yksinkertaisen integroinnin CloudKit. Suurin haittapuoli käyttämällä VS verrattuna Xcode on sen hinta: sekä Android Studio ja Xcode ovat ilmaisia käyttää, kun VS vaatii melko korkea tilausmaksu.

kehittäjien arvioiden mukaan Visual studiolla ja Android Studiolla on molemmilla pääosin sama helppokäyttöisyyden taso ja tuen laatu. Vertaamalla samoja indeksejä VS ja Xcode, voimme sanoa, että VS arviot ovat hieman parempia. Myös Visual Studio on suositumpi yritysten keskuudessa (>1000 työntekijää), kun taas Android Studion ja Xcode-käyttäjistä noin 50 prosenttia on pienyrityksiä (50 tai vähemmän työntekijöitä).

kun otetaan huomioon Strategy Analyticsin sijoitus mobiilikehitysympäristöissä, Xcode saavutti korkeimman sijoituksen testauskapasiteetissa samoin kuin Visual Studio. Android Studio jäi jälkeen. Kokonaispisteet olivat: Xcode-22, Visual Studio -21 ja Android Studio -13.

ottaen huomioon muita vaihtoehtoja: Xamarin vs Hybrid Development vs Native iOS/Android vs Other Cross-Platform Frameworks

viime aikoina monet kehittäjät ovat yleensä samaa mieltä siitä, että xamarinia voidaan pitää ”native” – kehitystyökaluna. Itse asiassa, on mielipide, että ” kaikki, mitä voidaan tehdä iOS-sovelluksessa Objective-C: llä tai Swiftillä, ja mitä tahansa, mitä voidaan tehdä Android-sovelluksessa Javalla, voidaan tehdä C#: ssa Xamarinin avulla.”

silti native vs Xamarin-keskustelussa on monia sudenkuoppia. Katsotaanpa, miten Xamarin vertaa alkuperäisiin kehitystyökaluihin ja hybridikehitysalustoihin (Ionic, PhoneGap/Cordova).

Xamarin vs Native vs Hybrid Development

Xamarin vs hybrid vs native development pähkinänkuoressa

vaikka hybridimobiilin kehitystyökalut kehittyvät nopeasti, niistä puuttuu silti suorituskyky ja natiivi ominaisuudet, joita Xamarin tarjoaa suurin piirtein samalla hinnalla. Kuitenkin lyhyempi aika markkinoille on edelleen niiden tärkein etu.

mitä tulee Xamarinin tai natiivin iOS / Android-version valintaan, on otettava huomioon käytettävissä oleva aika ja budjetti (natiivin kehitys on yleensä kalliimpaa ja kestää kauemmin) sekä sovelluksen tyyppi. Jos tarvitset huippuluokan suorituskykyä ja täydellisesti säädettyä käyttöliittymää, kannattaa mennä natiivisovelluksiin.

kun uusia monialustaisia kehyksiä syntyy ja kehittyy, Xamarinin on vaikeampi säilyttää asemansa markkinoilla. Nykyään monet puitteet ovat jo ohittaneet Xamarinin suosion ja suorituskyvyn suhteen. React Native äänestettiin vuoden 2020 ykkösvalinnaksi, jota seurasi tiiviisti Flutter.

Cross-platform mobile frameworks usage dynamics. Lähde: Statista

jokainen cross-platform app framework on erilainen toiminnallisuus ja rakenne. Saadaksesi paremman kuvan, tarkista vertailuartikkelit: Xamarin vs Flutter ja Xamarin vs React Native vs Ionic vs NativeScript. Esimerkiksi jälkimmäinen, vaikka se on vähemmän suosittu, olisi erityisen arvokas niille kehittäjille, jotka käyttävät Kulmapuitteita, koska ne ovat tiiviisti yhteydessä toisiinsa.

neuvo

hyviä ja huonoja puolia vertailtaessa listattuja haittoja pidetään yleensä sivullisina vahinkoina. Useimmat yritysten omistajat valitsevat Xamarin mobile app development platform, koska se vähentää aikaa markkinoille ja suunnittelu kustannukset, jakamalla koodin ja käyttämällä yhtä teknologiapinoa. Silti sovelluksen käyttötarkoitus ja sen kohdeyleisö saattavat olla vielä tärkeämpi pohdittava tekijä.

tiimimme kokemuksen perusteella Xamarinin paras käyttötapaus on enterprise mobile solutions. Standard UI, joka kattaa 90 prosenttia projekteista, kaikki keskeinen tuotelogiikka voidaan helposti jakaa eri alustoille. Näin ollen Alustan räätälöinti vie vain 5-10 prosenttia suunnittelutyöstä.

kuluttajalle suunnatuissa sovelluksissa, joissa on raskas käyttöliittymä, jaetun koodin määrä vähenee rajusti. Näin Xamarin cross-platform-kehitys menettää suuren hyötynsä ja saattaa ajan ja kustannusten osalta olla yhtä suuri kuin alkuperäisillä ratkaisuilla.

Tämä artikkeli on osa ”hyvät ja pahat” – sarjaa. Jos olet kiinnostunut web-kehityksestä, tutustu blogikirjoitukseemme

Kulmakehityksen hyvistä ja huonoista

JavaScript Full Stack-kehityksen hyvistä ja huonoista

solmun hyvistä ja huonoista.js Web App Development

the Good and The Bad of ReactJS and React Native

the good and The Bad of Swift Programming Language

the Good and The Bad of Selenium Test Automation Tool

the Good and The Bad of Android App Development

the Good and the Bad of .NET Development

the Good and The Bad of Ranorex GUI Test Automation Tool

the Good and The Bad of Flutter App Development

Vastaa

Sähköpostiosoitettasi ei julkaista.